Guten Morgen,
keine Ahnung, warum, aber seit dem Update vor ca. einer Woche wird mein Kaffeemaschinen-DOIF immer um Mitternacht ausgeführt, obwohl um diese Zeit eigentlich kein Trigger laufen dürfte.
Ich komm einfach nicht drauf, vielleicht weiss ja Damian oder jemand anders eine Lösung:
Hier mal die def:
([[di_Kaffeemaschine_neu:Einschaltzeit]-16:30] and [rr_Stefan:state] eq "home" and !defined($defs{'KM_On'}))
(set KU_Wippschalter_Kaffee_Sw02_Kaffee on)
DOELSEIF ([01:00])
(IF ([Stefan_Handy:nextAlarmDay] eq AMADwd())
({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit ".TU_Get_Decrement(ReadingsVal("Stefan_Handy","nextAlarmTime","06:30")."00","00:15:00")})
ELSE ({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit 06:30:00"}),
IF ([Stefan_Handy:nextAlarmDay] eq "off")
({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit 06:30:00"}))
DOELSE (set KU_Wippschalter_Kaffee_Sw02_Kaffee off)
Sollte, je nach eingestelltem Wecker meines Handys um eben diese Uhrzeit bzw. wenn kein Wecker eingestellt, dann um 06:30 ausgeführt werden.
Wird aber, wie gesagt, immer um 00:00 ausgeführt, egal ob Wecker gestellt oder nicht.
Hier nochmal ein List:
vor 6 Stunden cmd_nr 3
vor einer Minute e_rr_Stefan_state gone
vor 6 Stunden state cmd_3
vor 6 Stunden timer_1_c1 02.05.2016 06:30:00
vor 14 Stunden timer_2_c1 02.05.2016 16:30:00
vor 6 Stunden timer_3_c2 03.05.2016 01:00:00
Condition:
0 DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") and ReadingValDoIf($hash,'rr_Stefan','state','','',AttrVal($hash->{NAME},'notexist',undef)) eq "home" and !defined($defs{'KM_On'})
1 DOIF_time_once($hash,$hash->{timer}{2},$wday,"")
Days:
Devices:
0 KU_Wippschalter_Kaffee_Sw02_Kaffee on)
DOELSEIF ([01:00])
(IF ([Stefan_Handy:nextAlarmDay] eq AMADwd())
({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit ".TU_Get_Decrement(ReadingsVal("Stefan_Handy","nextAlarmTime","06:30")."00","00:15:00")})
ELSE ({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit 06:30:00"}),
IF ([Stefan_Handy:nextAlarmDay] eq "off")
({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit 06:30:00"}))
DOELSE (set KU_Wippschalter_Kaffee_Sw02_Kaffee off)
NAME di_Kaffeemaschine_neu
NR 408
NTFY_ORDER 50-di_Kaffeemaschine_neu
STATE cmd_3
TYPE DOIF
Readings:
2016-05-02 06:40:30 Device rr_Stefan
2016-05-02 01:00:00 Einschaltzeit 06:30:00
2016-05-02 01:00:23 cmd_event rr_Stefan
2016-05-02 01:00:23 cmd_nr 3
2016-05-02 06:40:30 e_rr_Stefan_state gone
2016-05-02 01:00:23 state cmd_3
2016-05-02 01:00:23 timer_1_c1 02.05.2016 06:30:00
2016-05-01 16:30:00 timer_2_c1 02.05.2016 16:30:00
2016-05-02 01:00:00 timer_3_c2 03.05.2016 01:00:00
Condition:
0 DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") and ReadingValDoIf($hash,'rr_Stefan','state','','',AttrVal($hash->{NAME},'notexist',undef)) eq "home" and !defined($defs{'KM_On'})
1 DOIF_time_once($hash,$hash->{timer}{2},$wday,"")
Days:
Devices:
0 rr_Stefan
all rr_Stefan
Do:
0:
0 set KU_Wippschalter_Kaffee_Sw02_Kaffee on
1:
0 IF ([Stefan_Handy:nextAlarmDay] eq AMADwd()) ({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit ".TU_Get_Decrement(ReadingsVal("Stefan_Handy","nextAlarmTime","06:30")."00","00:15:00")}) ELSE ({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit 06:30:00"}), IF ([Stefan_Handy:nextAlarmDay] eq "off") ({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit 06:30:00"})
2:
0 set KU_Wippschalter_Kaffee_Sw02_Kaffee off
Helper:
event durTimerAbsence_cr: 4146,durTimerAbsence: 69:05:39
globalinit 1
last_timer 3
sleeptimer -1
timerdev rr_Stefan
timerevent durTimerAbsence_cr: 4146,durTimerAbsence: 69:05:39
triggerDev rr_Stefan
timerevents:
durTimerAbsence_cr: 4146
durTimerAbsence: 69:05:39
triggerEvents:
durTimerAbsence_cr: 4146
durTimerAbsence: 69:05:39
Internals:
Interval:
0 -1
1 0
Itimer:
all di_Kaffeemaschine_neu
Localtime:
0 1462163400
1 1462199400
2 1462230000
Readings:
0 rr_Stefan:state
all rr_Stefan:state
Realtime:
0 06:30:00
1 16:30:00
2 01:00:00
Regexp:
0:
1:
All:
State:
Time:
0 [di_Kaffeemaschine_neu:Einschaltzeit]
1 16:30:00
2 01:00:00
Timecond:
0 0
1 0
2 1
Timer:
0 0
1 0
2 0
Timers:
0 0 1
1 2
Trigger:
Triggertime:
1462199400:
localtime 1462199400
Hash:
1462230000:
localtime 1462230000
Hash:
Attributes:
DbLogExclude .*
notexist "06:30:00"
Hab schon die komplette Commandref durchgesehen, ob sich was geändert hat. Hab aber nix dazu gefunden leider.
lg, Stefan
Zitat von: Icinger am 02 Mai 2016, 06:46:02
Guten Morgen,
keine Ahnung, warum, aber seit dem Update vor ca. einer Woche wird mein Kaffeemaschinen-DOIF immer um Mitternacht ausgeführt, obwohl um diese Zeit eigentlich kein Trigger laufen dürfte.
Ich komm einfach nicht drauf, vielleicht weiss ja Damian oder jemand anders eine Lösung:
Hier mal die def:
([[di_Kaffeemaschine_neu:Einschaltzeit]-16:30] and [rr_Stefan:state] eq "home" and !defined($defs{'KM_On'}))
(set KU_Wippschalter_Kaffee_Sw02_Kaffee on)
DOELSEIF ([01:00])
(IF ([Stefan_Handy:nextAlarmDay] eq AMADwd())
({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit ".TU_Get_Decrement(ReadingsVal("Stefan_Handy","nextAlarmTime","06:30")."00","00:15:00")})
ELSE ({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit 06:30:00"}),
IF ([Stefan_Handy:nextAlarmDay] eq "off")
({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit 06:30:00"}))
DOELSE (set KU_Wippschalter_Kaffee_Sw02_Kaffee off)
Sollte, je nach eingestelltem Wecker meines Handys um eben diese Uhrzeit bzw. wenn kein Wecker eingestellt, dann um 06:30 ausgeführt werden.
Wird aber, wie gesagt, immer um 00:00 ausgeführt, egal ob Wecker gestellt oder nicht.
Hier nochmal ein List:
vor 6 Stunden cmd_nr 3
vor einer Minute e_rr_Stefan_state gone
vor 6 Stunden state cmd_3
vor 6 Stunden timer_1_c1 02.05.2016 06:30:00
vor 14 Stunden timer_2_c1 02.05.2016 16:30:00
vor 6 Stunden timer_3_c2 03.05.2016 01:00:00
Condition:
0 DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") and ReadingValDoIf($hash,'rr_Stefan','state','','',AttrVal($hash->{NAME},'notexist',undef)) eq "home" and !defined($defs{'KM_On'})
1 DOIF_time_once($hash,$hash->{timer}{2},$wday,"")
Days:
Devices:
0 KU_Wippschalter_Kaffee_Sw02_Kaffee on)
DOELSEIF ([01:00])
(IF ([Stefan_Handy:nextAlarmDay] eq AMADwd())
({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit ".TU_Get_Decrement(ReadingsVal("Stefan_Handy","nextAlarmTime","06:30")."00","00:15:00")})
ELSE ({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit 06:30:00"}),
IF ([Stefan_Handy:nextAlarmDay] eq "off")
({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit 06:30:00"}))
DOELSE (set KU_Wippschalter_Kaffee_Sw02_Kaffee off)
NAME di_Kaffeemaschine_neu
NR 408
NTFY_ORDER 50-di_Kaffeemaschine_neu
STATE cmd_3
TYPE DOIF
Readings:
2016-05-02 06:40:30 Device rr_Stefan
2016-05-02 01:00:00 Einschaltzeit 06:30:00
2016-05-02 01:00:23 cmd_event rr_Stefan
2016-05-02 01:00:23 cmd_nr 3
2016-05-02 06:40:30 e_rr_Stefan_state gone
2016-05-02 01:00:23 state cmd_3
2016-05-02 01:00:23 timer_1_c1 02.05.2016 06:30:00
2016-05-01 16:30:00 timer_2_c1 02.05.2016 16:30:00
2016-05-02 01:00:00 timer_3_c2 03.05.2016 01:00:00
Condition:
0 DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") and ReadingValDoIf($hash,'rr_Stefan','state','','',AttrVal($hash->{NAME},'notexist',undef)) eq "home" and !defined($defs{'KM_On'})
1 DOIF_time_once($hash,$hash->{timer}{2},$wday,"")
Days:
Devices:
0 rr_Stefan
all rr_Stefan
Do:
0:
0 set KU_Wippschalter_Kaffee_Sw02_Kaffee on
1:
0 IF ([Stefan_Handy:nextAlarmDay] eq AMADwd()) ({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit ".TU_Get_Decrement(ReadingsVal("Stefan_Handy","nextAlarmTime","06:30")."00","00:15:00")}) ELSE ({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit 06:30:00"}), IF ([Stefan_Handy:nextAlarmDay] eq "off") ({ fhem "setreading di_Kaffeemaschine_neu Einschaltzeit 06:30:00"})
2:
0 set KU_Wippschalter_Kaffee_Sw02_Kaffee off
Helper:
event durTimerAbsence_cr: 4146,durTimerAbsence: 69:05:39
globalinit 1
last_timer 3
sleeptimer -1
timerdev rr_Stefan
timerevent durTimerAbsence_cr: 4146,durTimerAbsence: 69:05:39
triggerDev rr_Stefan
timerevents:
durTimerAbsence_cr: 4146
durTimerAbsence: 69:05:39
triggerEvents:
durTimerAbsence_cr: 4146
durTimerAbsence: 69:05:39
Internals:
Interval:
0 -1
1 0
Itimer:
all di_Kaffeemaschine_neu
Localtime:
0 1462163400
1 1462199400
2 1462230000
Readings:
0 rr_Stefan:state
all rr_Stefan:state
Realtime:
0 06:30:00
1 16:30:00
2 01:00:00
Regexp:
0:
1:
All:
State:
Time:
0 [di_Kaffeemaschine_neu:Einschaltzeit]
1 16:30:00
2 01:00:00
Timecond:
0 0
1 0
2 1
Timer:
0 0
1 0
2 0
Timers:
0 0 1
1 2
Trigger:
Triggertime:
1462199400:
localtime 1462199400
Hash:
1462230000:
localtime 1462230000
Hash:
Attributes:
DbLogExclude .*
notexist "06:30:00"
Hab schon die komplette Commandref durchgesehen, ob sich was geändert hat. Hab aber nix dazu gefunden leider.
lg, Stefan
An der Zeitsteuerung hat sich seit dem letzten Update nichts geändert. Leider kann man am list nicht mehr sehen, wer um 00:00 der Auslöser war. Vielleicht schaffst du ein list kurz nach Mitternacht zu machen.
Gruß
Damian
Lässt sich sicher automatisieren für kommende nacht :)