Wenns geht: schonmal super.
Aber okay, mal sehen...
> define FS_Licht_aus_1 notify WZ_Logitech2:off.*
> {if("$value{HOF_Daemm1}" eq "on") { fhem("set WZ_FS_1 off") } }
> define FS_Licht_aus_2 notify HOF_Daemm1:off.*
> {if("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_FS_1 off") } }
Hm. Das ist meiner Aufassung nach unnoetig kompliziert und macht
vermutlich auch nicht was du willst.
Im ersten Fall passiert naemlich folgendes: Wenn du die Fernbedienung
auschaltest und der Daemmerungschalter auf OFF ist, bleibt das Licht
an, obwohl es draussen hell ist.
Das hast du auch schon bemerkt und das mit dem zweiten Teil
abgefangen.
Da ist wieder das Problem, das das Licht an bleibt, wenn es draussen
hell wird, aber die Fernbedienung auf AUS steht. Und das ist ja sicher
wiedersinnig. Das Gesammtbild ist aber okay, da die beiden sicher
ergaenzen.
Aber ich meine das geht einfacher,
Du willst ja, dass das Licht ausgeht, wenn es hell wird oder du das
Licht mit der Fernbedienung aus machst.
Wenn hier in jedem Falle ausgeschaltet werden soll, kannst du dir die
if Abfrage schenken.
das führt zu:
define FS_Licht_aus_1 notify WZ_Logitech2:off.* { fhem("set WZ_FS_1
off") }
define FS_Licht_aus_2 notify HOF_Daemm1:off.* { fhem("set WZ_FS_1
off") }
Da hier eigentlich kein Perl Kram gebraucht wird, müsste auch
define FS_Licht_aus_1 notify WZ_Logitech2:off.* set WZ_FS_1 off
und
define FS_Licht_aus_2 notify HOF_Daemm1:off.* set WZ_FS_1 off
gehen.
Meiner Auffassung nach ginge das ganze auch in nur 2 notifys. Ob das
aber besser ist ist ne andere Frage, uebersichtlicher wird's
jedenfalls nicht. Naemlich:
define FS_Licht_an_1 notify WZ_Logitech2 {if("$value{HOF_Daemm_1}" eq
"on") && ("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_FS_1 on")}
else { fhem("set WZ_FS_1 off")}}
define FS_Licht_an_2 notify HOF_Daemm_1 {if("$value{HOF_Daemm_1}" eq
"on") && ("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_FS_1 on")}
else { fhem("set WZ_FS_1 off")}}
Beachte, dass ich hier on und on.* gleich verwendet habe.
on.*
kann man optional verwenden, um das ganze etwas robuster zu machen.
on.* fängt nämlich auch
on-for-timer
(und on-old-for-time etc.)
ab.
Also:
("$value{WZ_Logitech2}" eq "on")
bei on = TRUE
bei on-for-timer = FALSE
("$value{WZ_Logitech2}" eq "on.*")
bei on = TRUE
bei on-for-timer = TRUE
Noch sicherer ist, nach dem Gegenteil zu testen:
("$value{WZ_Logitech2}" ne "off")
ist bei allem TRUE (auch dimup und so Kram) ausser bei off.
In deiner Situation ist das sicher egal, aber wer FS20 Fernbedienungen
benutzt ist damit gut bedient, weil man da ja gerne mal den Hauch zu
lange draufdrueckt, und dann sendet die dimup und dann scheitert die
Abfrage.
Man hat zwar den richtigen Knopf gedrueckt, aber nix passiert. Das ist
insbesondere ein WAF Problem, denn was macht der FS20- Laie, wenn nix
passiert? Richtig: Doller und laenger druecken...
> Ich danke Dir recht herzlich für die Unterstützung, hab dabei einiges
> gelernt. (Syntax)...
:-)