Hallo!
Eine manuelle Zeitauswahl (z.B. für ein Rollo) kann man ja so programmieren:
define Rolladen_Zeit_runter dummy
attr Rolladen_Zeit_runter alias Zeit runter:
attr Rolladen_Zeit_runter devStateIcon .*:rc_BLANK
attr Rolladen_Zeit_runter icon icoUhr
attr Rolladen_Zeit_runter room Automatik
attr Rolladen_Zeit_runter setList state:time
attr Rolladen_Zeit_runter webCmd state
Man kann auf der Weboberläche nun auch die gewünschte Zeit einstellen. Nur - wie kann ich diese eingestellte Zeit übernehmen (speichern)??
Muss man da noch irgendwie ein "set state" oder so hinzufügen?
Du meinst nicht speichern, sondern die Zeit in ein at übernehmen. Das geht über notify und modifyTimeSpec $EVENT. Sie dir dafür mal modifyTimeSpec in der commandref an.
Hier ein Beispiel von meiner Kaffeemaschine:
define Kaffemaschine_an_du dummy
attr Kaffemaschine_an_du DbLogExclude .*
attr Kaffemaschine_an_du alias Kaffeemaschine Einschaltzeit Vorwahl
attr Kaffemaschine_an_du room Kueche
attr Kaffemaschine_an_du setList state:06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00
attr Kaffemaschine_an_du webCmd state
define Kaffee_an at *06:30 set Kaffeemaschine_Sw on
attr Kaffee_an DbLogExclude .*
attr Kaffee_an alias Kaffeemaschine an
attr Kaffee_an disable 0
attr Kaffee_an room Kueche
define Kaffemasch_nty notify Kaffemaschine_an_du set Kaffee_an modifyTimeSpec $EVENT
attr Kaffemasch_nty DbLogExclude .*
attr Kaffemasch_nty room Unsorted
VG
Frank
Alternativ geht es auch mit einem DOIF:
define deinDOIF DOIF ([[Rolladen_Zeit_runter]]) (set Rollo down)
attr deinDOIF do always
oder falls das Rollo auch wieder auffahren soll:
define deinDOIF DOIF ([[Rolladen_Zeit_runter]]) (set Rollo down)
DOELSEIF ([[twilight:sr]] or [Fenstersensor] eq "open") (set Rollo up)