Rules, Backlog und Websend

  • Hi,


    ich habe mir in meiner RF Bridge die mit Tasmota 8.1.0 ein paar regeln angelegt. Bei drücken eines Schalters sollen 2 Sonoffs die mit Tasmota geflasht sind geschaltet werden. Nach ein bisschen suchen habe ich heraus gefunden das ich mit BACKLOG bei erfüllung der Bedingung mehrere Befehle ausführen kann, leider funktioniert das nicht.


    Hier meine Regel


    Code
    Rule1 on rfreceived#Data=0AE032 do websend [192.168.1.56:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=0AE034 do websend [192.168.1.95:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=0AE031 do backlog websend [192.168.1.54:80] /cm?cmnd=Power%20TOGGLE; websend [192.168.1.67:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=07BBC2 do websend [192.168.1.61:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=07EAA1 do websend [192.168.1.66:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=07EAA4 do websend [192.168.1.91:80] /cm?cmnd=Power%20TOGGLE endon

    wenn ich diese in Tasmota eintrage kommen in der Konsole folgende Anzeigen


    Hier sieht alles normal aus (absichtlich nicht als Code damit ich die Entsprechende stelle hervorheben kann:


    18:33:26 CMD: Rule1 on rfreceived#Data=0AE032 do websend [192.168.1.56:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=0AE034 do websend [192.168.1.95:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=0AE031 do backlog websend [192.168.1.54:80] /cm?cmnd=Power%20TOGGLE; websend [192.168.1.67:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=07BBC2 do websend [192.168.1.61:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=07EAA1 do websend [192.168.1.66:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=07EAA4 do websend [192.168.1.91:80] /cm?cmnd=Power%20TOGGLE endon


    In der nächsten Zeile fehlt dann der 2. Befehl:


    18:33:26 MQT: stat/tasmota/RESULT = {"Rule1":"ON","Once":"OFF","StopOnError":"OFF","Free":2,"Rules":"on rfreceived#Data=0AE032 do websend [192.168.1.56:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=0AE034 do websend [192.168.1.95:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=0AE031 do websend [192.168.1.54:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=07BBC2 do websend [192.168.1.61:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=07EAA1 do websend [192.168.1.66:80] /cm?cmnd=Power%20TOGGLE endon on rfreceived#Data=07EAA4 do websend [192.168.1.91:80] /cm?cmnd=Power%20TOGGLE endon"}



    Kann mir jemand sagen wo mein Fehler ist?

  • Deine Rule ist einfach zu lange! Pro Rule sind maximal 511 Zeichen erlaubt.


    So würde sie in eine Rule passen:


    Code
    Rule1
    on rfreceived#Data=0AE032 do websend [192.168.1.56] Power 2 endon
    on rfreceived#Data=0AE034 do websend [192.168.1.95] Power 2 endon
    on rfreceived#Data=0AE031 do backlog websend [192.168.1.54] Power 2 endon;websend [192.168.1.67] Power 2 endon
    on rfreceived#Data=07BBC2 do websend [192.168.1.61] Power 2 endon
    on rfreceived#Data=07EAA1 do websend [192.168.1.66] Power 2 endon
    on rfreceived#Data=07EAA4 do websend [192.168.1.91] Power 2 endon
  • Hallo Einstein,


    leider hat deine Regel auch nicht funktioniert. Diesmal wurde zwar alles was zum backlog gehört auch gespeichert, aber trotzdem schaltet nur eine Lampe. Wie du im Konsoelenauszug sehen kannst wurde nur der erste Befehl ausgeführt


    Code
    20:34:58 MQT: stat/tasmota/RESULT = {"Rule1":"ON","Once":"OFF","StopOnError":"OFF","Free":71,"Rules":"on rfreceived#Data=0AE032 do websend [192.168.1.56] Power 2 endon on rfreceived#Data=0AE034 do websend [192.168.1.95] Power 2 endon on rfreceived#Data=0AE031 do backlog websend [192.168.1.54] Power 2 endon;websend [192.168.1.67] Power 2 endon on rfreceived#Data=07BBC2 do websend [192.168.1.61] Power 2 endon on rfreceived#Data=07EAA1 do websend [192.168.1.66] Power 2 endon on rfreceived#Data=07EAA4 do websend [192.168.1.91] Power 2 endon"}
    20:35:24 MQT: tele/tasmota/RESULT = {"Time":"2020-02-01T20:35:24","RfReceived":{"Sync":10010,"Low":350,"High":980,"Data":"0AE031","RfKey":"None"}}
    20:35:24 RUL: RFRECEIVED#DATA=0AE031 performs "backlog websend [192.168.1.54] Power 2"
    20:35:24 MQT: stat/tasmota/RESULT = {"WebSend":"Done"}
  • Hab die Rule nur kleiner gemacht und nicht auf die Logik geachtet. Beim der Zeile mit Backlog war ein "endon" zuviel!


    Code
    Rule1
    on rfreceived#Data=0AE032 do websend [192.168.1.56] Power 2 endon
    on rfreceived#Data=0AE034 do websend [192.168.1.95] Power 2 endon
    on rfreceived#Data=0AE031 do backlog websend [192.168.1.54] Power 2;websend [192.168.1.67] Power 2 endon
    on rfreceived#Data=07BBC2 do websend [192.168.1.61] Power 2 endon
    on rfreceived#Data=07EAA1 do websend [192.168.1.66] Power 2 endon
    on rfreceived#Data=07EAA4 do websend [192.168.1.91] Power 2 endon