FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: schnuddel am 24 Oktober 2019, 15:37:58

Titel: [Gelöst] Zwei Leuchten mit zwei Schaltern schalten
Beitrag von: schnuddel am 24 Oktober 2019, 15:37:58
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
Titel: Antw:Zwei Leuchten mit zwei Schaltern schalten
Beitrag von: Beta-User am 24 Oktober 2019, 15:47:06
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 ;) ).
Titel: Antw:Zwei Leuchten mit zwei Schaltern schalten
Beitrag von: Eistee am 24 Oktober 2019, 18:34:48
Versuch mal statt den Schalter die Lampe zu schalten
Titel: Antw:Zwei Leuchten mit zwei Schaltern schalten
Beitrag 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
Titel: Antw:Zwei Leuchten mit zwei Schaltern schalten
Beitrag von: Beta-User am 24 Oktober 2019, 19:41:34
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
Titel: Antw:Zwei Leuchten mit zwei Schaltern schalten
Beitrag von: Otto123 am 24 Oktober 2019, 19:56:40
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 :)
Titel: Antw:Zwei Leuchten mit zwei Schaltern schalten
Beitrag von: schnuddel am 25 Oktober 2019, 08:39:08
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[...]

Titel: Antw:Zwei Leuchten mit zwei Schaltern schalten
Beitrag von: Otto123 am 25 Oktober 2019, 09:03:45
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.
Titel: Antw:[Gelöst] Zwei Leuchten mit zwei Schaltern schalten
Beitrag von: schnuddel am 25 Oktober 2019, 09:54:42
Danke!