FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: M_I_B am 05 Juli 2016, 14:51:35

Titel: DOIF/DOELSEIF wait - Problem ...
Beitrag von: M_I_B am 05 Juli 2016, 14:51:35
Hallo liebe Leute,

Folgender Code:

define HZ_wt dummy
attr HZ_wt setList off auto on
attr HZ_wt webCmd :


define BR_manu DOIF ([HZ_wt] eq "on") (set HM4SW9_1 on-for-timer 500,(set HM4SW9_(2|3|4) on-for-timer 600),set HZ_wt auto) \
DOELSEIF ([HZ_wt] eq "off") ((set HM4SW9_(1|2|3|4) off))
attr BR_manu wait 1,1,1,1,605:10
attr BR_manu do always


Frage 1:
Bezieht sich die Angabe bei wait auf die Anzahl der SET- Befehle (erste Zeile DOIF) oder die Anzahl der mit SET ausgeführten Befehle?
HM2SW9_1 ist die erste Stelle; klar. Aber dann kommt die Klammerung... dafür eine Stelle oder drei (weil drei Aktionen)?

Frage 2:
Bei diesem Konstrukt (mit wait 1,1,605:10 oder auch wait 1,1,1,1,605:10) wird HZ_wt jeweils sofort auf AUTO gesetzt und nicht wie erwartet in 605 Sekunden...


... au Backe :o Man sollte vielleicht die REF mal gründlich lesen; das mit dem Aufteilen in einzelne Klammerblöcke habe ich jetzt bestimmt 100 mal überlesen  >:( >:( >:(

Titel: Antw:DOIF/DOELSEIF wait - Problem ...
Beitrag von: igami am 05 Juli 2016, 15:19:19
Zitat
Beispieldefinition bei mehreren DO-Blöcken mit Befehlssequenzen:

DOIF (Bedingung1)
(set ...) ## erster Befehl der ersten Sequenz soll um eine Sekunde verzögert werden
(set ...) ## zweiter Befehl der ersten Sequenz soll um 2 Sekunden nach dem ersten Befehl verzögert werden
DOELSEIF (Bedingung2)
(set ...) ## erster Befehl der zweiten Sequenz soll um 3 Sekunden verzögert werden
(set ...) ## zweiter Befehl der zweiten Sequenz soll um 0,5 Sekunden nach dem ersten Befehl verzögert werden

attr <DOIF-module> wait 1,2:3,0.5
Bei dir steht alles in einer Klammer.
Titel: Antw:DOIF/DOELSEIF wait - Problem ...
Beitrag von: M_I_B am 05 Juli 2016, 15:22:46
... jo, genau ... Das hatte ich zeitlich etwas vor Deiner Antwort gefunden; keine Ahnung, wieso ich da ungezählte male drüber weg gelesen habe  ::)