Problem:
möchte eine Aktion bedingt am nächsten Tag 13:00Uhr starten.
Es ist kein Problem [13:00] als zusätzliche Bedingung mit aufzunehmen. Wird auch wie gewünscht funktionieren wenn alle andere Bedingungen nach 13:00Uhr wahr sind.
Was kann man aber machen wenn die Bedingungen vor 13:00Uhr wahr sind? Hier müsste die erste 13:00Uhr Ausführungsmöglichkeit übersprungen werden.
([13:00] && [Spuelmaschine_DelayOn] eq "on")
(set FBDECT_18 on)
Wenn möglich bitte diesen Beispielcode entsprechend erweitern.
In Deinem Beispiel muss die Bedingung
[Spuelmaschine_DelayOn] eq "on"
um 13 Uhr erfüllt sein. Anderfalls wird nichts passieren. Wenn der Dummy "Spuelmaschine_DelayOn" also schon um 12:30 Uhr auf "on" gesetzt wird und in dem Status bis 13 Uhr verbleibt, ist die gesamte Bedingung um 13 Uhr erfüllt und Dein Befehl wird abgesetzt.
Viele Grüße,
Max
Ja das ist korrekt.
Dieser Code sollte nur ein Startimpuls geben mit der Hoffnung das jemand die Lösung weiß und entsprechend verändert.
define SpuelAlarm DOIF ([Spuelmaschine_DelayOn] eq "on")
(setreading SpuelAlarm tomorrow true)
DOELSEIF ([00:00])
(setreading SpuelAlarm today [SpuelAlarm:tomorrow],
setreading SpuelAlarm tomorrow false)
DOELSEIF ([13:00] and [?SpuelAlarm:today] eq "true")
(set FBDECT_18 on)
attr SpuelAlarm notexist machtnix
(untested)