FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: butaluk am 14 September 2016, 10:26:53

Titel: DOIF wird nicht ausgeführt
Beitrag von: butaluk am 14 September 2016, 10:26:53
Hallo,
für meine Jalousien Steuerung verwende ich DOIF's.
Zum runterfahren:

define Rollo_Kueche_runter_Uhrzeit DOIF ([[Rollo_Kueche_Zeit_runter:state]] and [Rollo_Kueche_Automatic:state] eq "an") (set UG_Kueche_Rollo position 100)

Das funktioniert auch.

Aber zum hochfahren:

define Rollo_Kueche_hoch_Uhrzeit DOIF ([[Rollo_Kueche_Zeit_hoch:state]] end [Rollo_Kueche_Automatic:state] eq "an") (set UG_Kueche_Rollo offen)

wird nicht ausgeführt.
In der Log Datei steht:
Zitat1: PERL WARNING: Bareword found where operator expected at (eval 468) line 1, near ") end"
1: PERL WARNING: Bareword found where operator expected at (eval 468) line 1, near "end ReadingValDoIf"

Hat einer einen Tipp woran es liegt?

Titel: Antw:DOIF wird nicht ausgeführt
Beitrag von: juergen012 am 14 September 2016, 10:28:26
Hallo,

end ?? mal mit and versuchen...

Gruß
Jürgen K.
Titel: Antw:DOIF wird nicht ausgeführt
Beitrag von: butaluk am 14 September 2016, 10:34:13
Danke!
Anfänger Fehler ::)
Titel: Antw:DOIF wird nicht ausgeführt
Beitrag von: Per am 14 September 2016, 10:43:26
Noch ein Tipp: Zusammenfassen!

define Rollo_Kueche_hoch_runter_Uhrzeit DOIF ([[Rollo_Kueche_Zeit_runter:state]] and [Rollo_Kueche_Automatic:state] eq "an") (set UG_Kueche_Rollo position 100)
DOELSEIF ([[Rollo_Kueche_Zeit_hoch:state]] and [Rollo_Kueche_Automatic:state] eq "an") (set UG_Kueche_Rollo offen)


Spart nebenbei noch etwas Rechenleistung.
Titel: Antw:DOIF wird nicht ausgeführt
Beitrag von: butaluk am 14 September 2016, 11:36:28
Danke für den Tipp!

Die DOIF's habe ich noch erweitert.
define Rollo_Kueche_hoch_Uhrzeit DOIF ([[Rollo_Kueche_Zeit_hoch:state]] and [Rollo_Kueche_Automatic:state] eq "an") (set UG_Kueche_Rollo offen) DOELSEIF ([{sunset("REAL",0,"06:30","09:00")}] and [Rollo_Kueche_Automatic:state] eq "sonne") (set UG_Kueche_Rollo offen)

define Rollo_Kueche_runter_Uhrzeit DOIF ([[Rollo_Kueche_Zeit_runter:state]] and [Rollo_Kueche_Automatic:state] eq "an") (set UG_Kueche_Rollo position 100) DOELSEIF ([{sunset("REAL",0,"17:30","20:00")}] and [Rollo_Kueche_Automatic:state] eq "sonne") (set UG_Kueche_Rollo geschlossen)

Muß eigentlich noch das Atribut
do always nach jedem define gesetzt werden?