FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: TiPpFeHlEr am 02 Juni 2018, 09:32:01

Titel: doif Zeitraum aus dummy Werten
Beitrag von: TiPpFeHlEr am 02 Juni 2018, 09:32:01
Hallo,

habe ein Problem mit doif Zeitspanne
folgendes geht:
([DS18B20_FFBEE8331604:temperature]>([Klima_Soll]+[Klima_Diff])
and [Klima_Modus] eq "auto"
and [Klima] eq "off"
and [Anwesenheit] eq "present"
and [07:00-21:00]
and [HzMode_Einstellen:state] eq "Sommer")
(set Klima on)

geht nicht:
([DS18B20_FFBEE8331604:temperature]>([Klima_Soll]+[Klima_Diff])
and [Klima_Modus] eq "auto"
and [Klima] eq "off"
and [Anwesenheit] eq "present"
and [[[Klima_Zeit_hoch:state]]-[[Klima_Zeit_runter:state]]]
and [HzMode_Einstellen:state] eq "Sommer")
(set Klima on)


Klima_Zeit_hoch & Klima_Zeit_runter sind dummy''s zum Zeit wählen
wie muss der code aussehen damit die dummy Zeiten richtig erkannt werden?

mfg maik
Titel: Antw:doif Zeitraum aus dummy Werten
Beitrag von: Ellert am 02 Juni 2018, 09:40:18
So, wie im Beispiel für indirekte Zeitangaben in Zeitspannen der Commandref zu DOIF, achte auf die Anzahl und den Typ der Klammern.
Titel: Antw:doif Zeitraum aus dummy Werten
Beitrag von: TiPpFeHlEr am 02 Juni 2018, 18:46:41
hi Ellert,

Die hatte ich schon gelesen,  :)
der Fehler lag weiter unten im code, zum Ausschalten der Klima.

([DS18B20_FFBEE8331604:temperature]>([Klima_Soll]+[Klima_Diff])
and [Klima_Modus] eq "auto"
and [Klima] eq "off"
and [Anwesenheit] eq "present"
and [[Klima_Zeit_hoch]-[Klima_Zeit_runter]]
and [HzMode_Einstellen:state] eq "Sommer")
(set Klima on)
DOELSEIF ([DS18B20_FFBEE8331604:temperature]<([Klima_Soll]-[Klima_Diff])
and [Klima] eq "on"
and [Klima_Modus] eq "auto")
(set Klima off)
DOELSEIF ([([Klima_Zeit_runter]+[00:01:00])])
(set Klima off)
DOELSEIF ([Anwesenheit] eq "absent")
(set Klima off)
DOELSEIF ([Klima_Modus] eq "on")
(set Klima on)
DOELSEIF ([Klima_Modus] eq "off")
(set Klima off)


der Ausschaltpunkt kann nicht geich dem Einschaltzeitraum sein,
also beide zb. 21:00
der letzte Einschaltpunkt darf dann max 20:59:59 sein oder der Ausschaltpunkt 21:00:01

also lasse ich nun den Ausschaltpunkt um 1 Minute nach hinten verschieben.

Danke für deine Hilfe

mfg maik