FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Joachim2112 am 07 Juli 2020, 09:18:05

Titel: TelegramBot Favorit mit Variablen
Beitrag von: Joachim2112 am 07 Juli 2020, 09:18:05
Hallo,

ich hätte gern in den Favoriten meines TelegramBots einen Wert (Zeitwert) inkrementiert.
Meine Codeidee war:

attr myTelegramBot favorites /[change zeit1]={my $myzeit1=ReadingsVal("zeit1","state",0);;;;if($myzeit1<1200)($myzeit1=myzeit1+100)else($myzeit1=30);;;;set zeit1 $myzeit1};;

Soweit ich verstanden habe müssen die 4 Semikolon für die Trennung der einzelnen Befehle in einem Favoriten sein.

Aber ich bekomme eine Fehlermeldung Meldung "Unknown command {my, try help."
Irgendwie ist mir das ja sogar klar, weil die Variable hier scheinbar nicht so angelegt werden kann. Ich arbeite sonst in defines (z.B. at ... erfolgreich mit my ...).
Mir ist nur nicht klar wie ich hier am Besten vorgehen kann.

Hat jemand eine Idee ????

Titel: Antw:TelegramBot Favorit mit Variablen
Beitrag von: Beta-User am 07 Juli 2020, 09:56:43
Was die konkrete Umsetzung innerhalb der Favoriten angeht, bin ich auch etwas ratlos und würde sowieso empfehlen, das in eine myUtils-Routine auszulagern. Da kannst du besser testen und im log stehen dann vermutlich ein paar aufschlussreichere Infos ;) .

Es sind aber im Perl-Code auch mindestens zwei Fehler drin: zum einen sind die if - else - Blöcke in geschweiften Klammern {} zu schreiben, nicht in runden, und zum anderen kannst du nicht so einfach zwischen der Perl- und  FHEM-Befehlsebene hin- und herwechseln. Das abschließende "set"-Kommando muß als fhem("set...") notiert werden.