Autor Thema: TelegramBot Favorit mit Variablen  (Gelesen 252 mal)

Offline Joachim2112

  • New Member
  • *
  • Beiträge: 11
TelegramBot Favorit mit Variablen
« 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 ????


Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 11934
  • eigentlich eher "user" wie "developer"
Antw:TelegramBot Favorit mit Variablen
« Antwort #1 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.
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | BT@OpenMQTTGateway
svn:MySensors, WeekdayTimer, RandomTimer, Twilight,  AttrTemplate => {mqtt2, mysensors, zwave}

 

decade-submarginal