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?
...wartest Du nicht nur 0,125 Sekunden ?
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
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?
Ja das war die Ursache. Einer der vielen Fallstricke von DOIF. Missen möchte ich es jedoch trotzdem nicht.
Danke!