Wait bei DOIF klappt nicht...

Begonnen von Docter, 04 Mai 2025, 12:41:21

Vorheriges Thema - Nächstes Thema

Docter

define DOIF_HUE_CTRL_Ankleide DOIF (\
([00:00 - 10:00])\
and\
([MQTT2_zigbee_Motion:Motion_01_occupancy] eq "true")\
and\
([MQTT2_zigbee_Motion:Motion_01_illuminance] < 3000)\
)\
\
(\
(set HUEDevice29 bri 166) \
(set HUEDevice29 on) \
(set HUEDevice30 bri 166) \
(set HUEDevice30 on) \
)\
\
DOELSEIF\
(\
([10:00 - 23:59])\
and\
([MQTT2_zigbee_Motion:Motion_01_occupancy] eq "true")\
and\
([MQTT2_zigbee_Motion:Motion_01_illuminance] < 3000)\
)\
\
(\
(set HUEDevice29 bri 250)\
(set HUEDevice30 on)\
(set HUEDevice30 bri 250) \
(set HUEDevice29 on) \
 \
)\
\
\
DOELSEIF\
(\
## ([04:50 - 23:00])\
## and\
(\
([MQTT2_zigbee_Motion:Motion_01_occupancy] eq "false")\
)\
)\
\
(\
(set HUEDevice29 off) \
(set HUEDevice30 off) \
)\

attr DOIF_HUE_CTRL_Ankleide DbLogExclude .*
attr DOIF_HUE_CTRL_Ankleide do resetwait
attr DOIF_HUE_CTRL_Ankleide room 99.92 HUE_CTRL
attr DOIF_HUE_CTRL_Ankleide wait 0,0,1,0:0,0,1,0:2,1,1
#   DEF        (
#([00:00 - 10:00])
#and
#([MQTT2_zigbee_Motion:Motion_01_occupancy] eq "true")
#and
#([MQTT2_zigbee_Motion:Motion_01_illuminance] < 3000)
#)
#
#(
#(set HUEDevice29 bri 166)
#(set HUEDevice29 on)
#(set HUEDevice30 bri 166)
#(set HUEDevice30 on)
#)
#
#DOELSEIF
#(
#([10:00 - 23:59])
#and
#([MQTT2_zigbee_Motion:Motion_01_occupancy] eq "true")
#and
#([MQTT2_zigbee_Motion:Motion_01_illuminance] < 3000)
#)
#
#(
#(set HUEDevice29 bri 250)
#(set HUEDevice30 on)
#(set HUEDevice30 bri 250)
#(set HUEDevice29 on)
#
#)
#
#
#DOELSEIF
#(
### ([04:50 - 23:00])
### and
# (
# ([MQTT2_zigbee_Motion:Motion_01_occupancy] eq "false")
# )
#)
#
#(
#(set HUEDevice29 off)
#(set HUEDevice30 off)
#)
#
#   FUUID      67f60183-f33f-0181-4efe-5fb709d704399fe0
#   MODEL      FHEM
#   NAME       DOIF_HUE_CTRL_Ankleide
#   NOTIFYDEV  global,MQTT2_zigbee_Motion
#   NR         1422
#   NTFY_ORDER 50-DOIF_HUE_CTRL_Ankleide
#   STATE      cmd_3
#   TYPE       DOIF
#   VERSION    26938 2023-01-01 18:13:32
#   eventCount 667
#   READINGS:
#     2025-05-04 08:52:59   Device          MQTT2_zigbee_Motion
#     2025-05-04 08:53:01   cmd             3
#     2025-05-04 08:53:01   cmd_event       MQTT2_zigbee_Motion
#     2025-05-04 08:53:01   cmd_nr          3
#     2025-05-04 08:52:59   e_MQTT2_zigbee_Motion_Motion_01_illuminance 1613
#     2025-05-04 08:52:59   e_MQTT2_zigbee_Motion_Motion_01_occupancy false
#     2025-04-10 10:49:20   mode            enabled
#     2025-05-04 08:53:01   state           cmd_3
#     2025-05-04 10:00:00   timer_01_c01    05.05.2025 00:00:00
#     2025-05-04 10:00:00   timer_02_c01    05.05.2025 10:00:00
#     2025-05-03 23:59:01   timer_03_c02    04.05.2025 10:00:00
#     2025-05-03 23:59:01   timer_04_c02    04.05.2025 23:59:00
#     2025-05-04 08:53:01   wait_timer      no timer
#   Regex:
#     accu:
#     collect:
#     cond:
#       MQTT2_zigbee_Motion:
#         0:
#           Motion_01_illuminance ^MQTT2_zigbee_Motion$:^Motion_01_illuminance:
#           Motion_01_occupancy ^MQTT2_zigbee_Motion$:^Motion_01_occupancy:
#         1:
#           Motion_01_illuminance ^MQTT2_zigbee_Motion$:^Motion_01_illuminance:
#           Motion_01_occupancy ^MQTT2_zigbee_Motion$:^Motion_01_occupancy:
#         2:
#           Motion_01_occupancy ^MQTT2_zigbee_Motion$:^Motion_01_occupancy:
#   attr:
#     cmdState:
#     wait:
#       0:
#         0
#         0
#         1
#         0
#       1:
#         0
#         0
#         1
#         0
#       2:
#         2
#         1
#         1
#     waitdel:
#   condition:
#     0           (::DOIF_time($hash,0,1,$wday,$hms)) and (::ReadingValDoIf($hash,'MQTT2_zigbee_Motion','Motion_01_occupancy') eq "true") and (::ReadingValDoIf($hash,'MQTT2_zigbee_Motion','Motion_01_illuminance') < 3000)
#     1           (::DOIF_time($hash,2,3,$wday,$hms)) and (::ReadingValDoIf($hash,'MQTT2_zigbee_Motion','Motion_01_occupancy') eq "true") and (::ReadingValDoIf($hash,'MQTT2_zigbee_Motion','Motion_01_illuminance') < 3000)
#     2              ( (::ReadingValDoIf($hash,'MQTT2_zigbee_Motion','Motion_01_occupancy') eq "false") )
#   days:
#   do:
#     0:
#       0           (set HUEDevice29 bri 166)  (set HUEDevice29 on)  (set HUEDevice30 bri 166)  (set HUEDevice30 on) 
#     1:
#       0           (set HUEDevice29 bri 250) (set HUEDevice30 on) (set HUEDevice30 bri 250)  (set HUEDevice29 on)   
#     2:
#       0           (set HUEDevice29 off)  (set HUEDevice30 off) 
#     3:
#   helper:
#     NOTIFYDEV  global,MQTT2_zigbee_Motion
#     event      timer_3
#     globalinit 1
#     last_timer 4
#     sleepdevice MQTT2_zigbee_Motion
#     sleepsubtimer -1
#     sleeptimer -1
#     timerdev   MQTT2_zigbee_Motion
#     timerevent Motion_01_illuminance: 1613,Motion_01_sensitivity: high,Motion_01_linkquality: 255,Motion_01_battery: 100,Motion_01_illuminance_interval: 264,Motion_01_keep_time: 30,Motion_01_occupancy: false
#     triggerDev
#     timerevents:
#       Motion_01_illuminance: 1613
#       Motion_01_sensitivity: high
#       Motion_01_linkquality: 255
#       Motion_01_battery: 100
#       Motion_01_illuminance_interval: 264
#       Motion_01_keep_time: 30
#       Motion_01_occupancy: false
#     timereventsState:
#       Motion_01_illuminance: 1613
#       Motion_01_sensitivity: high
#       Motion_01_linkquality: 255
#       Motion_01_battery: 100
#       Motion_01_illuminance_interval: 264
#       Motion_01_keep_time: 30
#       Motion_01_occupancy: false
#     triggerEvents:
#       timer_3
#     triggerEventsState:
#       timer_3
#   internals:
#   interval:
#     0          -1
#     1          0
#     2          -1
#     3          2
#   intervalfunc:
#   intervaltimer:
#   localtime:
#     0          1746396000
#     1          1746432000
#     2          1746345600
#     3          1746395940
#   perlblock:
#   readings:
#     all         MQTT2_zigbee_Motion:Motion_01_occupancy MQTT2_zigbee_Motion:Motion_01_illuminance
#   realtime:
#     0          00:00:00
#     1          10:00:00
#     2          10:00:00
#     3          23:59:00
#   time:
#     0          00:00:00
#     1          10:00:00
#     2          10:00:00
#     3          23:59:00
#   timeCond:
#     0          0
#     1          0
#     2          1
#     3          1
#   timer:
#     0          0
#     1          0
#     2          0
#     3          0
#   timers:
#     0           0  1
#     1           2  3
#   trigger:
#   triggertime:
#     1746395940:
#       localtime  1746395940
#       hash:
#     1746396000:
#       localtime  1746396000
#       hash:
#     1746432000:
#       localtime  1746432000
#       hash:
#   uiState:
#   uiTable:
#
setstate DOIF_HUE_CTRL_Ankleide cmd_3
setstate DOIF_HUE_CTRL_Ankleide 2025-05-04 08:52:59 Device MQTT2_zigbee_Motion
setstate DOIF_HUE_CTRL_Ankleide 2025-05-04 08:53:01 cmd 3
setstate DOIF_HUE_CTRL_Ankleide 2025-05-04 08:53:01 cmd_event MQTT2_zigbee_Motion
setstate DOIF_HUE_CTRL_Ankleide 2025-05-04 08:53:01 cmd_nr 3
setstate DOIF_HUE_CTRL_Ankleide 2025-05-04 08:52:59 e_MQTT2_zigbee_Motion_Motion_01_illuminance 1613
setstate DOIF_HUE_CTRL_Ankleide 2025-05-04 08:52:59 e_MQTT2_zigbee_Motion_Motion_01_occupancy false
setstate DOIF_HUE_CTRL_Ankleide 2025-04-10 10:49:20 mode enabled
setstate DOIF_HUE_CTRL_Ankleide 2025-05-04 08:53:01 state cmd_3
setstate DOIF_HUE_CTRL_Ankleide 2025-05-04 10:00:00 timer_01_c01 05.05.2025 00:00:00
setstate DOIF_HUE_CTRL_Ankleide 2025-05-04 10:00:00 timer_02_c01 05.05.2025 10:00:00
setstate DOIF_HUE_CTRL_Ankleide 2025-05-03 23:59:01 timer_03_c02 04.05.2025 10:00:00
setstate DOIF_HUE_CTRL_Ankleide 2025-05-03 23:59:01 timer_04_c02 04.05.2025 23:59:00
setstate DOIF_HUE_CTRL_Ankleide 2025-05-04 08:53:01 wait_timer no timer


ich setze WAIT um die erst eine Lampe und dann 1s später die andere ein/auszuschalten.
Aber da passiert gar nichts. Hab keine Idee und wäre über jede Dankbar.

Danke
Thomas

Damian

wait geht standardmäßig mit Eventtriggern und nicht mit Zeittriggern. Hast du das bedacht?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Docter

ja... aber ich gebe den (Denk)Fehler gefunden. Wait funktioniert natürlich.

Leider ging ich davon aus, das ich mit set HUExx BRI 155 nur die Helligkeit setze, und dann die Lampe mit set HUExx on anmachen muss.
Aber in Realität, geht die Lampe bereits mit BRI 155 an... somit war dafür Wait = 0 und die anderen Wait timer funktionierten, haben aber die Lampe nur (nochmal) angemacht.

Sorry, aber das hat echt ein wenig gedauert um dahinter zukommen.

Danke für das Feedback anyway!