[gelöst] sunrise DOIF Fehler

Begonnen von matze1999, 23 März 2025, 09:57:08

Vorheriges Thema - Nächstes Thema

matze1999

Hallo,

ich habe ein DOIF mit folgender Bedingung:

([05:30-{sunrise()}] and [Bewegungsmelder:"^on-old-for-timer.60$"])
(set MQTT2_DVES_B642C2_CH2 on-for-timer 60)

und das DOIF schaltet auch tagsüber?

matze1999

Otto123

Hi,

ich habe bei ähnlichen Konstrukten immer sunrise_abs() genommen. sunrise() liefert immer den nächsten Termin, sunrise_abs() liefert den heutigen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

matze1999

so, geändert in:

([05:30-{sunrise_abs()}] and [Bewegungsmelder:"^on-old-for-timer.60$"])
(set MQTT2_DVES_B642C2_CH2 on-for-timer 60)

gleiches Verhalten (selbst nach einem FHEM Neustart, schaltet immer.


setstate BewegungsmelderNeu 2025-03-23 13:34:32 cmd 2
setstate BewegungsmelderNeu 2025-03-23 13:34:32 cmd_event Bewegungsmelder
setstate BewegungsmelderNeu 2025-03-23 13:34:32 cmd_nr 2
setstate BewegungsmelderNeu 2025-03-23 13:34:32 e_Bewegungsmelder_events on-old-for-timer 60

matze1999

matze1999

...oder gilt dieser Hinweis aus dem FHEMWiki noch:

Die sunset / sunrise Einstellungen arbeiten meist erst am nächsten Tag richtig. Das hängt zusammen mit einer Falschberechnung beim setzen dieses defines. An einer Korrektur wird gearbeitet (Stand Januar 2013).

Otto123

Zeig mal bitte ein komplettes list vom DOIF
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rabehd

Was gibt {sunrise_abs()} in der Kommandozeile zurück?
Ist Dein Standort in global definiert?
Auch funktionierende Lösungen kann man hinterfragen.

matze1999

Zitat von: rabehd am 23 März 2025, 13:48:08Was gibt {sunrise_abs()} in der Kommandozeile zurück?
Ist Dein Standort in global definiert?

05:28:49

matze1999

Zitat von: Otto123 am 23 März 2025, 13:46:39Zeig mal bitte ein komplettes list vom DOIF

Bitte schön:

[code]define BewegungsmelderNeu DOIF (\
[{sunset_abs()}-22:00] \
and [Bewegungsmelder:"^on-old-for-timer.60$"] \
and [MQTT2_DVES_F8DDE2:state] eq "off"\
and [MQTT2_DVES_D61F5E:state] eq "off"\
and [MQTT2_zigbee_Aussenleichterkette:state] eq "off"\
) (\
set MQTT2_DVES_D61F5E on-for-timer 300,\
set MQTT2_DVES_B642C2_CH2 rgb EB2F09,\
set MQTT2_DVES_B642C2_CH2 on-for-timer 300,\
set MQTT2_zigbee_Aussenleichterkette white,\
set MQTT2_zigbee_Aussenleichterkette on-for-timer 300)\
DOELSEIF\
(\
[05:30-{sunrise_abs()}] \
and [Bewegungsmelder:"^on-old-for-timer.60$"] \
and [MQTT2_DVES_F8DDE2:state] eq "off" \
and [MQTT2_DVES_D61F5E:state] eq "off"\
and [MQTT2_zigbee_Aussenleichterkette:state] eq "off"\
) (\
set MQTT2_DVES_D61F5E on-for-timer 60,\
set MQTT2_DVES_B642C2_CH2 rgb EB2F09,\
set MQTT2_DVES_B642C2_CH2 on-for-timer 60)\
DOELSEIF\
([{sunset_abs()}-22:00] \
and [Bewegungsmelder1:"^on-old-for-timer.60$"] \
and [MQTT2_DVES_F8DDE2:state] eq "off"\
and [MQTT2_zigbee_Aussenleichterkette:state] eq "off"\
) (\
set MQTT2_DVES_B642C2_CH2 rgb EB2F09,\
set MQTT2_DVES_B642C2_CH2 on-for-timer 300,\
set MQTT2_zigbee_Aussenleichterkette white,\
set MQTT2_zigbee_Aussenleichterkette on-for-timer 300)\
DOELSEIF\
(\
[05:30-{sunrise_abs()}] \
and [Bewegungsmelder1:"^on-old-for-timer.60$"] \
and [MQTT2_DVES_F8DDE2:state] eq "off" \
and [MQTT2_zigbee_Aussenleichterkette:state] eq "off"\
) (\
set MQTT2_DVES_B642C2_CH2 rgb EB2F09,\
set MQTT2_DVES_B642C2_CH2 on-for-timer 60)
attr BewegungsmelderNeu alias BewegungsmelderNeu
attr BewegungsmelderNeu devStateStyle style="text-align:left;;font-weight:bold;;"
attr BewegungsmelderNeu do always
attr BewegungsmelderNeu group Garten
attr BewegungsmelderNeu room nt+di
attr BewegungsmelderNeu verbose 5
#   DEF        (
#[{sunset_abs()}-22:00]
#and [Bewegungsmelder:"^on-old-for-timer.60$"]
#and [MQTT2_DVES_F8DDE2:state] eq "off"
#and [MQTT2_DVES_D61F5E:state] eq "off"
#and [MQTT2_zigbee_Aussenleichterkette:state] eq "off"
#) (
#set MQTT2_DVES_D61F5E on-for-timer 300,
#set MQTT2_DVES_B642C2_CH2 rgb EB2F09,
#set MQTT2_DVES_B642C2_CH2 on-for-timer 300,
#set MQTT2_zigbee_Aussenleichterkette white,
#set MQTT2_zigbee_Aussenleichterkette on-for-timer 300)
#DOELSEIF
#(
#[05:30-{sunrise_abs()}]
#and [Bewegungsmelder:"^on-old-for-timer.60$"]
#and [MQTT2_DVES_F8DDE2:state] eq "off"
#and [MQTT2_DVES_D61F5E:state] eq "off"
#and [MQTT2_zigbee_Aussenleichterkette:state] eq "off"
#) (
#set MQTT2_DVES_D61F5E on-for-timer 60,
#set MQTT2_DVES_B642C2_CH2 rgb EB2F09,
#set MQTT2_DVES_B642C2_CH2 on-for-timer 60)
#DOELSEIF
#([{sunset_abs()}-22:00]
#and [Bewegungsmelder1:"^on-old-for-timer.60$"]
#and [MQTT2_DVES_F8DDE2:state] eq "off"
#and [MQTT2_zigbee_Aussenleichterkette:state] eq "off"
#) (
#set MQTT2_DVES_B642C2_CH2 rgb EB2F09,
#set MQTT2_DVES_B642C2_CH2 on-for-timer 300,
#set MQTT2_zigbee_Aussenleichterkette white,
#set MQTT2_zigbee_Aussenleichterkette on-for-timer 300)
#DOELSEIF
#(
#[05:30-{sunrise_abs()}]
#and [Bewegungsmelder1:"^on-old-for-timer.60$"]
#and [MQTT2_DVES_F8DDE2:state] eq "off"
#and [MQTT2_zigbee_Aussenleichterkette:state] eq "off"
#) (
#set MQTT2_DVES_B642C2_CH2 rgb EB2F09,
#set MQTT2_DVES_B642C2_CH2 on-for-timer 60)
#   FUUID      619a6f7a-f33f-214e-fd1c-d606de4f22a6f6fe
#   MODEL      FHEM
#   NAME       BewegungsmelderNeu
#   NOTIFYDEV  Bewegungsmelder,Bewegungsmelder1,MQTT2_DVES_D61F5E,MQTT2_DVES_F8DDE2,MQTT2_zigbee_Aussenleichterkette,global
#   NR         179
#   NTFY_ORDER 50-BewegungsmelderNeu
#   STATE      cmd_2
#   TYPE       DOIF
#   VERSION    29460 2024-12-29 20:25:48
#   eventCount 13
#   OLDREADINGS:
#   READINGS:
#     2025-03-23 13:53:40   Device          MQTT2_DVES_D61F5E
#     2025-03-23 13:53:40   cmd             2
#     2025-03-23 13:53:40   cmd_event       Bewegungsmelder
#     2025-03-23 13:53:40   cmd_nr          2
#     2025-03-23 13:39:07   e_Bewegungsmelder1_events on-old-for-timer 60
#     2025-03-23 13:53:40   e_Bewegungsmelder_events on-old-for-timer 60
#     2025-03-23 13:53:40   e_MQTT2_DVES_D61F5E_state on
#     2025-03-23 13:40:12   e_MQTT2_zigbee_Aussenleichterkette_state off
#     2025-03-23 13:30:07   mode            enabled
#     2025-03-23 13:53:40   state           cmd_2
#     2025-03-23 13:27:04   timer_01_c01    23.03.2025 18:55:24
#     2025-03-23 13:27:04   timer_02_c01    23.03.2025 22:00:00
#     2025-03-23 13:27:04   timer_05_c03    23.03.2025 18:55:24
#     2025-03-23 13:27:04   timer_06_c03    23.03.2025 22:00:00
#     2025-03-23 13:27:04   timer_07_c04    24.03.2025 05:30:00
#     2025-03-23 13:27:04   timer_08_c04    24.03.2025 05:28:49
#   Regex:
#     accu:
#     bar:
#     barAvg:
#     collect:
#     cond:
#       Bewegungsmelder:
#         0:
#           &STATE     ^Bewegungsmelder$
#         1:
#           &STATE     ^Bewegungsmelder$
#       Bewegungsmelder1:
#         0:
#         1:
#         2:
#           &STATE     ^Bewegungsmelder1$
#         3:
#           &STATE     ^Bewegungsmelder1$
#       MQTT2_DVES_D61F5E:
#         0:
#           state      ^MQTT2_DVES_D61F5E$:^state:
#         1:
#           state      ^MQTT2_DVES_D61F5E$:^state:
#         2:
#         3:
#       MQTT2_DVES_F8DDE2:
#         0:
#           state      ^MQTT2_DVES_F8DDE2$:^state:
#         1:
#           state      ^MQTT2_DVES_F8DDE2$:^state:
#         2:
#           state      ^MQTT2_DVES_F8DDE2$:^state:
#         3:
#           state      ^MQTT2_DVES_F8DDE2$:^state:
#       MQTT2_zigbee_Aussenleichterkette:
#         0:
#           state      ^MQTT2_zigbee_Aussenleichterkette$:^state:
#         1:
#           state      ^MQTT2_zigbee_Aussenleichterkette$:^state:
#         2:
#           state      ^MQTT2_zigbee_Aussenleichterkette$:^state:
#         3:
#           state      ^MQTT2_zigbee_Aussenleichterkette$:^state:
#   attr:
#     cmdState:
#     wait:
#     waitdel:
#   condition:
#     0           ::DOIF_time($hash,0,1,$wday,$hms)  and ::EventDoIf('Bewegungsmelder',$hash,'^on-old-for-timer.60$',1)  and ::ReadingValDoIf($hash,'MQTT2_DVES_F8DDE2','state') eq "off" and ::ReadingValDoIf($hash,'MQTT2_DVES_D61F5E','state') eq "off" and ::ReadingValDoIf($hash,'MQTT2_zigbee_Aussenleichterkette','state') eq "off"
#     1           ::DOIF_time($hash,2,3,$wday,$hms)  and ::EventDoIf('Bewegungsmelder',$hash,'^on-old-for-timer.60$',1)  and ::ReadingValDoIf($hash,'MQTT2_DVES_F8DDE2','state') eq "off"  and ::ReadingValDoIf($hash,'MQTT2_DVES_D61F5E','state') eq "off" and ::ReadingValDoIf($hash,'MQTT2_zigbee_Aussenleichterkette','state') eq "off"
#     2          ::DOIF_time($hash,4,5,$wday,$hms)  and ::EventDoIf('Bewegungsmelder1',$hash,'^on-old-for-timer.60$',1)  and ::ReadingValDoIf($hash,'MQTT2_DVES_F8DDE2','state') eq "off" and ::ReadingValDoIf($hash,'MQTT2_zigbee_Aussenleichterkette','state') eq "off"
#     3           ::DOIF_time($hash,6,7,$wday,$hms)  and ::EventDoIf('Bewegungsmelder1',$hash,'^on-old-for-timer.60$',1)  and ::ReadingValDoIf($hash,'MQTT2_DVES_F8DDE2','state') eq "off"  and ::ReadingValDoIf($hash,'MQTT2_zigbee_Aussenleichterkette','state') eq "off"
#   days:
#   do:
#     0:
#       0           set MQTT2_DVES_D61F5E on-for-timer 300, set MQTT2_DVES_B642C2_CH2 rgb EB2F09, set MQTT2_DVES_B642C2_CH2 on-for-timer 300, set MQTT2_zigbee_Aussenleichterkette white, set MQTT2_zigbee_Aussenleichterkette on-for-timer 300
#     1:
#       0           set MQTT2_DVES_D61F5E on-for-timer 60, set MQTT2_DVES_B642C2_CH2 rgb EB2F09, set MQTT2_DVES_B642C2_CH2 on-for-timer 60
#     2:
#       0           set MQTT2_DVES_B642C2_CH2 rgb EB2F09, set MQTT2_DVES_B642C2_CH2 on-for-timer 300, set MQTT2_zigbee_Aussenleichterkette white, set MQTT2_zigbee_Aussenleichterkette on-for-timer 300
#     3:
#       0           set MQTT2_DVES_B642C2_CH2 rgb EB2F09, set MQTT2_DVES_B642C2_CH2 on-for-timer 60
#     4:
#   helper:
#     NOTIFYDEV  Bewegungsmelder,Bewegungsmelder1,MQTT2_DVES_D61F5E,MQTT2_DVES_F8DDE2,MQTT2_zigbee_Aussenleichterkette,global
#     event      on
#     globalinit 1
#     last_timer 8
#     sleeptimer -1
#     timerdev   Bewegungsmelder
#     timerevent on-old-for-timer 60
#     triggerDev MQTT2_DVES_D61F5E
#     timerevents:
#       on-old-for-timer 60
#     timereventsState:
#       state: on-old-for-timer 60
#     triggerEvents:
#       on
#     triggerEventsState:
#       state: on
#   internals:
#   interval:
#     0          -1
#     1          0
#     2          -1
#     3          2
#     4          -1
#     5          4
#     6          -1
#     7          6
#   intervalfunc:
#   localtime:
#     0          1742752524
#     1          1742763600
#     2          1742790600
#     3          1742790529
#     4          1742752524
#     5          1742763600
#     6          1742790600
#     7          1742790529
#   perlblock:
#   readings:
#     all         MQTT2_DVES_F8DDE2:state MQTT2_DVES_D61F5E:state MQTT2_zigbee_Aussenleichterkette:state
#   realtime:
#     0          18:55:24
#     1          22:00:00
#     2          05:30:00
#     3          05:28:49
#     4          18:55:24
#     5          22:00:00
#     6          05:30:00
#     7          05:28:49
#   time:
#     0          {sunset_abs()}
#     1          22:00:00
#     2          05:30:00
#     3          {sunrise_abs()}
#     4          {sunset_abs()}
#     5          22:00:00
#     6          05:30:00
#     7          {sunrise_abs()}
#   timeCond:
#     0          0
#     1          0
#     2          1
#     3          1
#     4          2
#     5          2
#     6          3
#     7          3
#   timer:
#     0          0
#     1          0
#     2          0
#     3          0
#     4          0
#     5          0
#     6          0
#     7          0
#   timers:
#     0           0  1
#     1           2  3
#     2           4  5
#     3           6  7
#   trigger:
#     all         Bewegungsmelder Bewegungsmelder1
#   triggertime:
#     1742752524:
#       localtime  1742752524
#       hash:
#     1742763600:
#       localtime  1742763600
#       hash:
#     1742790529:
#       localtime  1742790529
#       hash:
#     1742790600:
#       localtime  1742790600
#       hash:
#   uiState:
#   uiTable:
#
setstate BewegungsmelderNeu cmd_2
setstate BewegungsmelderNeu 2025-03-23 13:53:40 Device MQTT2_DVES_D61F5E
setstate BewegungsmelderNeu 2025-03-23 13:53:40 cmd 2
setstate BewegungsmelderNeu 2025-03-23 13:53:40 cmd_event Bewegungsmelder
setstate BewegungsmelderNeu 2025-03-23 13:53:40 cmd_nr 2
setstate BewegungsmelderNeu 2025-03-23 13:39:07 e_Bewegungsmelder1_events on-old-for-timer 60
setstate BewegungsmelderNeu 2025-03-23 13:53:40 e_Bewegungsmelder_events on-old-for-timer 60
setstate BewegungsmelderNeu 2025-03-23 13:53:40 e_MQTT2_DVES_D61F5E_state on
setstate BewegungsmelderNeu 2025-03-23 13:40:12 e_MQTT2_zigbee_Aussenleichterkette_state off
setstate BewegungsmelderNeu 2025-03-23 13:30:07 mode enabled
setstate BewegungsmelderNeu 2025-03-23 13:53:40 state cmd_2
setstate BewegungsmelderNeu 2025-03-23 13:27:04 timer_01_c01 23.03.2025 18:55:24
setstate BewegungsmelderNeu 2025-03-23 13:27:04 timer_02_c01 23.03.2025 22:00:00
setstate BewegungsmelderNeu 2025-03-23 13:27:04 timer_05_c03 23.03.2025 18:55:24
setstate BewegungsmelderNeu 2025-03-23 13:27:04 timer_06_c03 23.03.2025 22:00:00
setstate BewegungsmelderNeu 2025-03-23 13:27:04 timer_07_c04 24.03.2025 05:30:00
setstate BewegungsmelderNeu 2025-03-23 13:27:04 timer_08_c04 24.03.2025 05:28:49

[/code]

rabehd

#8
Zitat von: matze1999 am 23 März 2025, 13:53:05
Zitat von: rabehd am 23 März 2025, 13:48:08Was gibt {sunrise_abs()} in der Kommandozeile zurück?
Ist Dein Standort in global definiert?

05:28:49


5:30 bis 5:28, Dein Sonnenaufgang ist vor dem Beginn, bzw. 24 Stunden später.

Schau dir mal die Parameter von sunrise_abs() an. In Deinem Usecase sollte jetzt gar nicht mehr geschaltet werden.
Auch funktionierende Lösungen kann man hinterfragen.

Otto123

Bedingung 2 hat keinen Timer?  :o
Zitat#     2025-03-23 13:27:04   timer_01_c01    23.03.2025 18:55:24
#     2025-03-23 13:27:04   timer_02_c01    23.03.2025 22:00:00
#     2025-03-23 13:27:04   timer_05_c03    23.03.2025 18:55:24
#     2025-03-23 13:27:04   timer_06_c03    23.03.2025 22:00:00
#     2025-03-23 13:27:04   timer_07_c04    24.03.2025 05:30:00
#     2025-03-23 13:27:04   timer_08_c04    24.03.2025 05:28:49
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

matze1999

Zitat von: Otto123 am 23 März 2025, 14:20:59Bedingung 2 hat keinen Timer?  :o
Zitat#     2025-03-23 13:27:04   timer_01_c01    23.03.2025 18:55:24
#     2025-03-23 13:27:04   timer_02_c01    23.03.2025 22:00:00
#     2025-03-23 13:27:04   timer_05_c03    23.03.2025 18:55:24
#     2025-03-23 13:27:04   timer_06_c03    23.03.2025 22:00:00
#     2025-03-23 13:27:04   timer_07_c04    24.03.2025 05:30:00
#     2025-03-23 13:27:04   timer_08_c04    24.03.2025 05:28:49

hatte ich gelöscht, war jeweils der 24.03.2025 mit 05:30:00 und 05:28:49.

matze1999

matze1999

Zitat von: rabehd am 23 März 2025, 13:57:415:30 bis 5:28, Dein Sonnenaufgang ist vor dem Beginn, bzw. 24 Stunden später.

Schau dir mal die Parameter von sunrise_abs() an. In Deinem Usecase sollte jetzt gar nicht mehr geschaltet werden.

Ich hab jetzt folgendes eingetragen, so schaltet es wenigstens nicht mehr tagsüber:

{sunrise_abs(0,"05:30","10:00")}
matze1999

matze1999

Zitat von: Otto123 am 23 März 2025, 14:20:59Bedingung 2 hat keinen Timer?  :o
Zitat#     2025-03-23 13:27:04   timer_01_c01    23.03.2025 18:55:24
#     2025-03-23 13:27:04   timer_02_c01    23.03.2025 22:00:00
#     2025-03-23 13:27:04   timer_05_c03    23.03.2025 18:55:24
#     2025-03-23 13:27:04   timer_06_c03    23.03.2025 22:00:00
#     2025-03-23 13:27:04   timer_07_c04    24.03.2025 05:30:00
#     2025-03-23 13:27:04   timer_08_c04    24.03.2025 05:28:49

mit den o.g. Parametern für sunrise, habe ich jetzt auch wieder alle timer:

setstate BewegungsmelderNeu 2025-03-23 14:30:08 timer_01_c01 23.03.2025 18:55:24
setstate BewegungsmelderNeu 2025-03-23 14:30:08 timer_02_c01 23.03.2025 22:00:00
setstate BewegungsmelderNeu 2025-03-23 14:30:08 timer_03_c02 24.03.2025 05:30:00
setstate BewegungsmelderNeu 2025-03-23 14:30:08 timer_04_c02 24.03.2025 05:30:00
setstate BewegungsmelderNeu 2025-03-23 14:30:08 timer_05_c03 23.03.2025 18:55:24
setstate BewegungsmelderNeu 2025-03-23 14:30:08 timer_06_c03 23.03.2025 22:00:00
setstate BewegungsmelderNeu 2025-03-23 14:30:08 timer_07_c04 24.03.2025 05:30:00
setstate BewegungsmelderNeu 2025-03-23 14:30:08 timer_08_c04 24.03.2025 05:30:00

Otto123

Es macht keinen Sinn ein fake list zu posten  :o

Aber laut dem list hat cmd_2 ausgelöst und ich wüsste nicht wie:
Zitat(\
[05:30-{sunrise_abs()}] \
and [Bewegungsmelder:"^on-old-for-timer.60$"] \
and [MQTT2_DVES_F8DDE2:state] eq "off" \
and [MQTT2_DVES_D61F5E:state] eq "off"\
and [MQTT2_zigbee_Aussenleichterkette:state] eq "off"\
) (\
set MQTT2_DVES_D61F5E on-for-timer 60,\
set MQTT2_DVES_B642C2_CH2 rgb EB2F09,\
set MQTT2_DVES_B642C2_CH2 on-for-timer 60)\
es sei denn Dein Timer ging zu dem Zeit vom 23.03 5:30 bis zum 24:03 5:28 ?
Allerdings würde ich "gefühlt" die Trigger ausschalten (? davor) die nicht triggern sollen. Du willst ja nur, dass der Event [Bewegungsmelder:"^on-old-for-timer.60$"] triggert alles andere soll doch nur abgefragt werden?!
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

matze1999

#14
ich hab noch mal die Parameter in cmd2 raus genommen, dann schaltet es wiede am Tage mit den u.a. timern für cmd2 für morgen:

define BewegungsmelderNeu DOIF (\
[{sunset_abs(0,"15:00","22:00")}-22:00] \
and [Bewegungsmelder:"^on-old-for-timer.60$"] \
and [?MQTT2_DVES_F8DDE2:state] eq "off"\
and [?MQTT2_DVES_D61F5E:state] eq "off"\
and [?MQTT2_zigbee_Aussenleichterkette:state] eq "off"\
) (\
set MQTT2_DVES_D61F5E on-for-timer 300,\
set MQTT2_DVES_B642C2_CH2 rgb EB2F09,\
set MQTT2_DVES_B642C2_CH2 on-for-timer 300,\
set MQTT2_zigbee_Aussenleichterkette white,\
set MQTT2_zigbee_Aussenleichterkette on-for-timer 300)\
DOELSEIF\
(\
[05:30-{sunrise_abs()}] \
and [Bewegungsmelder:"^on-old-for-timer.60$"] \
and [?MQTT2_DVES_F8DDE2:state] eq "off" \
and [?MQTT2_DVES_D61F5E:state] eq "off"\
and [?MQTT2_zigbee_Aussenleichterkette:state] eq "off"\
) (\
set MQTT2_DVES_D61F5E on-for-timer 60,\
set MQTT2_DVES_B642C2_CH2 rgb EB2F09,\
set MQTT2_DVES_B642C2_CH2 on-for-timer 60)\
DOELSEIF\
([{sunset_abs(0,"15:00","22:00")}-22:00] \
and [Bewegungsmelder1:"^on-old-for-timer.60$"] \
and [?MQTT2_DVES_F8DDE2:state] eq "off"\
and [?MQTT2_zigbee_Aussenleichterkette:state] eq "off"\
) (\
set MQTT2_DVES_B642C2_CH2 rgb EB2F09,\
set MQTT2_DVES_B642C2_CH2 on-for-timer 300,\
set MQTT2_zigbee_Aussenleichterkette white,\
set MQTT2_zigbee_Aussenleichterkette on-for-timer 300)\
DOELSEIF\
(\
[05:30-{sunrise_abs(0,"05:30","10:00")}] \
and [Bewegungsmelder1:"^on-old-for-timer.60$"] \
and [?MQTT2_DVES_F8DDE2:state] eq "off" \
and [?MQTT2_zigbee_Aussenleichterkette:state] eq "off"\
) (\
set MQTT2_DVES_B642C2_CH2 rgb EB2F09,\
set MQTT2_DVES_B642C2_CH2 on-for-timer 60)
attr BewegungsmelderNeu alias BewegungsmelderNeu
attr BewegungsmelderNeu devStateStyle style="text-align:left;;font-weight:bold;;"
attr BewegungsmelderNeu do always
attr BewegungsmelderNeu group Garten
attr BewegungsmelderNeu room nt+di
attr BewegungsmelderNeu verbose 5
#   DEF        (
#[{sunset_abs(0,"15:00","22:00")}-22:00]
#and [Bewegungsmelder:"^on-old-for-timer.60$"]
#and [?MQTT2_DVES_F8DDE2:state] eq "off"
#and [?MQTT2_DVES_D61F5E:state] eq "off"
#and [?MQTT2_zigbee_Aussenleichterkette:state] eq "off"
#) (
#set MQTT2_DVES_D61F5E on-for-timer 300,
#set MQTT2_DVES_B642C2_CH2 rgb EB2F09,
#set MQTT2_DVES_B642C2_CH2 on-for-timer 300,
#set MQTT2_zigbee_Aussenleichterkette white,
#set MQTT2_zigbee_Aussenleichterkette on-for-timer 300)
#DOELSEIF
#(
#[05:30-{sunrise_abs()}]
#and [Bewegungsmelder:"^on-old-for-timer.60$"]
#and [?MQTT2_DVES_F8DDE2:state] eq "off"
#and [?MQTT2_DVES_D61F5E:state] eq "off"
#and [?MQTT2_zigbee_Aussenleichterkette:state] eq "off"
#) (
#set MQTT2_DVES_D61F5E on-for-timer 60,
#set MQTT2_DVES_B642C2_CH2 rgb EB2F09,
#set MQTT2_DVES_B642C2_CH2 on-for-timer 60)
#DOELSEIF
#([{sunset_abs(0,"15:00","22:00")}-22:00]
#and [Bewegungsmelder1:"^on-old-for-timer.60$"]
#and [?MQTT2_DVES_F8DDE2:state] eq "off"
#and [?MQTT2_zigbee_Aussenleichterkette:state] eq "off"
#) (
#set MQTT2_DVES_B642C2_CH2 rgb EB2F09,
#set MQTT2_DVES_B642C2_CH2 on-for-timer 300,
#set MQTT2_zigbee_Aussenleichterkette white,
#set MQTT2_zigbee_Aussenleichterkette on-for-timer 300)
#DOELSEIF
#(
#[05:30-{sunrise_abs(0,"05:30","10:00")}]
#and [Bewegungsmelder1:"^on-old-for-timer.60$"]
#and [?MQTT2_DVES_F8DDE2:state] eq "off"
#and [?MQTT2_zigbee_Aussenleichterkette:state] eq "off"
#) (
#set MQTT2_DVES_B642C2_CH2 rgb EB2F09,
#set MQTT2_DVES_B642C2_CH2 on-for-timer 60)
#   FUUID      619a6f7a-f33f-214e-fd1c-d606de4f22a6f6fe
#   MODEL      FHEM
#   NAME       BewegungsmelderNeu
#   NOTIFYDEV  global,Bewegungsmelder1,Bewegungsmelder
#   NR         179
#   NTFY_ORDER 50-BewegungsmelderNeu
#   STATE      cmd_2
#   TYPE       DOIF
#   VERSION    29460 2024-12-29 20:25:48
#   eventCount 26
#   OLDREADINGS:
#   READINGS:
#     2025-03-23 14:47:12   Device          Bewegungsmelder
#     2025-03-23 14:47:12   cmd             2
#     2025-03-23 14:47:12   cmd_event       Bewegungsmelder
#     2025-03-23 14:47:12   cmd_nr          2
#     2025-03-23 14:47:12   e_Bewegungsmelder_events on-old-for-timer 60
#     2025-03-23 14:44:53   mode            enabled
#     2025-03-23 14:47:12   state           cmd_2
#     2025-03-23 14:44:53   timer_01_c01    23.03.2025 18:55:24
#     2025-03-23 14:44:53   timer_02_c01    23.03.2025 22:00:00
#     2025-03-23 14:44:53   timer_03_c02    24.03.2025 05:30:00
#     2025-03-23 14:44:53   timer_04_c02    24.03.2025 05:28:49
#     2025-03-23 14:44:53   timer_05_c03    23.03.2025 18:55:24
#     2025-03-23 14:44:53   timer_06_c03    23.03.2025 22:00:00
#     2025-03-23 14:44:53   timer_07_c04    24.03.2025 05:30:00
#     2025-03-23 14:44:53   timer_08_c04    24.03.2025 05:30:00
#   Regex:
#     accu:
#     bar:
#     barAvg:
#     collect:
#     cond:
#       Bewegungsmelder:
#         0:
#           &STATE     ^Bewegungsmelder$
#         1:
#           &STATE     ^Bewegungsmelder$
#       Bewegungsmelder1:
#         2:
#           &STATE     ^Bewegungsmelder1$
#         3:
#           &STATE     ^Bewegungsmelder1$
#   attr:
#     cmdState:
#     wait:
#     waitdel:
#   condition:
#     0           ::DOIF_time($hash,0,1,$wday,$hms)  and ::EventDoIf('Bewegungsmelder',$hash,'^on-old-for-timer.60$',1)  and ::ReadingValDoIf($hash,'MQTT2_DVES_F8DDE2','state') eq "off" and ::ReadingValDoIf($hash,'MQTT2_DVES_D61F5E','state') eq "off" and ::ReadingValDoIf($hash,'MQTT2_zigbee_Aussenleichterkette','state') eq "off"
#     1           ::DOIF_time($hash,2,3,$wday,$hms)  and ::EventDoIf('Bewegungsmelder',$hash,'^on-old-for-timer.60$',1)  and ::ReadingValDoIf($hash,'MQTT2_DVES_F8DDE2','state') eq "off"  and ::ReadingValDoIf($hash,'MQTT2_DVES_D61F5E','state') eq "off" and ::ReadingValDoIf($hash,'MQTT2_zigbee_Aussenleichterkette','state') eq "off"
#     2          ::DOIF_time($hash,4,5,$wday,$hms)  and ::EventDoIf('Bewegungsmelder1',$hash,'^on-old-for-timer.60$',1)  and ::ReadingValDoIf($hash,'MQTT2_DVES_F8DDE2','state') eq "off" and ::ReadingValDoIf($hash,'MQTT2_zigbee_Aussenleichterkette','state') eq "off"
#     3           ::DOIF_time($hash,6,7,$wday,$hms)  and ::EventDoIf('Bewegungsmelder1',$hash,'^on-old-for-timer.60$',1)  and ::ReadingValDoIf($hash,'MQTT2_DVES_F8DDE2','state') eq "off"  and ::ReadingValDoIf($hash,'MQTT2_zigbee_Aussenleichterkette','state') eq "off"
#   days:
#   do:
#     0:
#       0           set MQTT2_DVES_D61F5E on-for-timer 300, set MQTT2_DVES_B642C2_CH2 rgb EB2F09, set MQTT2_DVES_B642C2_CH2 on-for-timer 300, set MQTT2_zigbee_Aussenleichterkette white, set MQTT2_zigbee_Aussenleichterkette on-for-timer 300
#     1:
#       0           set MQTT2_DVES_D61F5E on-for-timer 60, set MQTT2_DVES_B642C2_CH2 rgb EB2F09, set MQTT2_DVES_B642C2_CH2 on-for-timer 60
#     2:
#       0           set MQTT2_DVES_B642C2_CH2 rgb EB2F09, set MQTT2_DVES_B642C2_CH2 on-for-timer 300, set MQTT2_zigbee_Aussenleichterkette white, set MQTT2_zigbee_Aussenleichterkette on-for-timer 300
#     3:
#       0           set MQTT2_DVES_B642C2_CH2 rgb EB2F09, set MQTT2_DVES_B642C2_CH2 on-for-timer 60
#     4:
#   helper:
#     NOTIFYDEV  global,Bewegungsmelder1,Bewegungsmelder
#     event      on-old-for-timer 60
#     globalinit 1
#     last_timer 8
#     sleeptimer -1
#     timerdev   Bewegungsmelder
#     timerevent on-old-for-timer 60
#     triggerDev Bewegungsmelder
#     DOIF_eventa:
#       cmd_nr: 2
#       cmd: 2
#       cmd_event: Bewegungsmelder
#       cmd_2
#     DOIF_eventas:
#       cmd_nr: 2
#       cmd: 2
#       cmd_event: Bewegungsmelder
#       state: cmd_2
#     timerevents:
#       on-old-for-timer 60
#     timereventsState:
#       state: on-old-for-timer 60
#     triggerEvents:
#       on-old-for-timer 60
#     triggerEventsState:
#       state: on-old-for-timer 60
#   internals:
#   interval:
#     0          -1
#     1          0
#     2          -1
#     3          2
#     4          -1
#     5          4
#     6          -1
#     7          6
#   intervalfunc:
#   localtime:
#     0          1742752524
#     1          1742763600
#     2          1742790600
#     3          1742790529
#     4          1742752524
#     5          1742763600
#     6          1742790600
#     7          1742790600
#   readings:
#   realtime:
#     0          18:55:24
#     1          22:00:00
#     2          05:30:00
#     3          05:28:49
#     4          18:55:24
#     5          22:00:00
#     6          05:30:00
#     7          05:30:00
#   time:
#     0          {sunset_abs(0,"15:00","22:00")}
#     1          22:00:00
#     2          05:30:00
#     3          {sunrise_abs()}
#     4          {sunset_abs(0,"15:00","22:00")}
#     5          22:00:00
#     6          05:30:00
#     7          {sunrise_abs(0,"05:30","10:00")}
#   timeCond:
#     0          0
#     1          0
#     2          1
#     3          1
#     4          2
#     5          2
#     6          3
#     7          3
#   timer:
#     0          0
#     1          0
#     2          0
#     3          0
#     4          0
#     5          0
#     6          0
#     7          0
#   timers:
#     0           0  1
#     1           2  3
#     2           4  5
#     3           6  7
#   trigger:
#     all         Bewegungsmelder Bewegungsmelder1
#   triggertime:
#     1742752524:
#       localtime  1742752524
#       hash:
#     1742763600:
#       localtime  1742763600
#       hash:
#     1742790529:
#       localtime  1742790529
#       hash:
#     1742790600:
#       localtime  1742790600
#       hash:
#   uiState:
#   uiTable:
#
setstate BewegungsmelderNeu cmd_2
setstate BewegungsmelderNeu 2025-03-23 14:47:12 Device Bewegungsmelder
setstate BewegungsmelderNeu 2025-03-23 14:47:12 cmd 2
setstate BewegungsmelderNeu 2025-03-23 14:47:12 cmd_event Bewegungsmelder
setstate BewegungsmelderNeu 2025-03-23 14:47:12 cmd_nr 2
setstate BewegungsmelderNeu 2025-03-23 14:47:12 e_Bewegungsmelder_events on-old-for-timer 60
setstate BewegungsmelderNeu 2025-03-23 14:44:53 mode enabled
setstate BewegungsmelderNeu 2025-03-23 14:47:12 state cmd_2
setstate BewegungsmelderNeu 2025-03-23 14:44:53 timer_01_c01 23.03.2025 18:55:24
setstate BewegungsmelderNeu 2025-03-23 14:44:53 timer_02_c01 23.03.2025 22:00:00
setstate BewegungsmelderNeu 2025-03-23 14:44:53 timer_03_c02 24.03.2025 05:30:00
setstate BewegungsmelderNeu 2025-03-23 14:44:53 timer_04_c02 24.03.2025 05:28:49
setstate BewegungsmelderNeu 2025-03-23 14:44:53 timer_05_c03 23.03.2025 18:55:24
setstate BewegungsmelderNeu 2025-03-23 14:44:53 timer_06_c03 23.03.2025 22:00:00
setstate BewegungsmelderNeu 2025-03-23 14:44:53 timer_07_c04 24.03.2025 05:30:00
setstate BewegungsmelderNeu 2025-03-23 14:44:53 timer_08_c04 24.03.2025 05:30:00