Aktion immer am nächsten Tag zu einer bestimmten Uhrzeit starten.

Begonnen von andreas_n, 20 Februar 2016, 11:02:16

Vorheriges Thema - Nächstes Thema

andreas_n

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.

Sirel

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

andreas_n

Ja das ist korrekt.
Dieser Code sollte nur ein Startimpuls geben mit der Hoffnung das jemand die Lösung weiß und entsprechend verändert.

crusader


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)