Hauptmenü

[gelöst] wait wird ignoriert

Begonnen von drhirn, 09 Dezember 2017, 14:46:33

Vorheriges Thema - Nächstes Thema

drhirn

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

Damian

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)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

drhirn

Uiuiui, der Schlauch war lang.

Danke Damian!