FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: tplus am 21 Februar 2018, 11:21:18

Titel: DOIF: Befehl auslösen in einem Zeitraum
Beitrag von: tplus am 21 Februar 2018, 11:21:18
Hallo,

bei mir friert ein Dachfensterrollo gerne ein, deswegen möchte ich es schon tagsüber schließen wenn es kalt ist. DOIF führt diesen Befehl aber nicht aus:

([13:00-23:55] and [netatmo_aussen:temperature]<3)
(set schlaf.rollo on)


Wo ist der Fehler?
Titel: Antw:DOIF: Befehl auslösen in einem Zeitraum
Beitrag von: Otto am 21 Februar 2018, 11:33:22
Es liegt an der Klammersetzung!

([13:00-23:55] and ([netatmo_aussen:temperature]<3))
(set schlaf.rollo on)


So müsste es gehen
Titel: Antw:DOIF: Befehl auslösen in einem Zeitraum
Beitrag von: Otto123 am 21 Februar 2018, 11:37:25
Mir hilft da immer die Tabelle, wenn man Klammern sparen will  :D
http://perldoc.perl.org/perlop.html#Operator-Precedence-and-Associativity

Gruß Otto
Titel: Antw:DOIF: Befehl auslösen in einem Zeitraum
Beitrag von: TomLee am 21 Februar 2018, 11:42:09
Hallo,

wenn das so ist, dann stimmt doch was mit dem Beispiel gleich am Anfang der commandref nicht ?

Kombinierte Ereignis- und Zeitsteuerung

define di_lamp DOIF ([06:00-09:00] and [sensor:brightness] < 40) (set lamp on) DOELSE (set lamp off)


Gruß

Thomas

edit:

hab das gerade mal getestet und es liegt an den fehlenden Leerzeichen.

Zitat([13:00-23:55] and [netatmo_aussen:temperature] < 3)
(set schlaf.rollo on)

Titel: Antw:DOIF: Befehl auslösen in einem Zeitraum
Beitrag von: tplus am 21 Februar 2018, 12:28:34
Besten Dank, funktioniert jetzt.