warum kommt "websend [IP3....] " zweimal vor? Kopierfehler?
In der Tat ein Kopierfehler. Sorry, da haben sich mehrere Flüchtigkeitsfehler eingeschlichen.
Das kommt davon wenn man nicht mehr Korrektur liest ... und manchmal zeigt der Bowser ein merkwürdiges Verhalten beim Zeilenspung wenn ich poste.
rule2 on Energy#Power<WERT do backlog Power1 0; ruletimer1 600 endon on rules#timer=1 do backlog websend [<IP2>,<user>:<password>] POWER1 1; websend [<IP3>,<user>:<password>] POWER1 0; websend [<IP4>,<user>:<password>] POWER1 0; websend [<IP5>,<user>:<password>] POWER1 0 endon
rule3 on power#state=0 do ruletimer2 3600 endon on rules#timer=2 do backlog websend [<IP3>,<user>:<password>] POWER1 1; websend [<IP4>,<user>:<password>] POWER1 0 endon; websend [<IP5>,<user>:<password>] POWER1 0; websend [<IP5>,<user>:<password>] POWER1 0; websend [<IP2>,<user>:<password>] POWER1 0 endon
Die Rule3 macht im Prinzip dasselbe wie die Rule 2 nur das als Trigger nicht die Energiemessung verwendet wird sondern das fehlen eines Ausschaltbefehls der ja regelmäßig von den anderen gesendet wird. Kommt der nicht innerhalb einer Stunde wird dann nicht der nächste sondern der übernächste eingeschaltet. Ob das wirklich so sinnvoll ist bin ich mir nicht ganz sicher, weil hier ja keine Energieabfrage durchgeführt wird.
Mein Gedanke war: Schalten alle immer schön gleichmäßig der Reihe durch aber einer bekommt mal aufgrund WLAN Probleme etc. keinen Einschaltbefehl, ist die Kette ja unterbrochen und es werden keine Ein und auch keine Ausschaltbefehle an die anderen SOnoffs geschickt.
In dem Falle würde egal bei welchem irgendwann der Timer ablaufen, er schaltet dann aber den ein der nicht als nächstes (falls der das Problem ist sondern den übernächste) und die Kette wird wieder aufgenommen. Ist der übernächste defekt, läuft bei irgendeinem anderen der Timer aus und dort wird dann der übernächste geschaltet.
Da fällt mir ein eigentlich muss der ruletimer auch noch zurückgesetzt werden wenn der Sonoff einschaltet sonst könnte er ja während der Heizzeit ablaufen und einen anderen einund somit sich selbst ausschalten.
rule3 on power#state=0 do ruletimer2 3600 endon on power#state=1 do ruletimer2 3600 endon on rules#timer=2 do backlog websend [<IP3>,<user>:<password>] POWER1 1; websend [<IP4>,<user>:<password>] POWER1 0; websend [<IP5>,<user>:<password>] POWER1 0; websend [<IP5>,<user>:<password>] POWER1 0; websend [<IP2>,<user>:<password>] POWER1 0 endon
Und die IP's müssen natürlich bei jedem Sonoff versetzt sein das er eben immer den nächsten und im Störungsfall nach einer Stunde den übernächsten schaltet.
funktioniert bei "websend" auch "backlog" - sprich könnte ich so zu IPx mehrere Kommandos als Paket senden?
Sicher! Das mach ich ja in den Rules hier. Ein Trigger und im do Befehl wird durch backlog meherer Befehle also Websend's an alle anderen ausgelöst. Bsp. Rule des 1.Sonoff's schaltet den 2. ein, den 3 aus, den 4 und 5 aus. (und setzt mit dem Auschaltbefhl deren Timer2 zurück)
könnte ich auch per "websend" beim Empfänger ein "ruletimer2 5" senden/einstellen ... oder "mem1 10" ?
oder....
Hmmm musste eigentlich auch gehen. Aber an der Stelle steig ich dann aus.
Kleiner Tipp:https://github.com/arendst/Sonoff-Tasmota/issues/4372
ZitatAlles anzeigenYour first statement is right. Can be solved with the following example.
And the triggers of the rules are being evaluated in the same order they were written. So, no issue there.
Example:
Teleperiod 60
rule1
On tele-energy#voltage do var1 %value% endon
On tele-Energy#Power do var2 %value% endon
On tele-Energy#Current do backlog var3 %value%; event senddata endon
On event#senddata do websend [] /uri/<%var1%,%var2%,%var3% endon