FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: koldomon am 28 Oktober 2024, 13:23:39

Titel: "Lost in syntax" mit Zeiten im Ausführungsteil
Beitrag von: koldomon am 28 Oktober 2024, 13:23:39
Ich krieg die Syntax für den Ausführungteil nicht hin.

gegeben:
    dummy 02_OG_Day_Start_Weekend = "08:00"
    dummy isWeekend = "on"
    dummy 02_OG_Day_Start = ""

gesucht:
    02_OG_Day_Start = {sunrise_abs(7200, "[02_OG_Day_Start_Weekend]-[01:00]", "[02_OG_Day_Start_Weekend]+[01:00]")}

DoIf:
    (([03:30]) and ([isWeekend] eq "off") and ([isFeiertag] eq "off") and ([isHoliday] eq "off"))
        (set 02_OG_Day_Start [02_OG_Day_Start_Work], set 02_OG_Day_End {(sunset_abs())})
    DOELSEIF (([03:30]) and (([isWeekend] eq "on") or ([isFeiertag] eq "on") or ([isHoliday] eq "on")))
        (set 02_OG_Day_Start {sunrise_abs(7200,"([([[02_OG_Day_Start_Weekend]]-[01:00])])","")}, set 02_OG_Day_End {(sunset_abs())})
aktuelles Ergebniss:
    02_OG_Day_Start = "{sunrise_abs(7200,"([([08:00]-[01:00])])","")}" (genau dieser Text)

Der Ausdruck "([([[02_OG_Day_Start_Weekend]]-[01:00])])" funktioniert im Prüfbereich des DoIf, aber irgendwie nicht im Ausführungsbereich. Was mach ich falsch, bzw. welche Klammern müssen (warum) wo hin?

Hintergrundinfo: An dem "02_OG_Day_Start" hängen jeweils weitere DoIf's, welche die Heizung und die Rolladen steuern. Ich hätte gerne (pro Etage) ein "Day_Start" und "Day_End", das täglich aktualisiert wird (und auch bei der Zeitumstellung die richtigen Werte hat).

Danke im Voraus
Titel: Aw: "Lost in syntax" mit Zeiten im Ausführungsteil
Beitrag von: Damian am 28 Oktober 2024, 15:50:30
Im Ausführungsteil kannst du im Gegensatz zur DOIF-Bedingung nicht mit Zeiten rechnen.