FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Stelaku am 09 April 2023, 23:54:06

Titel: [gelöst] set_Exec mit telgram Bot an einen anderen Teilnehmer
Beitrag von: Stelaku am 09 April 2023, 23:54:06
Hallo alle zusammen und frohe Ostern

Ich habe ein Doif im perl Modus mit einen simplen timer erstellt in dem ich verzögert eine Nachricht über telegram an mein Handy haben möchte.
Das funktioniert auch alles wie gewohnt.
Wenn ich jetzt aber in diesen timer die Nachricht an ein anderen Teilnehmer senden möchte geht die Nachricht weiterhin an mein Handy.
Hier mal ein raw aus meinen Versuch.

defmod di_test DOIF subs{\
sub teilnehmer{\
fhem_set('telegramm msg @123456789 linkes Handy');;\
}\
}\
\
{\
([irgentwas]);;\
fhem_set('telegramm msg @123456789 linkes Handy');;\
set_Exec("timer1","2",'fhem_set("telegramm msg @123456789 linkes Handy")');;\
set_Exec("timer2","3",'teilnehmer()');;\
}
attr di_test alias di_test
attr di_test room Test

eigentlich sollten aus diesem test DOIF alle Nachrichten an das Handy @123456789 gehen.
gehen sie aber nicht.

fhem_set('telegramm msg @123456789 linkes Handy')                          ## geht wie es soll auf das linke Handy
set_Exec("timer1","2",'fhem_set("telegramm msg @123456789 linkes Handy")') ## geht nach zwei Sekunden auf das falsche Handy
set_Exec("timer2","3",'teilnehmer()')                                      ## geht nach drei Sekunden auf das richtige Handy
mit den single quotes und double quotes hab ich schon ohne Erfolg herumgespielt.
In FHEM Modus geht es auch ohne weiters mit
(set telegramm msg @123456789 linkes Handy)
und einen wait timer
gibt es da vieleicht eine Lösung ohne über eine sub zu gehen.

Viele Grüsse

Stephan

Titel: Aw: set_Exec mit telgram Bot an einen anderen Teilnehmer
Beitrag von: Damian am 10 April 2023, 09:44:29
Zitatset_Exec("timer1","2",'fhem_set("telegramm msg @123456789 linkes Handy")') ## geht nach zwei Sekunden auf das falsche Handy

Was ist hier das fasche Handy? Hier gibt es doch gar keine Variablen.

evtl. musst du @ maskieren mit \@
Titel: Aw: set_Exec mit telgram Bot an einen anderen Teilnehmer
Beitrag von: Stelaku am 10 April 2023, 10:05:33
Hallo Damian

vielen dank für Deine Antwort.
Und wie immer war Deine Vermutung die Richtige Lösung.
set_Exec("timer1","2",'fhem_set("telegramm msg \@424078817 linkes Handy")')
damit geht die Nachricht an das linke Handy.

Das falsche Handy so wie ich es genannt habe ist das Standart Handy im Telegram Bot an den alle Nachrichten gehen wenn nicht nach den msg ein @ mit den Teilnehmer steht.

Vielen dank für Deine schnelle hilfe.

Gruß

Stephan