Hallo zusammen,
ich habe zwei Fibaro Switches hinter zwei Schaltern an der Wand, die jeweils eine Leuchte schalten.
Schalter A -> Leuchte A
Schalter B -> Leuchte B
Jetzt möchte ich sowohl mit Schalter A, als auch Schalter B jeweils beide Leuchten gemeinsam schalten.
Schalter A -> Leuchte A+B
Schalter B -> Leuchte A+B
Ich habe es mit 2 notify-Befehlen probiert, was aber in einer Schleife geendet hat, in der die Lichter sich immer wieder an- und ausgeschaltet haben.
Hier mein Code:
define notifyAB notify SchalterA:reportedState:.* set SchalterB toggle
define notifyBA notify SchalterB:reportedState:.* set SchalterA toggle
Vielen Dank schon mal im Voraus!
Klaus
Schon mal an $EVENT statt toggle gedacht?
Evtl. noch einen FILTER dahinter hängen, damit eine bereits angeschaltete Leuchte erst gar keinen Befehl mehr erhält (sollte in der commandref mit dem Suchwort FILTER zu finden und dann mit etwas Phantasie zu lösen sein ;) ).
Versuch mal statt den Schalter die Lampe zu schalten
Mit toggle wird das Unfug!
defmod nty_Aktor1 notify Aktor1:(on|off) set Aktor2:FILTER=STATE!=$EVENT $EVENT
defmod nty_Aktor2 notify Aktor2:(on|off) set Aktor1:FILTER=STATE!=$EVENT $EVENT
Gruß Otto
Hättest den TE gerne knobeln lassen können...
Zitat von: Otto123 am 24 Oktober 2019, 19:35:29
Mit toggle wird das Unfug!
defmod nty_Aktor1 notify Aktor1:(on|off) set Aktor2:FILTER=STATE!=$EVENT $EVENT
defmod nty_Aktor2 notify Aktor2:(on|off) set Aktor1:FILTER=STATE!=$EVENT $EVENT
Gruß Otto
Ungetestet und evtl. kürzer (for internal use: *grins*):
defmod nty_Aktor1o2 notify Aktor[12]:(on|off) set Aktor[12]:FILTER=STATE!=$EVENT $EVENT
Mist ich habe es versaut ;D
@Beta-user sorrry da war ich zu schnell und hab nicht alle Beiträge komplett gelesen. Ich hatte die Lösung "in der Tasche" :)
Aber deine Variante ist gut und funktioniert - auf die Idee set Aktor[12] bin ich nicht gekommen :)
Herzlichen Dank an alle! Funktioniert wunderbar.
Habe ich die FILTER-Syntax richtig verstanden?
Setze Aktor 2 auf den Status $EVENT
set Aktor2 [...] $EVENT
wenn Aktor1 einen Status ungleich $EVENT hat.
[...]STATE!=$EVENT[...]
ich denke Du hast es falsch verstanden. Es wird ja der zu schaltende Aktor selbst "geprüft": Also wenn der Aktor selbst schon auf on steht - und der Event on ist - tue nichts.
Danke!