Hauptmenü

DOIF will nicht

Begonnen von FHEM-User22, 11 November 2022, 07:55:18

Vorheriges Thema - Nächstes Thema

FHEM-User22

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

FHEM auf Raspberry Pi und Proxmox und... und.... und....

Gisbert

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
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

FHEM-User22

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
FHEM auf Raspberry Pi und Proxmox und... und.... und....

Gisbert

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
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

FHEM-User22

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
FHEM auf Raspberry Pi und Proxmox und... und.... und....

Damian

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

FHEM-User22

Hallo Damian,

ZitatBeide funktionieren :)

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

Beste Grüße
FHEM auf Raspberry Pi und Proxmox und... und.... und....

Damian

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

Damian

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

FHEM-User22

#9
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
FHEM auf Raspberry Pi und Proxmox und... und.... und....

Damian

0 für Sonntag muss genauso funktionieren wie die anderen Ziffern. Wenn 0 nicht funktioniert, dann ist bei dir $we auch nicht gleich 1.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

FHEM-User22

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
FHEM auf Raspberry Pi und Proxmox und... und.... und....

Nobbynews

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.

FHEM-User22

Ja, die 1 wird ausgeben.
FHEM auf Raspberry Pi und Proxmox und... und.... und....

Damian

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