Hallo,
ich steh gerade auf dem Schlauch und hoffe, jemand von euch kann mir erklären, warum in folgendem DOIF das wait-Attribut ignoriert wird.
Definition:
([structMultiMediaWz] eq "BI")
(
({Log 1, "acMultiMediaWz on"})
(set acMultiMediaWz on)
({Log 1, "rcTvPower on"})
(set rcTvPower on)
)
DOELSEIF ([structMultiMediaWz] eq "B0")
(
({Log 1, "rcTvPower off"})
(set rcTvPower off)
({Log 1, "acMultiMediaWz off"})
(set acMultiMediaWz off)
)
Attribute:
cmdpause 1:1
do always
wait 0,0,10,0:0,0,10,0
Komplettes List:
Internals:
DEF ([structMultiMediaWz] eq "BI")
(
({Log 1, "acMultiMediaWz on"})
(set acMultiMediaWz on)
({Log 1, "rcTvPower on"})
(set rcTvPower on)
)
DOELSEIF ([structMultiMediaWz] eq "B0")
(
({Log 1, "rcTvPower off"})
(set rcTvPower off)
({Log 1, "acMultiMediaWz off"})
(set acMultiMediaWz off)
)
NAME diMultiMediaWz
NR 74
NTFY_ORDER 50-diMultiMediaWz
STATE cmd_1
TYPE DOIF
READINGS:
2017-12-09 14:38:11 Device structMultiMediaWz
2017-12-09 14:38:11 cmd 1
2017-12-09 14:38:11 cmd_event structMultiMediaWz
2017-12-09 14:38:11 cmd_nr 1
2017-12-09 14:38:11 e_structMultiMediaWz_STATE BI
2017-12-09 14:38:11 state cmd_1
2017-12-09 14:31:09 wait_timer no timer
Regex:
condition:
0 InternalDoIf($hash,'structMultiMediaWz','STATE') eq "BI"
1 InternalDoIf($hash,'structMultiMediaWz','STATE') eq "B0"
devices:
0 structMultiMediaWz
1 structMultiMediaWz
all structMultiMediaWz
do:
0:
0 ({Log 1, "acMultiMediaWz on"}) (set acMultiMediaWz on) ({Log 1, "rcTvPower on"}) (set rcTvPower on)
1:
0 ({Log 1, "rcTvPower off"}) (set rcTvPower off) ({Log 1, "acMultiMediaWz off"}) (set acMultiMediaWz off)
2:
helper:
DOIF_Readings_events
DOIF_eventas
event BI
globalinit 1
last_timer 0
sleeptimer -1
timerdev structMultiMediaWz
timerevent BI
triggerDev structMultiMediaWz
timerevents:
BI
timereventsState:
state: BI
triggerEvents:
BI
triggerEventsState:
state: BI
internals:
0 structMultiMediaWz:STATE
1 structMultiMediaWz:STATE
all structMultiMediaWz:STATE
itimer:
readings:
trigger:
uiState:
uiTable:
Attributes:
cmdpause 1:1
do always
group Multimedia
room DoIf
wait 0,0,10,0:0,0,10,0
Die Befehle werden gleich hintereinander ausgeführt, ohne die konfigurierte Zeit dazwischen zu warten.
2017.12.09 14:38:11 1: acMultiMediaWz on
2017.12.09 14:38:11 3: EnOcean set acMultiMediaWz on
2017.12.09 14:38:11 1: rcTvPower on
Danke!
Stefan
zu viele Klammern gesetzt, richtig ist:
([structMultiMediaWz] eq "BI")
({Log 1, "acMultiMediaWz on"})
(set acMultiMediaWz on)
({Log 1, "rcTvPower on"})
(set rcTvPower on)
DOELSEIF ([structMultiMediaWz] eq "B0")
({Log 1, "rcTvPower off"})
(set rcTvPower off)
({Log 1, "acMultiMediaWz off"})
(set acMultiMediaWz off)
Uiuiui, der Schlauch war lang.
Danke Damian!