FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: FHEM-User22 am 11 November 2022, 07:55:18

Titel: DOIF will nicht
Beitrag von: FHEM-User22 am 11 November 2022, 07:55:18
Moin an alle.
Ich bin am verzweifeln, was mache ich falsch?

DOIF Früh:
([Tageslicht] eq "dunkel" and ([05:30-06:05|12345] or [06:30-12:00|Sam] or [07:00-12:00|Son])) (set Hut_Fest on) DOELSE (set Hut_Fest off)
schaltet Hut_Fest richtig ein und aus,

DOIF Abend:
([Tageslicht] eq "dunkel" and ([12:00-21:30|12345] or [12:00-21:30|Sam] or [12:00-21:30|Son])) (set Hut_Fest on) DOELSE (set Hut_Fest off)

schaltet Hut_Fest nicht an, nur nach einem set Abend checkall, wenn die Bedingungen gegeben sind.

Soll ich das List jeweils posten, oder habe ich einen Denkfehler?

Dankeschön

Titel: Antw:DOIF will nicht
Beitrag von: Gisbert am 11 November 2022, 08:14:25
Hallo FHEM-User22,

laut commandref kennt DOIF Sa und So (falls Englisch eingestellt: Sa und Su), aber nicht Sam und Son.
Du kannst für das Wochenende auch ganz einfach die Ergänzung "7" nehmen - so steht es jedenfalls in der deutschen commandref drin.

Ein list wäre in jedem Fall hilfreich.

Viele Grüße Gisbert
Titel: Antw:DOIF will nicht
Beitrag von: FHEM-User22 am 11 November 2022, 08:39:25
Hallo Gisbert,
danke, das mit den Sa So usw. ist das nächste Problem.
Ich hatte begonnen, die Tage mit 1234usw. zu machen, aber die 0 für Sonntag funzt seltsamerweise gar nicht. Daher habe ich die andere Schreibweise genommen.
Im Attr weekdays steht:
Beispiel: di_mydoif attr weekdays Son,Mon,Die,Mit,Don,Fre,Sam,Wochenende,Arbeitstag,WochenendeMorgen
also sollte es gehen.
"Wochenende" fällt beim WAF durch, da Samstag und Sonntag jeweils anders sein soll/könnte.

Zum Hauptproblem:
Aber die beiden DOIF sind doch exakt gleich. Eins schaltet und das andere nicht. Wo habe ich einen Fehler?

Beste Grüße
Titel: Antw:DOIF will nicht
Beitrag von: Gisbert am 11 November 2022, 10:07:24
Hallo FHEM-User22,

bitte ein list deiner beiden Devices. Warum eigentlich zwei? Das geht auch in einem.

DOIF führt bei Erfüllung einer Bedingung diese genau einmal aus. Vielleicht fehlt ein do always (nur eine Vermutung).

Schau mal, was im Event-Monitor erscheint (.*Tageslicht.*), wenn die Bedingungen für deine DOIFs erfüllt sind.

Viele Grüße Gisbert
Titel: Antw:DOIF will nicht
Beitrag von: FHEM-User22 am 11 November 2022, 10:28:41
Hallo,

das funktioniert:

define Festfrueh DOIF ([Tageslicht] eq "dunkel" and ([05:30-06:05|12345] or [06:30-12:00|Sam] or [07:00-12:00|Son])) (set Hut_Fest on) DOELSE (set Hut_Fest off)
attr Festfrueh cmdState on|off
attr Festfrueh do always
attr Festfrueh event-on-change-reading state
attr Festfrueh group Astro
attr Festfrueh room Bedienung,y-Devices
#   DEF        ([Tageslicht] eq "dunkel" and ([05:30-06:05|12345] or [06:30-12:00|Sam] or [07:00-12:00|Son])) (set Hut_Fest on) DOELSE (set Hut_Fest off)
#   FUUID      63676ecf-f33f-bd9c-d567-40ef504c77bbf166
#   MODEL      FHEM
#   NAME       Festfrueh
#   NOTIFYDEV  Tageslicht,global
#   NR         419
#   NTFY_ORDER 50-Festfrueh
#   STATE      off
#   TYPE       DOIF
#   VERSION    26655 2022-11-05 18:33:59
#   eventCount 4
#   READINGS:
#     2022-11-11 09:45:17   Device          Tageslicht
#     2022-11-11 09:45:17   cmd             2
#     2022-11-11 09:45:17   cmd_event       Tageslicht
#     2022-11-11 09:45:17   cmd_nr          2
#     2022-11-11 09:45:17   e_Tageslicht_STATE hell
#     2022-11-07 15:57:22   mode            enabled
#     2022-11-11 09:45:17   state           off
#     2022-11-11 06:05:00   timer_01_c01    12.11.2022 05:30:00|12345
#     2022-11-11 06:05:00   timer_02_c01    12.11.2022 06:05:00|12345
#     2022-11-10 12:00:00   timer_03_c01    11.11.2022 06:30:00|Sam
#     2022-11-10 12:00:00   timer_04_c01    11.11.2022 12:00:00|Sam
#     2022-11-10 12:00:00   timer_05_c01    11.11.2022 07:00:00|Son
#     2022-11-10 12:00:00   timer_06_c01    11.11.2022 12:00:00|Son
#   Regex:
#     accu:
#     collect:
#     cond:
#       Tageslicht:
#         0:
#           &STATE     ^Tageslicht$
#   attr:
#     cmdState:
#       0:
#         on
#       1:
#         off
#     wait:
#     waitdel:
#   condition:
#     0          ::InternalDoIf($hash,'Tageslicht','STATE') eq "dunkel" and (::DOIF_time($hash,0,1,$wday,$hms,"12345") or ::DOIF_time($hash,2,3,$wday,$hms,"Sam") or ::DOIF_time($hash,4,5,$wday,$hms,"Son"))
#   days:
#     0          12345
#     1          12345
#     2          Sam
#     3          Sam
#     4          Son
#     5          Son
#   do:
#     0:
#       0          set Hut_Fest on
#     1:
#       0          set Hut_Fest off
#   helper:
#     NOTIFYDEV  Tageslicht,global
#     event      hell
#     globalinit 1
#     last_timer 6
#     sleeptimer -1
#     timerdev   Tageslicht
#     timerevent hell
#     triggerDev Tageslicht
#     DOIF_eventa:
#       cmd_nr: 2
#       cmd: 2
#       cmd_event: Tageslicht
#       off
#     DOIF_eventas:
#       cmd_nr: 2
#       cmd: 2
#       cmd_event: Tageslicht
#       state: off
#     timerevents:
#       hell
#     timereventsState:
#       state: hell
#     triggerEvents:
#       hell
#     triggerEventsState:
#       state: hell
#   internals:
#     all         Tageslicht:STATE
#   interval:
#     0          -1
#     1          0
#     2          -1
#     3          2
#     4          -1
#     5          4
#   intervalfunc:
#   intervaltimer:
#   localtime:
#     0          1668227400
#     1          1668229500
#     2          1668144600
#     3          1668164400
#     4          1668146400
#     5          1668164400
#   perlblock:
#   readings:
#   realtime:
#     0          05:30:00
#     1          06:05:00
#     2          06:30:00
#     3          12:00:00
#     4          07:00:00
#     5          12:00:00
#   time:
#     0          05:30:00
#     1          06:05:00
#     2          06:30:00
#     3          12:00:00
#     4          07:00:00
#     5          12:00:00
#   timeCond:
#     0          0
#     1          0
#     2          0
#     3          0
#     4          0
#     5          0
#   timer:
#     0          0
#     1          0
#     2          0
#     3          0
#     4          0
#     5          0
#   timers:
#     0           0  1  2  3  4  5
#   trigger:
#   triggertime:
#     1668164400:
#       localtime  1668164400
#       hash:
#     1668227400:
#       localtime  1668227400
#       hash:
#     1668229500:
#       localtime  1668229500
#       hash:
#   uiState:
#   uiTable:
#
setstate Festfrueh off
setstate Festfrueh 2022-11-11 09:45:17 Device Tageslicht
setstate Festfrueh 2022-11-11 09:45:17 cmd 2
setstate Festfrueh 2022-11-11 09:45:17 cmd_event Tageslicht
setstate Festfrueh 2022-11-11 09:45:17 cmd_nr 2
setstate Festfrueh 2022-11-11 09:45:17 e_Tageslicht_STATE hell
setstate Festfrueh 2022-11-07 15:57:22 mode enabled
setstate Festfrueh 2022-11-11 09:45:17 state off
setstate Festfrueh 2022-11-11 06:05:00 timer_01_c01 12.11.2022 05:30:00|12345
setstate Festfrueh 2022-11-11 06:05:00 timer_02_c01 12.11.2022 06:05:00|12345
setstate Festfrueh 2022-11-10 12:00:00 timer_03_c01 11.11.2022 06:30:00|Sam
setstate Festfrueh 2022-11-10 12:00:00 timer_04_c01 11.11.2022 12:00:00|Sam
setstate Festfrueh 2022-11-10 12:00:00 timer_05_c01 11.11.2022 07:00:00|Son
setstate Festfrueh 2022-11-10 12:00:00 timer_06_c01 11.11.2022 12:00:00|Son




das nicht:

define Festabend DOIF ([Tageslicht] eq "dunkel" and ([12:00-21:30|12345] or [12:00-21:30|Sam] or [12:00-21:30|Son])) (set Hut_Fest on) DOELSE (set Hut_Fest off)
attr Festabend cmdState on|off
attr Festabend do always
attr Festabend event-on-change-reading state
attr Festabend group Astro
attr Festabend room Bedienung,y-Devices
#   DEF        ([Tageslicht] eq "dunkel" and ([12:00-21:30|12345] or [12:00-21:30|Sam] or [12:00-21:30|Son])) (set Hut_Fest on) DOELSE (set Hut_Fest off)
#   FUUID      63676eec-f33f-bd9c-f6bc-628e92b43590d243
#   MODEL      FHEM
#   NAME       Festabend
#   NOTIFYDEV  Tageslicht,global
#   NR         420
#   NTFY_ORDER 50-Festabend
#   STATE      off
#   TYPE       DOIF
#   VERSION    26655 2022-11-05 18:33:59
#   eventCount 4
#   READINGS:
#     2022-11-11 09:45:17   Device          Tageslicht
#     2022-11-11 09:45:17   cmd             2
#     2022-11-11 09:45:17   cmd_event       Tageslicht
#     2022-11-11 09:45:17   cmd_nr          2
#     2022-11-11 09:45:17   e_Tageslicht_STATE hell
#     2022-11-07 15:58:07   mode            enabled
#     2022-11-11 09:45:17   state           off
#     2022-11-10 21:30:00   timer_01_c01    11.11.2022 12:00:00|12345
#     2022-11-10 21:30:00   timer_02_c01    11.11.2022 21:30:00|12345
#     2022-11-10 21:30:00   timer_03_c01    11.11.2022 12:00:00|Sam
#     2022-11-10 21:30:00   timer_04_c01    11.11.2022 21:30:00|Sam
#     2022-11-10 21:30:00   timer_05_c01    11.11.2022 12:00:00|Son
#     2022-11-10 21:30:00   timer_06_c01    11.11.2022 21:30:00|Son
#   Regex:
#     accu:
#     collect:
#     cond:
#       Tageslicht:
#         0:
#           &STATE     ^Tageslicht$
#   attr:
#     cmdState:
#       0:
#         on
#       1:
#         off
#     wait:
#     waitdel:
#   condition:
#     0          ::InternalDoIf($hash,'Tageslicht','STATE') eq "dunkel" and (::DOIF_time($hash,0,1,$wday,$hms,"12345") or ::DOIF_time($hash,2,3,$wday,$hms,"Sam") or ::DOIF_time($hash,4,5,$wday,$hms,"Son"))
#   days:
#     0          12345
#     1          12345
#     2          Sam
#     3          Sam
#     4          Son
#     5          Son
#   do:
#     0:
#       0          set Hut_Fest on
#     1:
#       0          set Hut_Fest off
#   helper:
#     NOTIFYDEV  Tageslicht,global
#     event      hell
#     globalinit 1
#     last_timer 6
#     sleeptimer -1
#     timerdev   Tageslicht
#     timerevent hell
#     triggerDev Tageslicht
#     DOIF_eventa:
#       cmd_nr: 2
#       cmd: 2
#       cmd_event: Tageslicht
#       off
#     DOIF_eventas:
#       cmd_nr: 2
#       cmd: 2
#       cmd_event: Tageslicht
#       state: off
#     timerevents:
#       hell
#     timereventsState:
#       state: hell
#     triggerEvents:
#       hell
#     triggerEventsState:
#       state: hell
#   internals:
#     all         Tageslicht:STATE
#   interval:
#     0          -1
#     1          0
#     2          -1
#     3          2
#     4          -1
#     5          4
#   intervalfunc:
#   intervaltimer:
#   localtime:
#     0          1668164400
#     1          1668198600
#     2          1668164400
#     3          1668198600
#     4          1668164400
#     5          1668198600
#   perlblock:
#   readings:
#   realtime:
#     0          12:00:00
#     1          21:30:00
#     2          12:00:00
#     3          21:30:00
#     4          12:00:00
#     5          21:30:00
#   time:
#     0          12:00:00
#     1          21:30:00
#     2          12:00:00
#     3          21:30:00
#     4          12:00:00
#     5          21:30:00
#   timeCond:
#     0          0
#     1          0
#     2          0
#     3          0
#     4          0
#     5          0
#   timer:
#     0          0
#     1          0
#     2          0
#     3          0
#     4          0
#     5          0
#   timers:
#     0           0  1  2  3  4  5
#   trigger:
#   triggertime:
#     1668164400:
#       localtime  1668164400
#       hash:
#     1668198600:
#       localtime  1668198600
#       hash:
#   uiState:
#   uiTable:
#
setstate Festabend off
setstate Festabend 2022-11-11 09:45:17 Device Tageslicht
setstate Festabend 2022-11-11 09:45:17 cmd 2
setstate Festabend 2022-11-11 09:45:17 cmd_event Tageslicht
setstate Festabend 2022-11-11 09:45:17 cmd_nr 2
setstate Festabend 2022-11-11 09:45:17 e_Tageslicht_STATE hell
setstate Festabend 2022-11-07 15:58:07 mode enabled
setstate Festabend 2022-11-11 09:45:17 state off
setstate Festabend 2022-11-10 21:30:00 timer_01_c01 11.11.2022 12:00:00|12345
setstate Festabend 2022-11-10 21:30:00 timer_02_c01 11.11.2022 21:30:00|12345
setstate Festabend 2022-11-10 21:30:00 timer_03_c01 11.11.2022 12:00:00|Sam
setstate Festabend 2022-11-10 21:30:00 timer_04_c01 11.11.2022 21:30:00|Sam
setstate Festabend 2022-11-10 21:30:00 timer_05_c01 11.11.2022 12:00:00|Son
setstate Festabend 2022-11-10 21:30:00 timer_06_c01 11.11.2022 21:30:00|Son



Beste Grüße
Titel: Antw:DOIF will nicht
Beitrag von: Damian am 11 November 2022, 10:52:00
Wieso? Beide funktionieren :)


Um 9:45 ist keine der Bedingungen wahr [12:00-21:30|12345] or [12:00-21:30|Sam] or [12:00-21:30|Son], daher cmd_2
Titel: Antw:DOIF will nicht
Beitrag von: FHEM-User22 am 11 November 2022, 11:09:19
Hallo Damian,

ZitatBeide funktionieren :)

eben leider nicht. Abends muss ich ein set ... checkall machen, damit das Licht angeht. Keine Ahnung, warum.

Beste Grüße
Titel: Antw:DOIF will nicht
Beitrag von: Damian am 11 November 2022, 11:22:57
Zitat von: FHEM-User22 am 11 November 2022, 11:09:19
Hallo Damian,


eben leider nicht. Abends muss ich ein set ... checkall machen, damit das Licht angeht. Keine Ahnung, warum.

Beste Grüße

Dann poste list nach 12:00 bevor du checkall aufrufst. Ein Timer muss auf 12:00 Uhr stehen.
Titel: Antw:DOIF will nicht
Beitrag von: Damian am 11 November 2022, 11:29:11
Ich sehe gerade:

Du benutzt Kürzel wie Sam, Son ohne diese über das Attribut weekdays definiert zu haben - das kann nicht gut funktionieren.

siehe https://fhem.de/commandref_DE.html#DOIF_Wochentagsteuerung
Titel: Antw:DOIF will nicht
Beitrag von: FHEM-User22 am 11 November 2022, 16:05:26
Hallo,

das geht nicht:
define Festabend DOIF ([Tageslicht] eq "dunkel" and ([12:00-21:30|12345] or [12:00-21:30|Sam] or [12:00-21:30|Son])) (set Hut_Fest on) DOELSE (set Hut_Fest off)
attr Festabend cmdState on|off
attr Festabend do always
attr Festabend event-on-change-reading state
attr Festabend group Astro
attr Festabend room Bedienung,y-Devices
#   DEF        ([Tageslicht] eq "dunkel" and ([12:00-21:30|12345] or [12:00-21:30|Sam] or [12:00-21:30|Son])) (set Hut_Fest on) DOELSE (set Hut_Fest off)
#   FUUID      63676eec-f33f-bd9c-f6bc-628e92b43590d243
#   MODEL      FHEM
#   NAME       Festabend
#   NOTIFYDEV  Tageslicht,global
#   NR         420
#   NTFY_ORDER 50-Festabend
#   STATE      off
#   TYPE       DOIF
#   VERSION    26655 2022-11-05 18:33:59
#   eventCount 4
#   READINGS:
#     2022-11-11 09:45:17   Device          Tageslicht
#     2022-11-11 12:00:00   cmd             2
#     2022-11-11 12:00:00   cmd_event       timer_1
#     2022-11-11 12:00:00   cmd_nr          2
#     2022-11-11 09:45:17   e_Tageslicht_STATE hell
#     2022-11-07 15:58:07   mode            enabled
#     2022-11-11 12:00:00   state           off
#     2022-11-10 21:30:00   timer_01_c01    11.11.2022 12:00:00|12345
#     2022-11-10 21:30:00   timer_02_c01    11.11.2022 21:30:00|12345
#     2022-11-10 21:30:00   timer_03_c01    11.11.2022 12:00:00|Sam
#     2022-11-10 21:30:00   timer_04_c01    11.11.2022 21:30:00|Sam
#     2022-11-10 21:30:00   timer_05_c01    11.11.2022 12:00:00|Son
#     2022-11-10 21:30:00   timer_06_c01    11.11.2022 21:30:00|Son
#   Regex:
#     accu:
#     collect:
#     cond:
#       Tageslicht:
#         0:
#           &STATE     ^Tageslicht$
#   attr:
#     cmdState:
#       0:
#         on
#       1:
#         off
#     wait:
#     waitdel:
#   condition:
#     0          ::InternalDoIf($hash,'Tageslicht','STATE') eq "dunkel" and (::DOIF_time($hash,0,1,$wday,$hms,"12345") or ::DOIF_time($hash,2,3,$wday,$hms,"Sam") or ::DOIF_time($hash,4,5,$wday,$hms,"Son"))
#   days:
#     0          12345
#     1          12345
#     2          Sam
#     3          Sam
#     4          Son
#     5          Son
#   do:
#     0:
#       0          set Hut_Fest on
#     1:
#       0          set Hut_Fest off
#   helper:
#     NOTIFYDEV  Tageslicht,global
#     event      timer_1
#     globalinit 1
#     last_timer 6
#     sleeptimer -1
#     timerdev   
#     timerevent timer_1
#     triggerDev
#     DOIF_eventa:
#       cmd_nr: 2
#       cmd: 2
#       cmd_event: timer_1
#       off
#     DOIF_eventas:
#       cmd_nr: 2
#       cmd: 2
#       cmd_event: timer_1
#       state: off
#     timerevents:
#       timer_1
#     timereventsState:
#       timer_1
#     triggerEvents:
#       timer_1
#     triggerEventsState:
#       timer_1
#   internals:
#     all         Tageslicht:STATE
#   interval:
#     0          -1
#     1          0
#     2          -1
#     3          2
#     4          -1
#     5          4
#   intervalfunc:
#   intervaltimer:
#   localtime:
#     0          1668164400
#     1          1668198600
#     2          1668164400
#     3          1668198600
#     4          1668164400
#     5          1668198600
#   perlblock:
#   readings:
#   realtime:
#     0          12:00:00
#     1          21:30:00
#     2          12:00:00
#     3          21:30:00
#     4          12:00:00
#     5          21:30:00
#   time:
#     0          12:00:00
#     1          21:30:00
#     2          12:00:00
#     3          21:30:00
#     4          12:00:00
#     5          21:30:00
#   timeCond:
#     0          0
#     1          0
#     2          0
#     3          0
#     4          0
#     5          0
#   timer:
#     0          0
#     1          0
#     2          0
#     3          0
#     4          0
#     5          0
#   timers:
#     0           0  1  2  3  4  5
#   trigger:
#   triggertime:
#     1668198600:
#       localtime  1668198600
#       hash:
#   uiState:
#   uiTable:
#
setstate Festabend off
setstate Festabend 2022-11-11 09:45:17 Device Tageslicht
setstate Festabend 2022-11-11 12:00:00 cmd 2
setstate Festabend 2022-11-11 12:00:00 cmd_event timer_1
setstate Festabend 2022-11-11 12:00:00 cmd_nr 2
setstate Festabend 2022-11-11 09:45:17 e_Tageslicht_STATE hell
setstate Festabend 2022-11-07 15:58:07 mode enabled
setstate Festabend 2022-11-11 12:00:00 state off
setstate Festabend 2022-11-10 21:30:00 timer_01_c01 11.11.2022 12:00:00|12345
setstate Festabend 2022-11-10 21:30:00 timer_02_c01 11.11.2022 21:30:00|12345
setstate Festabend 2022-11-10 21:30:00 timer_03_c01 11.11.2022 12:00:00|Sam
setstate Festabend 2022-11-10 21:30:00 timer_04_c01 11.11.2022 21:30:00|Sam
setstate Festabend 2022-11-10 21:30:00 timer_05_c01 11.11.2022 12:00:00|Son
setstate Festabend 2022-11-10 21:30:00 timer_06_c01 11.11.2022 21:30:00|Son



das hier geht:

define Festfrueh DOIF ([Tageslicht] eq "dunkel" and ([05:30-06:05|12345] or [06:30-12:00|Sam] or [07:00-12:00|Son])) (set Hut_Fest on) DOELSE (set Hut_Fest off)
attr Festfrueh cmdState on|off
attr Festfrueh do always
attr Festfrueh event-on-change-reading state
attr Festfrueh group Astro
attr Festfrueh room Bedienung,y-Devices
#   DEF        ([Tageslicht] eq "dunkel" and ([05:30-06:05|12345] or [06:30-12:00|Sam] or [07:00-12:00|Son])) (set Hut_Fest on) DOELSE (set Hut_Fest off)
#   FUUID      63676ecf-f33f-bd9c-d567-40ef504c77bbf166
#   MODEL      FHEM
#   NAME       Festfrueh
#   NOTIFYDEV  Tageslicht,global
#   NR         419
#   NTFY_ORDER 50-Festfrueh
#   STATE      off
#   TYPE       DOIF
#   VERSION    26655 2022-11-05 18:33:59
#   eventCount 4
#   READINGS:
#     2022-11-11 09:45:17   Device          Tageslicht
#     2022-11-11 09:45:17   cmd             2
#     2022-11-11 09:45:17   cmd_event       Tageslicht
#     2022-11-11 09:45:17   cmd_nr          2
#     2022-11-11 09:45:17   e_Tageslicht_STATE hell
#     2022-11-07 15:57:22   mode            enabled
#     2022-11-11 09:45:17   state           off
#     2022-11-11 06:05:00   timer_01_c01    12.11.2022 05:30:00|12345
#     2022-11-11 06:05:00   timer_02_c01    12.11.2022 06:05:00|12345
#     2022-11-11 12:00:00   timer_03_c01    12.11.2022 06:30:00|Sam
#     2022-11-11 12:00:00   timer_04_c01    12.11.2022 12:00:00|Sam
#     2022-11-11 12:00:00   timer_05_c01    12.11.2022 07:00:00|Son
#     2022-11-11 12:00:00   timer_06_c01    12.11.2022 12:00:00|Son
#   Regex:
#     accu:
#     collect:
#     cond:
#       Tageslicht:
#         0:
#           &STATE     ^Tageslicht$
#   attr:
#     cmdState:
#       0:
#         on
#       1:
#         off
#     wait:
#     waitdel:
#   condition:
#     0          ::InternalDoIf($hash,'Tageslicht','STATE') eq "dunkel" and (::DOIF_time($hash,0,1,$wday,$hms,"12345") or ::DOIF_time($hash,2,3,$wday,$hms,"Sam") or ::DOIF_time($hash,4,5,$wday,$hms,"Son"))
#   days:
#     0          12345
#     1          12345
#     2          Sam
#     3          Sam
#     4          Son
#     5          Son
#   do:
#     0:
#       0          set Hut_Fest on
#     1:
#       0          set Hut_Fest off
#   helper:
#     NOTIFYDEV  Tageslicht,global
#     event      hell
#     globalinit 1
#     last_timer 6
#     sleeptimer -1
#     timerdev   Tageslicht
#     timerevent hell
#     triggerDev Tageslicht
#     DOIF_eventa:
#       cmd_nr: 2
#       cmd: 2
#       cmd_event: Tageslicht
#       off
#     DOIF_eventas:
#       cmd_nr: 2
#       cmd: 2
#       cmd_event: Tageslicht
#       state: off
#     timerevents:
#       hell
#     timereventsState:
#       state: hell
#     triggerEvents:
#       hell
#     triggerEventsState:
#       state: hell
#   internals:
#     all         Tageslicht:STATE
#   interval:
#     0          -1
#     1          0
#     2          -1
#     3          2
#     4          -1
#     5          4
#   intervalfunc:
#   intervaltimer:
#   localtime:
#     0          1668227400
#     1          1668229500
#     2          1668231000
#     3          1668250800
#     4          1668232800
#     5          1668250800
#   perlblock:
#   readings:
#   realtime:
#     0          05:30:00
#     1          06:05:00
#     2          06:30:00
#     3          12:00:00
#     4          07:00:00
#     5          12:00:00
#   time:
#     0          05:30:00
#     1          06:05:00
#     2          06:30:00
#     3          12:00:00
#     4          07:00:00
#     5          12:00:00
#   timeCond:
#     0          0
#     1          0
#     2          0
#     3          0
#     4          0
#     5          0
#   timer:
#     0          0
#     1          0
#     2          0
#     3          0
#     4          0
#     5          0
#   timers:
#     0           0  1  2  3  4  5
#   trigger:
#   triggertime:
#     1668227400:
#       localtime  1668227400
#       hash:
#     1668229500:
#       localtime  1668229500
#       hash:
#     1668231000:
#       localtime  1668231000
#       hash:
#     1668232800:
#       localtime  1668232800
#       hash:
#     1668250800:
#       localtime  1668250800
#       hash:
#   uiState:
#   uiTable:
#
setstate Festfrueh off
setstate Festfrueh 2022-11-11 09:45:17 Device Tageslicht
setstate Festfrueh 2022-11-11 09:45:17 cmd 2
setstate Festfrueh 2022-11-11 09:45:17 cmd_event Tageslicht
setstate Festfrueh 2022-11-11 09:45:17 cmd_nr 2
setstate Festfrueh 2022-11-11 09:45:17 e_Tageslicht_STATE hell
setstate Festfrueh 2022-11-07 15:57:22 mode enabled
setstate Festfrueh 2022-11-11 09:45:17 state off
setstate Festfrueh 2022-11-11 06:05:00 timer_01_c01 12.11.2022 05:30:00|12345
setstate Festfrueh 2022-11-11 06:05:00 timer_02_c01 12.11.2022 06:05:00|12345
setstate Festfrueh 2022-11-11 12:00:00 timer_03_c01 12.11.2022 06:30:00|Sam
setstate Festfrueh 2022-11-11 12:00:00 timer_04_c01 12.11.2022 12:00:00|Sam
setstate Festfrueh 2022-11-11 12:00:00 timer_05_c01 12.11.2022 07:00:00|Son
setstate Festfrueh 2022-11-11 12:00:00 timer_06_c01 12.11.2022 12:00:00|Son



Die Wochentage stelle ich dann um. Aber seltsamerweise geht 0 für Sonntag gar nicht, also es tut sich nichts.

Ich sehe gerade, die Structure Hut_Fest geht kurz auf on (Das Lampensymbol kurz an und wieder aus) wenn ich Tageslicht auf "dunkel" setze. Bleibt aber nicht an.

define Hut_Fest structure Hut04_02_Sw_02 Hut04_01_Sw_02 Hut04_Terrasse_Fest MQTT2_Fenster MQTT2_Fremd_kleiner_Stern
attr Hut_Fest userattr room_map structexclude
attr Hut_Fest DbLogInclude (digit|state)
status {(ReadingsVal($name,"on","") eq "off")?"1":"0"}
attr Hut_Fest eventMap /on-for-timer 7200:2h/ /off:aus/ /on:an/
attr Hut_Fest room Bedienung
attr Hut_Fest setStateIndirectly 1
attr Hut_Fest userReadings Zeitstempel {(split(' ',ReadingsTimestamp($name,"state",0)))[1]},\
digit {ReadingsVal($name,"state","") eq "on" ? 1 : 0;;}
attr Hut_Fest webCmd on:on-for-timer 300:off
#   ATTR       Hut04_02_Sw_02
#   CHANGEDCNT 62
#   DEF        Hut04_02_Sw_02 Hut04_01_Sw_02 Hut04_Terrasse_Fest MQTT2_Fenster MQTT2_Fremd_kleiner_Stern
#   FUUID      62150db1-f33f-bd9c-3fe2-db42f02f7b5f5108
#   NAME       Hut_Fest
#   NOTIFYDEV  MQTT2_Fremd_kleiner_Stern,global,Hut04_Terrasse_Fest,Hut04_01_Sw_02,MQTT2_Fenster
#   NR         58
#   NTFY_ORDER 50-Hut_Fest
#   STATE      aus
#   TYPE       structure
#   eventCount 44715
#   Helper:
#     DBLOG:
#       digit:
#         LogDBCloud:
#           TIME       1668179677.69378
#           VALUE      0
#         LogDBHome:
#           TIME       1668179677.69822
#           VALUE      0
#       state:
#         LogDBCloud:
#           TIME       1668179677.69378
#           VALUE      off
#         LogDBHome:
#           TIME       1668179677.69822
#           VALUE      off
#   READINGS:
#     2022-11-11 16:14:37   LastDevice      MQTT2_Fenster
#     2022-11-11 16:14:37   LastDevice_Abs  MQTT2_Fenster
#     2022-11-11 16:14:37   Zeitstempel     16:14:37
#     2022-11-11 16:14:37   digit           0
#     2022-11-11 16:14:37   state           off
#     2022-10-06 08:04:11   status          0
#
setstate Hut_Fest aus
setstate Hut_Fest 2022-11-11 16:14:37 LastDevice MQTT2_Fenster
setstate Hut_Fest 2022-11-11 16:14:37 LastDevice_Abs MQTT2_Fenster
setstate Hut_Fest 2022-11-11 16:14:37 Zeitstempel 16:14:37
setstate Hut_Fest 2022-11-11 16:14:37 digit 0
setstate Hut_Fest 2022-11-11 16:14:37 state off
setstate Hut_Fest 2022-10-06 08:04:11 status 0



wenn ich das gleiche mit Früh (Zeit entsprechend verändert) mache, klappt alles wie es soll.



Beste Grüße
Titel: Antw:DOIF will nicht
Beitrag von: Damian am 11 November 2022, 18:03:29
0 für Sonntag muss genauso funktionieren wie die anderen Ziffern. Wenn 0 nicht funktioniert, dann ist bei dir $we auch nicht gleich 1.
Titel: Antw:DOIF will nicht
Beitrag von: FHEM-User22 am 12 November 2022, 08:37:03
Guten Morgen,
Zitat von: Damian am 11 November 2022, 18:03:29
0 für Sonntag muss genauso funktionieren wie die anderen Ziffern. Wenn 0 nicht funktioniert, dann ist bei dir $we auch nicht gleich 1.

Wie kann ich das prüfen oder ändern?

Danke

Abend hat gestern nicht angeschalten, aber Früh ging heute einwandfrei, trotz Sam

Beste Grüße
Titel: Antw:DOIF will nicht
Beitrag von: Nobbynews am 12 November 2022, 09:31:10
Zitat von: FHEM-User22 am 12 November 2022, 08:37:03
Wie kann ich das prüfen
In der Komandozeile eingeben:
{$we}
Dann sollte für heute eine '1' ausgegeben werden.
Titel: Antw:DOIF will nicht
Beitrag von: FHEM-User22 am 12 November 2022, 09:59:59
Ja, die 1 wird ausgeben.
Titel: Antw:DOIF will nicht
Beitrag von: Damian am 12 November 2022, 11:07:06
Zitat von: FHEM-User22 am 12 November 2022, 09:59:59
Ja, die 1 wird ausgeben.

Du kannst es einfach erstmal separat testen, denn ich denke, du gehst von falschen Voraussetzung in deiner Definition aus.

define di_Samstag DOIF ([+:01|6])
do always

sollte heute (Samstag) im Minutentakt cmd_1 ausführen

morgen (Sonntag) kannst du dann testen:

define di_Sonntag DOIF ([+:01|0])
do always


Wenn das funktioniert, dann hat dein Problem nichts mit diesen Angabe zu tun.
Titel: Antw:DOIF will nicht
Beitrag von: FHEM-User22 am 12 November 2022, 16:41:37
Hallo Damian,
ja, mache ich.

Aber mein Hauptproblem sind nicht die Tage (ich weis nicht, wer es hier reingebracht hat, glaube Gisbert), sondern das das eine DOIF (Früh) tadellos funktioniert und das DOIF Abends prinzipiell immer nicht den Hut_Fest einschaltet.

Dankeschön
Titel: Antw:DOIF will nicht
Beitrag von: Damian am 12 November 2022, 19:43:59
Zitat von: FHEM-User22 am 12 November 2022, 16:41:37
Hallo Damian,
ja, mache ich.

Aber mein Hauptproblem sind nicht die Tage (ich weis nicht, wer es hier reingebracht hat, glaube Gisbert), sondern das das eine DOIF (Früh) tadellos funktioniert und das DOIF Abends prinzipiell immer nicht den Hut_Fest einschaltet.

Dankeschön

Dass das nicht sinnvoll ist (mit Sam und Son), habe ich ja schon gesagt:

([Tageslicht] eq "dunkel" and ([12:00-21:30|12345] or [12:00-21:30|Sam] or [12:00-21:30|Son])) (set Hut_Fest on) DOELSE (set Hut_Fest off)

und es ist von der Bedeutung das Gleiche, wie

([Tageslicht] eq "dunkel" and [12:00-21:30]) (set Hut_Fest on) DOELSE (set Hut_Fest off)
Titel: Antw:DOIF will nicht
Beitrag von: FHEM-User22 am 14 November 2022, 08:30:34
Moin,

Zitat von: Damian am 12 November 2022, 19:43:59
([Tageslicht] eq "dunkel" and ([12:00-21:30|12345] or [12:00-21:30|Sam] or [12:00-21:30|Son])) (set Hut_Fest on) DOELSE (set Hut_Fest off)

und es ist von der Bedeutung das Gleiche, wie

([Tageslicht] eq "dunkel" and [12:00-21:30]) (set Hut_Fest on) DOELSE (set Hut_Fest off)

ja, ich weiss. Aber um den WAF zu erhalten, wird Samstags und Sonntags jeweils eine andere Zeit benötigt. Das es jetzt gleich ist, war nur zu Probezwecken.

Auf jeden Fall kann ich Abends an keinem Wochentag nutzen. Ich werde wohl ein at nutzen, das aller 5 Min. ein Checkall mit Abend macht.

Dankeschön
Titel: Antw:DOIF will nicht
Beitrag von: FHEM-User22 am 14 November 2022, 08:46:58
Moin,
jetzt nochmal,
Mache ich bei den Wochentagen was falsch?

([Tageslicht] eq "dunkel" and ([12:00-21:30|12345] or [12:00-21:30|6] or [11:00-22:30|0])) (set Hut_Fest on) DOELSE (set Hut_Fest off)


nach einem checkall sehen die Timer so aus:
timer_01_c01   14.11.2022 12:00:00|12345
timer_02_c01   14.11.2022 21:30:00|12345
timer_03_c01   14.11.2022 12:00:00|6
timer_04_c01   14.11.2022 21:30:00|6
timer_05_c01   14.11.2022 11:00:00
timer_06_c01   14.11.2022 22:30:00


Sollte nicht bei Timer 05 und 06 auch ein |0 für Sonntag dahinterstehen? Bei allen anderen Zahlen passt es.

Beste Grüße
Titel: Antw:DOIF will nicht
Beitrag von: Damian am 14 November 2022, 11:32:28
ja, das sieht so aus, dass wenn 0 alleine steht, diese geschluckt wird.

Ich werde es korrigieren. Solange kannst du So nehmen, so wie es in der Commandref steht.
Titel: Antw:DOIF will nicht
Beitrag von: FHEM-User22 am 14 November 2022, 15:58:07
Ja, mache ich so.

Jetzt habe ich mir die Events angeschaut, die DOIFs funktionieren.

2022-11-14 15:33:04 DOIF Festabend off
2022-11-14 15:33:11 DOIF Festabend on
2022-11-14 15:33:14 DOIF Festabend off
2022-11-14 15:33:17 DOIF Festabend on


Allerdings der Hut_Fest bekommt sofort nach an den aus-Befehl. Bei Früh ist das nicht so.

2022-11-14 15:46:04 structure Hut_Fest an
2022-11-14 15:46:04 structure Hut_Fest aus
2022-11-14 15:46:04 structure Hut_Fest undefined
2022-11-14 15:46:04 structure Hut_Fest Zeitstempel: 15:46:04
2022-11-14 15:46:04 structure Hut_Fest digit: 0
2022-11-14 15:46:04 structure Hut_Fest undefined
2022-11-14 15:46:04 structure Hut_Fest Zeitstempel: 15:46:04
2022-11-14 15:46:04 structure Hut_Fest digit: 0
2022-11-14 15:46:04 structure Hut_Fest undefined
2022-11-14 15:46:04 structure Hut_Fest Zeitstempel: 15:46:04
2022-11-14 15:46:04 structure Hut_Fest digit: 0
2022-11-14 15:46:04 structure Hut_Fest undefined
2022-11-14 15:46:04 structure Hut_Fest Zeitstempel: 15:46:04
2022-11-14 15:46:04 structure Hut_Fest digit: 0
2022-11-14 15:46:04 structure Hut_Fest undefined
2022-11-14 15:46:04 structure Hut_Fest Zeitstempel: 15:46:04
2022-11-14 15:46:04 structure Hut_Fest digit: 0
2022-11-14 15:46:04 structure Hut_Fest undefined
2022-11-14 15:46:04 structure Hut_Fest Zeitstempel: 15:46:04
2022-11-14 15:46:04 structure Hut_Fest digit: 0
2022-11-14 15:46:05 structure Hut_Fest undefined
2022-11-14 15:46:05 structure Hut_Fest Zeitstempel: 15:46:05
2022-11-14 15:46:05 structure Hut_Fest digit: 0
2022-11-14 15:46:05 structure Hut_Fest undefined
2022-11-14 15:46:05 structure Hut_Fest Zeitstempel: 15:46:05
2022-11-14 15:46:05 structure Hut_Fest digit: 0
2022-11-14 15:46:05 structure Hut_Fest undefined
2022-11-14 15:46:05 structure Hut_Fest Zeitstempel: 15:46:05
2022-11-14 15:46:05 structure Hut_Fest digit: 0
2022-11-14 15:46:05 structure Hut_Fest aus
2022-11-14 15:46:05 structure Hut_Fest Zeitstempel: 15:46:05
2022-11-14 15:46:05 structure Hut_Fest digit: 0
2022-11-14 15:46:06 structure Hut_Fest aus
2022-11-14 15:46:06 structure Hut_Fest Zeitstempel: 15:46:05
2022-11-14 15:46:06 structure Hut_Fest digit: 0


Kann ich nachschauen, wo er eventuell den Befehl herbekommt? Hier das List:

define Hut_Fest structure Hut04_02_Sw_02 Hut04_01_Sw_02 Hut04_Terrasse_Fest MQTT2_Fenster MQTT2_Fremd_kleiner_Stern
attr Hut_Fest DbLogInclude (digit|state)
attr Hut_Fest eventMap /on-for-timer 7200:2h/ /off:aus/ /on:an/
attr Hut_Fest room Bedienung
attr Hut_Fest setStateIndirectly 1
attr Hut_Fest userReadings Zeitstempel {(split(' ',ReadingsTimestamp($name,"state",0)))[1]},\
digit {ReadingsVal($name,"state","") eq "on" ? 1 : 0;;}
attr Hut_Fest webCmd on:on-for-timer 300:off
#   ATTR       Hut04_02_Sw_02
#   CHANGEDCNT 54856
#   DEF        Hut04_02_Sw_02 Hut04_01_Sw_02 Hut04_Terrasse_Fest MQTT2_Fenster MQTT2_Fremd_kleiner_Stern
#   FUUID      62150db1-f33f-bd9c-3fe2-db42f02f7b5f5108
#   NAME       Hut_Fest
#   NOTIFYDEV  MQTT2_Fremd_kleiner_Stern,global,Hut04_Terrasse_Fest,Hut04_01_Sw_02,MQTT2_Fenster
#   NR         58
#   NTFY_ORDER 50-Hut_Fest
#   STATE      aus
#   TYPE       structure
#   eventCount 99644
#   Helper:
#     DBLOG:
#       digit:
#         LogDBCloud:
#           TIME       1668437800.92249
#           VALUE      0
#         LogDBHome:
#           TIME       1668437800.92717
#           VALUE      0
#       state:
#         LogDBCloud:
#           TIME       1668437800.92249
#           VALUE      off
#         LogDBHome:
#           TIME       1668437800.92717
#           VALUE      off
#   READINGS:
#     2022-11-14 15:56:40   LastDevice      MQTT2_Fenster
#     2022-11-14 15:56:40   LastDevice_Abs  MQTT2_Fenster
#     2022-11-14 15:56:40   Zeitstempel     15:56:40
#     2022-11-14 15:56:40   digit           0
#     2022-11-14 15:56:40   state           off
#     2022-10-06 08:04:11   status          0
#
setstate Hut_Fest aus
setstate Hut_Fest 2022-11-14 15:56:40 LastDevice MQTT2_Fenster
setstate Hut_Fest 2022-11-14 15:56:40 LastDevice_Abs MQTT2_Fenster
setstate Hut_Fest 2022-11-14 15:56:40 Zeitstempel 15:56:40
setstate Hut_Fest 2022-11-14 15:56:40 digit 0
setstate Hut_Fest 2022-11-14 15:56:40 state off
setstate Hut_Fest 2022-10-06 08:04:11 status 0



Besten Dank
Titel: Antw:DOIF will nicht
Beitrag von: Damian am 14 November 2022, 17:46:39
Korrigierte DOIF-Version eingecheckt.

Wer das Device ausmacht, kann ich dir nicht sagen. Da musst du selbst schauen, ob noch andere Definition das Device ausschalten können.
Titel: Antw:DOIF will nicht
Beitrag von: KyleK am 14 November 2022, 19:30:00
Wird Tageslicht eventuell ,,hell" wenn das Hut_Fest angeht?
Damit würde cmd2 ausgeführt.
Titel: Antw:DOIF will nicht
Beitrag von: FHEM-User22 am 15 November 2022, 07:17:18
Guten Morgen,

Hallo KyleK,

wie meist du das? Das Licht auf einen Sensor fällt? Nein, sonst wäre es früh ja auch so, und das klappt früh bestens.

Hier ein List vom Tageslicht:

define Tageslicht dummy
attr Tageslicht DbLogInclude 1
attr Tageslicht devStateIcon hell:weather_sun@yellow dunkel:weather_moon_phases_8@grey
attr Tageslicht group Astro,Wetter
attr Tageslicht userReadings Hell:[SetHell:state]
attr Tageslicht webCmd dunkel:hell
#   FUUID      623d7b54-f33f-bd9c-9d8f-8a1326ac2331f77c
#   NAME       Tageslicht
#   NR         308
#   STATE      dunkel
#   TYPE       dummy
#   eventCount 83
#   READINGS:
#     2022-11-14 17:11:03   state           dunkel
#
setstate Tageslicht dunkel
setstate Tageslicht 2022-11-14 17:11:03 state dunkel


Den Dummy schalte ich durch sunrise / sunset. Ich hätte gerne die Möglichkeit, die Dämmerung zentral für alle Devices nur einmal einstellen zu müssen.

Beste Grüße
Titel: Antw:DOIF will nicht
Beitrag von: Damian am 15 November 2022, 09:39:58
Zitat von: FHEM-User22 am 15 November 2022, 07:17:18

Den Dummy schalte ich durch sunrise / sunset. Ich hätte gerne die Möglichkeit, die Dämmerung zentral für alle Devices nur einmal einstellen zu müssen.

Das habe ich bei mir über ein DOIF-Device geregelt. Das ist "on" bei Dunkelheit und sonst "off". Bei mir geht das über einen Helligkeitssensor, du kannst das über sunrise/sunsset definieren.
Titel: Antw:DOIF will nicht
Beitrag von: FHEM-User22 am 15 November 2022, 10:53:06
Zitat von: Damian am 15 November 2022, 09:39:58
Das habe ich bei mir über ein DOIF-Device geregelt.

Dürfte ich nach den Code-Schipsel fragen?  ::)

Dankeschön
Titel: Antw:DOIF will nicht
Beitrag von: FrauMeier am 15 November 2022, 11:58:27
Festfruehn und festabend schalten sich gegenseitig aus.
Du hast in beiden "Hut_Fest off" als doelse angegeben. Wenn also Festfrueh nicht zustimmt, aber festabend zustimmt bekommst du einen ein und einen aus befehl nacheinander. Die reihenfolge bestimmt dann ob die Lampe ambleibt oder nicht, und deshalb funktioniert nur einer der beiden DOIFS richtig.

Es ist immer ein Problem ein Device mit mehreren DOIFs zu schalten, am beten alles in ein DOIF Packen und mit DOELSEIF verbinden. Das ist sicherer.
Titel: Antw:DOIF will nicht
Beitrag von: FHEM-User22 am 15 November 2022, 15:53:31
Klingt irgendwie Sinnvoll. Danke für den Anstoß.

Kann mir jemand beim zusammenbasteln helgen?

Dankeschön.

Beste Grüße
Titel: Antw:DOIF will nicht
Beitrag von: Damian am 15 November 2022, 16:54:13
Zitat von: FHEM-User22 am 15 November 2022, 10:53:06
Dürfte ich nach den Code-Schipsel fragen?  ::)

Dankeschön

Bei mir sieht das ungefähr so aus:

define dunkel DOIF ([sensor:helligkeit] > 0)
Attr cmdState off|on


oder mit sunrise/sunset


define dunkel DOIF ([{sunrise()}-{sunset()}])
Attr cmdState off|on


Dann kann ich wo anders nach [dunkel:state] abfragen
Titel: Antw:DOIF will nicht
Beitrag von: FrauMeier am 16 November 2022, 17:48:08
Zitat von: FHEM-User22 am 15 November 2022, 15:53:31
Klingt irgendwie Sinnvoll. Danke für den Anstoß.

Kann mir jemand beim zusammenbasteln helgen?

Dankeschön.

Beste Grüße
Einfach DOELSEIF hinter das erste Doif schreiben und die zweite DOIF Definition dahinterkopieren und "(set Hut_Fest on)  ELSE (set Hut_Fest off)" dahinter schreiben. Dann das andere DOIF löschen.

Von der Logik her wird das erste DOIF geprüft, und NUR wenn es nicht zutrifft wird das zweite überprüft (oder noch weitere). Wenn also eins von beiden wahr ist wird Hut_Fest eingeschaltet, sonst ausgeschaltet.
Titel: Antw:DOIF will nicht
Beitrag von: FHEM-User22 am 17 November 2022, 14:49:11
Hallo,

ich habs so verstanden:

([Tageslicht] eq "dunkel" and ([05:30-06:05|12345] or [06:30-12:00|6] or [06:59-11:30|So])) (set Hut_Fest on) DOELSE (set Hut_Fest off) DOELSEIF ([Tageslicht] eq "dunkel" and ([12:00-21:30|12345] or [12:00-21:30|6] or [11:00-22:30|So])) (set Hut_Fest on) DOELSE (set Hut_Fest off) (set Hut_Fest on) ELSE (set Hut_Fest off)

ändert aber leider nichts. Habe ich einen Denkfehler?


Jetzt nochmal:

([Tageslicht] eq "dunkel" and ([05:30-06:05|12345] or [06:30-12:00|6] or [06:59-11:30|So])) (set Hut_Fest on) DOELSEIF ([Tageslicht] eq "dunkel" and ([12:00-21:30|12345] or [12:00-21:30|6] or [11:00-22:30|So])) (set Hut_Fest on) (set Hut_Fest on) DOELSE (set Hut_Fest off)

so scheint es zu gehen.

Hier das List: Wo kommt cmd_3 her? das wird nicht mit der Lampe angezeigt. on ist dunkle Lampe und off wird als cmd_3 angezeigt.

define Fest2 DOIF ([Tageslicht] eq "dunkel" and ([05:30-06:05|12345] or [06:30-12:00|6] or [06:59-11:30|So])) (set Hut_Fest on)  DOELSEIF ([Tageslicht] eq "dunkel" and ([12:00-21:30|12345] or [12:00-21:30|6] or [11:00-22:30|So])) (set Hut_Fest on) (set Hut_Fest on)  DOELSE (set Hut_Fest off)
attr Fest2 cmdState on|off
attr Fest2 do always
attr Fest2 event-on-change-reading state
attr Fest2 group Astro
attr Fest2 room Bedienung,y-Devices
#   CFGFN     
#   DEF        ([Tageslicht] eq "dunkel" and ([05:30-06:05|12345] or [06:30-12:00|6] or [06:59-11:30|So])) (set Hut_Fest on)  DOELSEIF ([Tageslicht] eq "dunkel" and ([12:00-21:30|12345] or [12:00-21:30|6] or [11:00-22:30|So])) (set Hut_Fest on) (set Hut_Fest on)  DOELSE (set Hut_Fest off)
#   FUUID      63763c47-f33f-bd9c-2fa0-7ae9cfeb5b611701
#   MODEL      FHEM
#   NAME       Fest2
#   NOTIFYDEV  Tageslicht,global
#   NR         60730
#   NTFY_ORDER 50-Fest2
#   STATE      cmd_3
#   TYPE       DOIF
#   VERSION    26655 2022-11-05 18:33:59
#   eventCount 13
#   READINGS:
#     2022-11-17 15:04:04   Device          Tageslicht
#     2022-11-17 15:04:04   cmd             3
#     2022-11-17 15:04:04   cmd_event       Tageslicht
#     2022-11-17 15:04:04   cmd_nr          3
#     2022-11-17 15:04:04   e_Tageslicht_STATE hell
#     2022-11-17 14:58:57   mode            enabled
#     2022-11-17 15:04:04   state           cmd_3
#     2022-11-17 14:58:57   timer_01_c01    18.11.2022 05:30:00|12345
#     2022-11-17 14:58:57   timer_02_c01    18.11.2022 06:05:00|12345
#     2022-11-17 14:58:57   timer_03_c01    18.11.2022 06:30:00|6
#     2022-11-17 14:58:57   timer_04_c01    18.11.2022 12:00:00|6
#     2022-11-17 14:58:57   timer_05_c01    18.11.2022 06:59:00|So
#     2022-11-17 14:58:57   timer_06_c01    18.11.2022 11:30:00|So
#     2022-11-17 14:58:57   timer_07_c02    18.11.2022 12:00:00|12345
#     2022-11-17 14:58:57   timer_08_c02    17.11.2022 21:30:00|12345
#     2022-11-17 14:58:57   timer_09_c02    18.11.2022 12:00:00|6
#     2022-11-17 14:58:57   timer_10_c02    17.11.2022 21:30:00|6
#     2022-11-17 14:58:57   timer_11_c02    18.11.2022 11:00:00|So
#     2022-11-17 14:58:57   timer_12_c02    17.11.2022 22:30:00|So
#   Regex:
#     accu:
#     collect:
#     cond:
#       Tageslicht:
#         0:
#           &STATE     ^Tageslicht$
#         1:
#           &STATE     ^Tageslicht$
#   attr:
#     cmdState:
#       0:
#         on
#       1:
#         off
#     wait:
#     waitdel:
#   condition:
#     0          ::InternalDoIf($hash,'Tageslicht','STATE') eq "dunkel" and (::DOIF_time($hash,0,1,$wday,$hms,"12345") or ::DOIF_time($hash,2,3,$wday,$hms,"6") or ::DOIF_time($hash,4,5,$wday,$hms,"So"))
#     1          ::InternalDoIf($hash,'Tageslicht','STATE') eq "dunkel" and (::DOIF_time($hash,6,7,$wday,$hms,"12345") or ::DOIF_time($hash,8,9,$wday,$hms,"6") or ::DOIF_time($hash,10,11,$wday,$hms,"So"))
#   days:
#     0          12345
#     1          12345
#     10         So
#     11         So
#     2          6
#     3          6
#     4          So
#     5          So
#     6          12345
#     7          12345
#     8          6
#     9          6
#   do:
#     0:
#       0          set Hut_Fest on
#     1:
#       0          set Hut_Fest on
#       1          set Hut_Fest on
#     2:
#       0          set Hut_Fest off
#   helper:
#     NOTIFYDEV  Tageslicht,global
#     event      hell
#     globalinit 1
#     last_timer 12
#     sleeptimer -1
#     timerdev   Tageslicht
#     timerevent hell
#     triggerDev Tageslicht
#     DOIF_eventa:
#       cmd_nr: 3
#       cmd: 3
#       cmd_event: Tageslicht
#       cmd_3
#     DOIF_eventas:
#       cmd_nr: 3
#       cmd: 3
#       cmd_event: Tageslicht
#       state: cmd_3
#     timerevents:
#       hell
#     timereventsState:
#       state: hell
#     triggerEvents:
#       hell
#     triggerEventsState:
#       state: hell
#   internals:
#     all         Tageslicht:STATE
#   interval:
#     0          -1
#     1          0
#     10         -1
#     11         10
#     2          -1
#     3          2
#     4          -1
#     5          4
#     6          -1
#     7          6
#     8          -1
#     9          8
#   intervalfunc:
#   localtime:
#     0          1668745800
#     1          1668747900
#     10         1668765600
#     11         1668720600
#     2          1668749400
#     3          1668769200
#     4          1668751140
#     5          1668767400
#     6          1668769200
#     7          1668717000
#     8          1668769200
#     9          1668717000
#   readings:
#   realtime:
#     0          05:30:00
#     1          06:05:00
#     10         11:00:00
#     11         22:30:00
#     2          06:30:00
#     3          12:00:00
#     4          06:59:00
#     5          11:30:00
#     6          12:00:00
#     7          21:30:00
#     8          12:00:00
#     9          21:30:00
#   time:
#     0          05:30:00
#     1          06:05:00
#     10         11:00:00
#     11         22:30:00
#     2          06:30:00
#     3          12:00:00
#     4          06:59:00
#     5          11:30:00
#     6          12:00:00
#     7          21:30:00
#     8          12:00:00
#     9          21:30:00
#   timeCond:
#     0          0
#     1          0
#     10         1
#     11         1
#     2          0
#     3          0
#     4          0
#     5          0
#     6          1
#     7          1
#     8          1
#     9          1
#   timer:
#     0          0
#     1          0
#     10         0
#     11         0
#     2          0
#     3          0
#     4          0
#     5          0
#     6          0
#     7          0
#     8          0
#     9          0
#   timers:
#     0           0  1  2  3  4  5
#     1           6  7  8  9  10  11
#   trigger:
#   triggertime:
#     1668717000:
#       localtime  1668717000
#       hash:
#     1668720600:
#       localtime  1668720600
#       hash:
#     1668745800:
#       localtime  1668745800
#       hash:
#     1668747900:
#       localtime  1668747900
#       hash:
#     1668749400:
#       localtime  1668749400
#       hash:
#     1668751140:
#       localtime  1668751140
#       hash:
#     1668765600:
#       localtime  1668765600
#       hash:
#     1668767400:
#       localtime  1668767400
#       hash:
#     1668769200:
#       localtime  1668769200
#       hash:
#   uiState:
#   uiTable:
#
setstate Fest2 cmd_3
setstate Fest2 2022-11-17 15:04:04 Device Tageslicht
setstate Fest2 2022-11-17 15:04:04 cmd 3
setstate Fest2 2022-11-17 15:04:04 cmd_event Tageslicht
setstate Fest2 2022-11-17 15:04:04 cmd_nr 3
setstate Fest2 2022-11-17 15:04:04 e_Tageslicht_STATE hell
setstate Fest2 2022-11-17 14:58:57 mode enabled
setstate Fest2 2022-11-17 15:04:04 state cmd_3
setstate Fest2 2022-11-17 14:58:57 timer_01_c01 18.11.2022 05:30:00|12345
setstate Fest2 2022-11-17 14:58:57 timer_02_c01 18.11.2022 06:05:00|12345
setstate Fest2 2022-11-17 14:58:57 timer_03_c01 18.11.2022 06:30:00|6
setstate Fest2 2022-11-17 14:58:57 timer_04_c01 18.11.2022 12:00:00|6
setstate Fest2 2022-11-17 14:58:57 timer_05_c01 18.11.2022 06:59:00|So
setstate Fest2 2022-11-17 14:58:57 timer_06_c01 18.11.2022 11:30:00|So
setstate Fest2 2022-11-17 14:58:57 timer_07_c02 18.11.2022 12:00:00|12345
setstate Fest2 2022-11-17 14:58:57 timer_08_c02 17.11.2022 21:30:00|12345
setstate Fest2 2022-11-17 14:58:57 timer_09_c02 18.11.2022 12:00:00|6
setstate Fest2 2022-11-17 14:58:57 timer_10_c02 17.11.2022 21:30:00|6
setstate Fest2 2022-11-17 14:58:57 timer_11_c02 18.11.2022 11:00:00|So
setstate Fest2 2022-11-17 14:58:57 timer_12_c02 17.11.2022 22:30:00|So



Beste Grüße