Hallo zusammen,
in meinen Doif habe ich feste Zeitangaben hinterlegt:
## Rollladen soll zum Sonnuntergang runtergefahren werden wenn die Türe geschlossen ist
DOELSEIF ([{sunset (0,"20:00","21:00")}] and [?KT_EG_FLUR_TUE] eq "closed" and [?RL_EG_FLUR_TUE] eq "up")
(set RL_EG_FLUR_TUE down)
Die Änderung kann ich somit nur direkt im Code durchführen.
Ich möchte jetzt aber die Zeit via Web UI einstellen. Es langt auch eine genaue Zeit einzustellen z.b. 20:30 ohne den Zeitraum.
Gibt es die Möglichkeit das umzusetzen?
Gruß
Michael
Ja, zumindest über einen kleinen Umweg (da du ja nicht die Zeit direkt abfragst, das würde DOIF inzwischen selbst können). Du kannst die Zeit(en) in Dummies speichern und diese im Frontend setzen.
Wie Du Zeiten im DOIF über FHEMWEB setzen kannst, ist hier beschrieben:
https://wiki.fhem.de/wiki/DOIF/Ein-_und_Ausgabe_in_FHEMWEB_und_Tablet-UI_am_Beispiel_einer_Schaltuhr
Indirekte Zeitangaben funktionieren auch in "sunset" usw. Etwa so [{sunset (0,"[<Reading im DOIF Beginn>]","[<Reading im DOIF Ende>]")}]
Zeitspanne [[<Reading im DOIF Beginn>]]-[<Reading im DOIF Ende>]]]
Weitere Beispiele https://wiki.fhem.de/wiki/DOIF/Labor_-_ausf%C3%BChrbare,_praxisnahe_Beispiele_als_Probleml%C3%B6sung_zum_Experimentieren
Das was Ellert geschrieben hat, wollte ich auch schreiben, nur war er schneller. Also hier mal ein Beispiel (für den Import über RAW-Definition) für das direkte Schalten von Zeiten ohne Dummy's. Ich kann nicht sehen, warum das nicht auch in obigem DOIF eingebaut werden kann:
defmod di_demo_Zeitschaltuhr DOIF ([[$SELF:P_mybegin,"08:00"]])\
(einschalten)\
DOELSEIF ([[$SELF:P_myend,"20:00"]])\
(ausschalten)
attr di_demo_Zeitschaltuhr alias Schaltuhr Demo
attr di_demo_Zeitschaltuhr devStateIcon disabl.*:general_aus_fuer_zeit:enable initi.*|cmd.*:general_an_fuer_zeit:disable .*rro.*:icoTool
attr di_demo_Zeitschaltuhr readingList P_mybegin P_myend
attr di_demo_Zeitschaltuhr room DOIF_Labor
attr di_demo_Zeitschaltuhr setList P_mybegin:time P_myend:time
attr di_demo_Zeitschaltuhr webCmd P_mybegin:P_myend
setstate di_demo_Zeitschaltuhr 2017-05-01 00:05:01 P_mybegin 08:15
setstate di_demo_Zeitschaltuhr 2017-05-01 00:05:01 P_myend 19:20
setstate di_demo_Zeitschaltuhr 2017-05-01 00:05:01 mode enable
exemplarische Grüße
Niels