Hallo,
ich benutzte das Twilight Module um Sunset und Sunrise berechnen. In meinem DOIF ist ein IF, welches nur in der Zeit zwischen sr_indoor und ss_civil ausführen soll. Ausführen tut er das IF aber immer. Wo habe ich einen Denkfehler oder gehen Zeitintervalle mit Readings nicht? Dann die Frage, wie ich es anders lösen kann.
Vielen Dank schon einmal
Zitat([?$SELF:mybutton] eq "Automatik" and
[rr_Kai:state] eq "home" )
(setreading doif.beschattung_automatik mybutton An,
setreading doif.rollladen_automatik mybutton An,
IF ([Twilight:sr_indoor]-[Twilight:ss_civil])
(set dummy.rollladen Automatik_Rollladen_hoch)
([Twilight:sr_indoor]-[Twilight:ss_civil])
ist immer wahr, solange sr_indoor und ss_civil nicht gleich sind (Egebnis der Substraktion = 0).... was eigentlich ganz selten passiert.
Deswegen wirdIF ([Twilight:sr_indoor]-[Twilight:ss_civil])
immer ausgeführt.
IF kann keine Zeitintervalle abfragen, DOIF könnte Zeitintervalle verarbeiten, dann aber meiner Meinung nach so
([[Twilight:sr_indoor]-[Twilight:ss_civil]])
https://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung
Gruß Otto
Zitat von: Otto123 am 20 Juli 2017, 16:12:20
IF kann keine Zeitintervalle abfragen, DOIF könnte Zeitintervalle verarbeiten, dann aber meiner Meinung nach so
([[Twilight:sr_indoor]-[Twilight:ss_civil]])
https://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung
Gruß Otto
Danke, hab das DOIF ein wenig umgestrickt und das in ein eigenes DOIFELSE gepackt - funktioniert anscheinend :-)
;)
Ich muss mal meine Aussage präzisieren: klar könnte man z.B. { FmtTime(time()) } abfragen (https://forum.fhem.de/index.php?topic=11348.0) und zwei Zeitgrenzen einen Vergleich bauen. Aber eben einfach so IF (Zeitintervall) geht meines Wissens nicht.