FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Bytechanger am 13 August 2016, 18:22:40

Titel: Mit Telegrambot an bestimmten User senden?
Beitrag von: Bytechanger am 13 August 2016, 18:22:40
Hi,

habe seit einiger Zeit TelegramBot als Notalternative zu WhatsApp installiert. Wenn WhatsApp mal wieder ausfällt (wie jetzt) geht alles über Telegrambot.

Nun wollte ich einem bestimmten (bekannten) benutzer eine Nachricht senden.
Irgendwie kommt die aber immer nur bei der standard ID an??
Was mache ich falsch?

Sende mit
{ fhem "set Telegram message @123456 teest";; }

Die ID ist bekannt und auch in der Liste des zuletzt empfangenen Nachricht (msgPeerId).
Trotzdem kommt es immer bei der defaultPeer an?!

Greets

Byte
Titel: Antw:Mit Telegrambot an bestimmten User senden?
Beitrag von: JoWiemann am 13 August 2016, 19:26:57
Hallo,

das Problem ist das @. So sollte es funktionieren:

{ fhem "set Telegram message " . '@123456' . " teest";; }

Grüße Jörg
Titel: Antw:Mit Telegrambot an bestimmten User senden?
Beitrag von: DeeSPe am 13 August 2016, 22:43:11
Zitat von: JoWiemann am 13 August 2016, 19:26:57
Hallo,

das Problem ist das @. So sollte es funktionieren:

{ fhem "set Telegram message " . '@123456' . " teest";; }

Grüße Jörg

Geht auch so:
{ my $id = 123456789;; fhem("set Telegram message @".$id." teest");; }
Die Variable $id kann natürlich auch anders befüllt werden. Ich benutze dabei z.B. ein userattr TelegramID welches ich jedem Bewohner hinzugefügt habe.

Gruß
Dan
Titel: Antw:Mit Telegrambot an bestimmten User senden?
Beitrag von: Jack-Luck am 28 Februar 2019, 11:15:42
Hi,

stehe jetzt auch vor dem Problem das ich eine Nachricht nur an einem Empfänger Senden möchte, was allerdings nicht geht.


3DDrucker:progress_completion_percent:.* {
    if (Value($NAME) eq "Printing") {
        my $progressPercent = ReadingsNum($NAME, "progress_completion_percent", 0);
        if ($progressPercent % 5 == 0) {
            fhem("get 3DDruckerKamera image");
            fhem("sleep 2; set telebot sendImage @123456789 ./www/snapshots/3DDruckerKamera_snapshot.jpg Fortschritt: $progressPercent %");
        }
    }
}


gebe ich jedoch das direkt bei Fhem ein, dann klappt das.
set telebot sendImage @123456789 ./www/snapshots/3DDruckerKamera_snapshot.jpg Fortschritt: $progressPercent %

Danke für eure Unterstützung
Titel: Antw:Mit Telegrambot an bestimmten User senden?
Beitrag von: t1me2die am 28 Februar 2019, 11:17:46
Probiere es mal wie folgt:


3DDrucker:progress_completion_percent:.* {
    if (Value($NAME) eq "Printing") {
        my $progressPercent = ReadingsNum($NAME, "progress_completion_percent", 0);
        if ($progressPercent % 5 == 0) {
            fhem("get 3DDruckerKamera image");
            fhem("sleep 2; set telebot sendImage \@123456789 ./www/snapshots/3DDruckerKamera_snapshot.jpg Fortschritt: $progressPercent %");
        }
    }
}


Gruß Mathze
Titel: Antw:Mit Telegrambot an bestimmten User senden?
Beitrag von: DeeSPe am 28 Februar 2019, 11:18:38
Innerhalb von Perl muss das @ escaped werden.
Also:
fhem("sleep 2; set telebot sendImage \@123456789 ./www/snapshots/3DDruckerKamera_snapshot.jpg Fortschritt: $progressPercent %");

Gruß
Dan

EDIT: Huch, da war jemand schneller und ich habe es beim Absenden nicht bemerkt!