Hey,
ich dachte eigentlich ich hätte das DOIF verstanden, aber meins ist so definiert:
([{sunset("CIVIL",0,"18:00","[end]")}-{sunrise("CIVIL",0,"[begin]","10:00")}] and [Jemand] eq "home" and [LichtBeiSonnenuntergang] eq "on") (set WohnzimmerLampen on ; set SchlafzimmerLampen on)
und sollte damit eigentlich dafür sorgen, dass wenn jemand auf "home" wechselt und der dummy LichtBeiSonnenuntergang auf on ist und dabei auch noch die Sonne unten ist, das Licht an geht...
Jetzt ist aber heute morgen um 5:59 pünktlich zum SonnenAUFGANG... das Licht angegangen!? :D
Was mache ich falsch? :(
Patrick
EDIT:
Meine poor mans Lösung ist: ein dummy für Sonne den ich mit 2 DOIFs an und ausschalte... :/
Hi,
Zitat(set WohnzimmerLampen on ; set SchlafzimmerLampen on)
ich weiß nicht was DOIF damit tut - aber laut Doku ist das Semikolon falsch: https://commandref.fhem.de/commandref_DE.html#DOIF_Angaben_im_Ausfuehrungsteil
Vermutung: Je nach dem wie das komplette DOIF aussieht (list ?) wird ein wiederholter Trigger z.B. von Jemand (ohne Statuswechsel) 1ms vor dem Sonnenaufgang auch das Licht anschalten.
Auch Änderungen in "end" und "begin" werden wohl das DOIF triggern?
Gruß Otto
Du kannst:
1) Trigger beim Zeitintervall rausnehmen [?{sunset("CIVIL",0,"18:00","[end]")}-{sunrise("CIVIL",0,"[begin]","10:00")}]
2) Statt auf Status [Jemand] eq "home" auf ein Event reagieren [Jemand:"home"]
3) 1) und 2) nutzen
Semikolon zwischen den Befehlen geht beim DOIF inzwischen auch.
wobei 1) verhindert, dass das Licht zum Sonnenuntergang angeht, wenn Jemand schon zu Hause ist - er bleibt dann im Dunkeln.