[gelöst ] doif soll warten, tut es aber nicht

Begonnen von MarkusN, 25 Juli 2016, 14:16:47

Vorheriges Thema - Nächstes Thema

MarkusN

Hallo!

Bin leider an einem Punkt wo ich nicht weiter komme. Ich habe folgendes DOIF:

define doif_markus_pc DOIF ([dummy_markus_pc_keller] eq "on") (\
set sd_netio1_2 on,\
set markus_pc on,\
set harmony_wz command Ligawo-AV-Switch InputA1\
) DOELSEIF ([harmony_wz:currentActivity] eq "starting PC" or [harmony_wz:currentActivity] eq "PC") (\
set sd_netio1_2 on,\
set markus_pc on\
) DOELSE (\
(set markus_pc off) (set sd_netio1_2 off)\
)
attr doif_markus_pc alias Automatik Markus-PC
attr doif_markus_pc cmdState Keller|TV|off
attr doif_markus_pc room Keller
attr doif_markus_pc wait 0:0:0,120


Im DOELSE soll der zweite Befehl ( (set sd_netio1_2 off) ) zwei Minuten nach dem vorherigen Befehl ausgeführt werden, es werden jedoch beide gleichzeitig ausgeführt.
Was mache ich falsch?

Jack_n

...wartest Du nicht nur 0,125 Sekunden ?

MarkusN

Wenn ich die Commandref richtig verstehe dann nicht:

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

darkness

Hey,

ich bin mir nicht sicher. Aber hast du da evtl zu viele Klammern?

DOELSE
(set markus_pc off) (set sd_netio1_2 off)


müsste doch auch gehen?

MarkusN

Ja das war die Ursache. Einer der vielen Fallstricke von DOIF. Missen möchte ich es jedoch trotzdem nicht.

Danke!