[Gelöst]DOIF Fehler condition c01:(Missing operator before and::ReadingValDoIf?)

Begonnen von Kuehnhackel, 26 November 2019, 20:08:37

Vorheriges Thema - Nächstes Thema

Kuehnhackel

Habe folgendes vor:

Wenn Dämmerungsschalter = on, sollen zwei Lampen angehen, wegen Anwesenheit und so:
defmod Bew_Test_DOIF_1
DOIF ([16:00-19:45] and [Daemmerungsschalter_1:state] eq "on") (set Fenster_WZ on)(set Wanduhr on) DOELSEIF (set Fenster_WZ off)(set Wanduhr off)
attr Bew_Test_DOIF_1 room Wohnzimmer
attr Bew_Test_DOIF_1 wait 1,7:1,7:1,7

Das funktioniert und es gibt keine Fehlermeldung

In der Zeit von 19:45-15:59 des Folgetages, sollen die Lampen nur über Bewegungsmelder eingeschaltet werden.
defmod Bew_Test_DOIF_2
DOIF ([19:46-15:59] and [BewM_Diele:state] eq "on") (set Fenster_WZ on) (set Wanduhr on) DOELSEIF ([BewM_Diele:state] eq "off")(set Fenster_WZ off)(set Wanduhr off)
attr Bew_Test_DOIF_1 do resetwait
attr Bew_Test_DOIF_2 room Wohnzimmer
attr Bew_Test_DOIF_1 wait 1,7:1,7:1,7

Da kommt dann im Reading die Fehlermeldung:
error condition c01: syntax error, and::ReadingValDoIf"
bzw.
warning condition c01:(Missing operator before and::ReadingValDoIf?)

1. Frage, wie kann man beide DOIFs zusammenschreiben?
2. Wo liegt mein Fehler?

Danke schon mal für die Hilfe

amenomade

ZitatCode: [Auswählen]

defmod Bew_Test_DOIF_1
DOIF ([16:00-19:45] and [Daemmerungsschalter_1:state] eq "on") (set Fenster_WZ on)(set Wanduhr on) DOELSEIF (set Fenster_WZ off)(set Wanduhr off)
attr Bew_Test_DOIF_1 room Wohnzimmer
attr Bew_Test_DOIF_1 wait 1,7:1,7:1,7

Das funktioniert und es gibt keine Fehlermeldung

Es würde mich wundern, dass es wie gewünscht funktioniert....!!

Bei mir geht das 2. Was hast Du für eine DOIF Version? Und bitte ein vollständiges "list" vom DOIF
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Kuehnhackel


amenomade

Cool. Wir sehen uns wieder, wenn DOIF_1 nicht wie gewünscht funktioniert? ;)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

rabehd

ZitatEs würde mich wundern, dass es wie gewünscht funktioniert....!!
Mich auch.
Auch funktionierende Lösungen kann man hinterfragen.

Kuehnhackel


amenomade

Weil DOELSEIF eine Bedingung braucht. Der erste set Befehl wird als Bedingung interpretiert.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

rabehd

Auch funktionierende Lösungen kann man hinterfragen.

Kuehnhackel

okay, danke. :)

Werde ich dann gleich ändern  ;)

Das "wait" habe ich bewußt genommen, da sich der CUL manchmal verschluckt (hat).
Ist mir extrem bei den Rolladen aufgefallen, deswegen lass ich jetzt die Befehle nacheinander mit Verzögerung "abarbeiten".

rabehd

Auch funktionierende Lösungen kann man hinterfragen.

Kuehnhackel