Hallo an Alle
ich habe ein DOIF zur Steuerung meiner Terassentürrolllade geschrieben welches auch funktionierte. Das Rollo soll, wenn die Tür offen ist nicht herunter fahren sondern nur, wenn die Tür zu oder gekippt ist. Das tat sie am Anfang auch aber jetzt nicht mehr und ich finde den Fehler nicht. Kann von euch mal einer drüber gucken und mir helfen?
([({twilight("TC_TWILIGHT","sr_civil","06:00","9:00")} - 90 + rand(180))]) ((set RolloWzTuer Hoch), set RolloWzTuerKipp1 1)
DOELSEIF ([({twilight("TC_TWILIGHT","ss_civil","19:37","22:00")} - 90 + rand(180))] and [GriffWzTuer:state] eq "closed" || "tilted") ((set RolloWzTuer Runter), set RolloWzTuerKipp1 0)
Wenn die Tür offen ist soll Fhem einfach garnichts machen. Der Zustand "open" taucht auch in dem DOIF nirgends auf die Rolllade schließt aber dennoch.
Danke schonmal..
Grüße
Christian
Zitat von: seule3008 am 11 März 2017, 19:45:13
Hallo an Alle
ich habe ein DOIF zur Steuerung meiner Terassentürrolllade geschrieben welches auch funktionierte. Das Rollo soll, wenn die Tür offen ist nicht herunter fahren sondern nur, wenn die Tür zu oder gekippt ist. Das tat sie am Anfang auch aber jetzt nicht mehr und ich finde den Fehler nicht. Kann von euch mal einer drüber gucken und mir helfen?
([({twilight("TC_TWILIGHT","sr_civil","06:00","9:00")} - 90 + rand(180))]) ((set RolloWzTuer Hoch), set RolloWzTuerKipp1 1)
DOELSEIF ([({twilight("TC_TWILIGHT","ss_civil","19:37","22:00")} - 90 + rand(180))] and [GriffWzTuer:state] eq "closed" || "tilted") ((set RolloWzTuer Runter), set RolloWzTuerKipp1 0)
Wenn die Tür offen ist soll Fhem einfach garnichts machen. Der Zustand "open" taucht auch in dem DOIF nirgends auf die Rolllade schließt aber dennoch.
Danke schonmal..
Grüße
Christian
falsche Syntax.
Besser:
([({twilight("TC_TWILIGHT","sr_civil","06:00","9:00")} - 90 + rand(180))])
(set RolloWzTuer Hoch, set RolloWzTuerKipp1 1)
DOELSEIF ([({twilight("TC_TWILIGHT","ss_civil","19:37","22:00")} - 90 + rand(180))]
and ([GriffWzTuer:state] eq "closed" or [GriffWzTuer:state] eq "tilted"))
(set RolloWzTuer Runter, set RolloWzTuerKipp1 0)
Vielen Dank
Dachte das || auch oder heißt.
Zitat von: seule3008 am 11 März 2017, 20:01:35
Vielen Dank
Dachte das || auch oder heißt.
das stimmt, aber auch:
[GriffWzTuer:state] eq "closed" or "tilted"
würde nicht funktionieren.
var = a or b
funktioniert in keiner Programmiersprache, wie du es meinst.
Okay also immer komplett ausführen. Vielen Dank.
Zitat von: seule3008 am 11 März 2017, 20:14:29
Okay also immer komplett ausführen. Vielen Dank.
Wenn du mal reguläre Ausdrücke studiert hast, dann kannst du auch angeben:
[GriffWzTuer:state] =~ "closed|tilted"
Ich hab eigentlich keine Ahnung von Programmiersprache. Habe mir das nur zusammen gegooled. Ich muss mal nach einem leicht verständlichen Handbuch für perl suchen, wo solche Sachen erklärt sind.
Zitat von: seule3008 am 11 März 2017, 20:33:01
Ich hab eigentlich keine Ahnung von Programmiersprache. Habe mir das nur zusammen gegooled. Ich muss mal nach einem leicht verständlichen Handbuch für perl suchen, wo solche Sachen erklärt sind.
ja, reguläre Ausdrücke sind eine Wissenschaft für sich ;)
Hier kannst du anfangen: https://wiki.selfhtml.org/wiki/Perl/Regul%C3%A4re_Ausdr%C3%BCcke