Warum wird folgendes DOIF trotz fehlendem Attribut "do always" am nächsten Tag wieder ausgeführt, und wie kann dies verhindert werden?
defmod DOIF_test_zeit DOIF ([[DUMM_test_zeit]]) {}
defmod DUMM_test_zeit dummy
setstate DUMM_test_zeit 12:58
Zitat von: GunterB am 06 Juni 2024, 13:01:19Warum wird folgendes DOIF trotz fehlendem Attribut "do always" am nächsten Tag wieder ausgeführt, und wie kann dies verhindert werden?
defmod DOIF_test_zeit DOIF ([[DUMM_test_zeit]]) {}
defmod DUMM_test_zeit dummy
setstate DUMM_test_zeit 12:58
Kann ich bei mir nicht bestätigen. Am nächsten Tag wird im DOIF-Device zwar die Zeit aktualisiert, aber wenn der Zustand auf cmd_1 steht, wird die Ausführung nicht noch mal vorgenommen.
Haben Einzeiler nicht das virtuelle do always?!
D.h. der gesetzte timer_01_c01 würde bei cmd_1 nicht zu einer Ausführung führen?
defmod DOIF_test_zeit DOIF ([[DUMM_test_zeit]]) {\
fhem("");;\
}
attr DOIF_test_zeit DbLogExclude .*
setstate DOIF_test_zeit cmd_1
setstate DOIF_test_zeit 2024-06-06 14:30:00 cmd 1
setstate DOIF_test_zeit 2024-06-06 14:30:00 cmd_event timer_1
setstate DOIF_test_zeit 2024-06-06 14:30:00 cmd_nr 1
setstate DOIF_test_zeit 2024-06-06 14:29:04 mode enabled
setstate DOIF_test_zeit 2024-06-06 14:30:00 state cmd_1
setstate DOIF_test_zeit 2024-06-06 14:33:00 timer_01_c01 07.06.2024 14:33:00
DOIF_RL3... hat "do always" DOIF_RL9... nicht.
Bei mir sieht das so aus:
defmod DOIF_RL3_DOWN DOIF ([[RL3_DOWN_time]]) {
perlcode...
}
attr DOIF_RL3_DOWN DbLogExclude .*
attr DOIF_RL3_DOWN do always
setstate DOIF_RL3_DOWN cmd_1
setstate DOIF_RL3_DOWN 2024-06-05 21:41:05 cmd 1
setstate DOIF_RL3_DOWN 2024-06-05 21:41:05 cmd_event timer_1
setstate DOIF_RL3_DOWN 2024-06-05 21:41:05 cmd_nr 1
setstate DOIF_RL3_DOWN 2024-05-14 18:13:36 mode enabled
setstate DOIF_RL3_DOWN 2024-06-05 21:41:05 state cmd_1
setstate DOIF_RL3_DOWN 2024-06-05 21:41:05 timer_01_c01 06.06.2024 21:41:04
defmod RL3_DOWN_time dummy
attr RL3_DOWN_time DbLogExclude .*
attr RL3_DOWN_time room 11.1_Zeiten
setstate RL3_DOWN_time 21:41:04
setstate RL3_DOWN_time 2024-06-05 18:00:04 state 21:41:04
defmod DOIF_RL9_DOWN DOIF ([[RL9_DOWN_time]]) {
perlcode...
}
attr DOIF_RL9_DOWN DbLogExclude .*
setstate DOIF_RL9_DOWN cmd_1
setstate DOIF_RL9_DOWN 2024-06-05 17:59:00 cmd 1
setstate DOIF_RL9_DOWN 2024-06-05 17:59:00 cmd_event timer_1
setstate DOIF_RL9_DOWN 2024-06-05 17:59:00 cmd_nr 1
setstate DOIF_RL9_DOWN 2024-06-05 07:54:08 mode enabled
setstate DOIF_RL9_DOWN 2024-06-05 17:59:00 state cmd_1
setstate DOIF_RL9_DOWN 2024-06-05 17:59:00 timer_01_c01 06.06.2024 17:59:00
defmod RL3_DOWN_time dummy
attr RL3_DOWN_time DbLogExclude .*
attr RL3_DOWN_time room 11.1_Zeiten
setstate RL3_DOWN_time 21:41:04
setstate RL3_DOWN_time 2024-06-05 18:00:04 state 21:41:04
defmod RL9_DOWN_time dummy
attr RL9_DOWN_time DbLogExclude .*
attr RL9_DOWN_time room 11.1_Zeiten
setstate RL9_DOWN_time 17:59
setstate RL9_DOWN_time 2024-06-03 18:00:04 state 17:59
Zitat von: GunterB am 06 Juni 2024, 14:50:23DOIF_RL3... hat "do always" DOIF_RL9... nicht.
Bei mir sieht das so aus:
defmod DOIF_RL3_DOWN DOIF ([[RL3_DOWN_time]]) {
perlcode...
}
attr DOIF_RL3_DOWN DbLogExclude .*
attr DOIF_RL3_DOWN do always
setstate DOIF_RL3_DOWN cmd_1
setstate DOIF_RL3_DOWN 2024-06-05 21:41:05 cmd 1
setstate DOIF_RL3_DOWN 2024-06-05 21:41:05 cmd_event timer_1
setstate DOIF_RL3_DOWN 2024-06-05 21:41:05 cmd_nr 1
setstate DOIF_RL3_DOWN 2024-05-14 18:13:36 mode enabled
setstate DOIF_RL3_DOWN 2024-06-05 21:41:05 state cmd_1
setstate DOIF_RL3_DOWN 2024-06-05 21:41:05 timer_01_c01 06.06.2024 21:41:04
defmod RL3_DOWN_time dummy
attr RL3_DOWN_time DbLogExclude .*
attr RL3_DOWN_time room 11.1_Zeiten
setstate RL3_DOWN_time 21:41:04
setstate RL3_DOWN_time 2024-06-05 18:00:04 state 21:41:04
defmod DOIF_RL9_DOWN DOIF ([[RL9_DOWN_time]]) {
perlcode...
}
attr DOIF_RL9_DOWN DbLogExclude .*
setstate DOIF_RL9_DOWN cmd_1
setstate DOIF_RL9_DOWN 2024-06-05 17:59:00 cmd 1
setstate DOIF_RL9_DOWN 2024-06-05 17:59:00 cmd_event timer_1
setstate DOIF_RL9_DOWN 2024-06-05 17:59:00 cmd_nr 1
setstate DOIF_RL9_DOWN 2024-06-05 07:54:08 mode enabled
setstate DOIF_RL9_DOWN 2024-06-05 17:59:00 state cmd_1
setstate DOIF_RL9_DOWN 2024-06-05 17:59:00 timer_01_c01 06.06.2024 17:59:00
defmod RL3_DOWN_time dummy
attr RL3_DOWN_time DbLogExclude .*
attr RL3_DOWN_time room 11.1_Zeiten
setstate RL3_DOWN_time 21:41:04
setstate RL3_DOWN_time 2024-06-05 18:00:04 state 21:41:04
defmod RL9_DOWN_time dummy
attr RL9_DOWN_time DbLogExclude .*
attr RL9_DOWN_time room 11.1_Zeiten
setstate RL9_DOWN_time 17:59
setstate RL9_DOWN_time 2024-06-03 18:00:04 state 17:59
Zitat von: GunterB am 06 Juni 2024, 14:45:15D.h. der gesetzte timer_01_c01 würde bei cmd_1 nicht zu einer Ausführung führen?
defmod DOIF_test_zeit DOIF ([[DUMM_test_zeit]]) {\
fhem("");;\
}
attr DOIF_test_zeit DbLogExclude .*
setstate DOIF_test_zeit cmd_1
setstate DOIF_test_zeit 2024-06-06 14:30:00 cmd 1
setstate DOIF_test_zeit 2024-06-06 14:30:00 cmd_event timer_1
setstate DOIF_test_zeit 2024-06-06 14:30:00 cmd_nr 1
setstate DOIF_test_zeit 2024-06-06 14:29:04 mode enabled
setstate DOIF_test_zeit 2024-06-06 14:30:00 state cmd_1
setstate DOIF_test_zeit 2024-06-06 14:33:00 timer_01_c01 07.06.2024 14:33:00
Zitat von: GunterB am 06 Juni 2024, 14:45:15D.h. der gesetzte timer_01_c01 würde bei cmd_1 nicht zu einer Ausführung führen?
defmod DOIF_test_zeit DOIF ([[DUMM_test_zeit]]) {\
fhem("");;\
}
attr DOIF_test_zeit DbLogExclude .*
setstate DOIF_test_zeit cmd_1
setstate DOIF_test_zeit 2024-06-06 14:30:00 cmd 1
setstate DOIF_test_zeit 2024-06-06 14:30:00 cmd_event timer_1
setstate DOIF_test_zeit 2024-06-06 14:30:00 cmd_nr 1
setstate DOIF_test_zeit 2024-06-06 14:29:04 mode enabled
setstate DOIF_test_zeit 2024-06-06 14:30:00 state cmd_1
setstate DOIF_test_zeit 2024-06-06 14:33:00 timer_01_c01 07.06.2024 14:33:00
ja, um 14:33 wurde der Timer erhöht aber nicht cmd neu gesetzt, damit gibt es keine erneute Ausführung