Hallo zusammen,
ich habe ein DOIF definiert, dass meine Beleuchtung an Arbeitstagen um kurz nach Mitternacht und am Wochenende eine Stunde später ausschalten soll.
Internals:
DEF ([00:05|8] or [01:05|7]) (set wz_StehlampeEsstisch off,set wz_StehlampeFernseher off,set fl_StehlampeFlur off)
NAME LichtAlleAus
NR 74
NTFY_ORDER 50-LichtAlleAus
STATE cmd_2
TYPE DOIF
Readings:
2015-12-28 01:05:00 cmd_event timer_2
2015-12-28 01:05:00 cmd_nr 2
2015-12-28 01:05:00 state cmd_2
2015-12-28 00:48:40 timer_1_c1 29.12.2015 00:05:00|8
2015-12-28 01:05:00 timer_2_c1 29.12.2015 01:05:00|7
Condition:
0 DOIF_time_once($hash,$hash->{timer}{0},$wday,"8") or DOIF_time_once($hash,$hash->{timer}{1},$wday,"7")
Days:
0 8
1 7
Devices:
Do:
0:
0 set wz_StehlampeEsstisch off,set wz_StehlampeFernseher off,set fl_StehlampeFlur off
1:
Helper:
globalinit 1
last_timer 2
sleeptimer -1
Internals:
Itimer:
Readings:
Realtime:
0 00:05:00
1 01:05:00
State:
Time:
0 00:05:00
1 01:05:00
Timecond:
0 0
1 0
Timer:
0 0
1 0
Timerfunc:
Timers:
0 0 1
Attributes:
group Timer
room Wohnzimmer
Es funktioniert auch an allen Tagen außer dem Montag korrekt. Montags triggert offensichtlich weder die erste noch die zweite Bedingung und das Licht bleibt an. Ich habe zunächst vermutet, dass die $we-Variable so kurz nach Mitternacht noch nicht auf den korrekten Wert aktualisiert ist. Daher habe ich den Schalttermin auch schon auf 00:05 Uhr verschoben. Interessant ist, dass der Samstag korrekt später geschaltet wird, obwohl dort ja auch ein Wechsel der Variable stattfindet.
Ich denke nicht, dass ich hier noch einen Denkfehler habe, da die Definition ja mehr oder weniger direkt aus der Commandref übernommen ist. Gibt es hier also noch einen Fehler im Modul?
Gruß
cheanrod
Zitat von: cheanrod am 28 Dezember 2015, 10:43:59
Hallo zusammen,
ich habe ein DOIF definiert, dass meine Beleuchtung an Arbeitstagen um kurz nach Mitternacht und am Wochenende eine Stunde später ausschalten soll.
Internals:
DEF ([00:05|8] or [01:05|7]) (set wz_StehlampeEsstisch off,set wz_StehlampeFernseher off,set fl_StehlampeFlur off)
NAME LichtAlleAus
NR 74
NTFY_ORDER 50-LichtAlleAus
STATE cmd_2
TYPE DOIF
Readings:
2015-12-28 01:05:00 cmd_event timer_2
2015-12-28 01:05:00 cmd_nr 2
2015-12-28 01:05:00 state cmd_2
2015-12-28 00:48:40 timer_1_c1 29.12.2015 00:05:00|8
2015-12-28 01:05:00 timer_2_c1 29.12.2015 01:05:00|7
Condition:
0 DOIF_time_once($hash,$hash->{timer}{0},$wday,"8") or DOIF_time_once($hash,$hash->{timer}{1},$wday,"7")
Days:
0 8
1 7
Devices:
Do:
0:
0 set wz_StehlampeEsstisch off,set wz_StehlampeFernseher off,set fl_StehlampeFlur off
1:
Helper:
globalinit 1
last_timer 2
sleeptimer -1
Internals:
Itimer:
Readings:
Realtime:
0 00:05:00
1 01:05:00
State:
Time:
0 00:05:00
1 01:05:00
Timecond:
0 0
1 0
Timer:
0 0
1 0
Timerfunc:
Timers:
0 0 1
Attributes:
group Timer
room Wohnzimmer
Es funktioniert auch an allen Tagen außer dem Montag korrekt. Montags triggert offensichtlich weder die erste noch die zweite Bedingung und das Licht bleibt an. Ich habe zunächst vermutet, dass die $we-Variable so kurz nach Mitternacht noch nicht auf den korrekten Wert aktualisiert ist. Daher habe ich den Schalttermin auch schon auf 00:05 Uhr verschoben. Interessant ist, dass der Samstag korrekt später geschaltet wird, obwohl dort ja auch ein Wechsel der Variable stattfindet.
Ich denke nicht, dass ich hier noch einen Denkfehler habe, da die Definition ja mehr oder weniger direkt aus der Commandref übernommen ist. Gibt es hier also noch einen Fehler im Modul?
Gruß
cheanrod
aktuelles DOIF-Modul?
Gruß
Damian
Hallo Damian,
Zitataktuelles DOIF-Modul?
Ich denke, da ich immer recht zeitnah alle Updates mache.
Meine Version ist folgende:
$Id: 98_DOIF.pm 10071 2015-12-02 12:37:35Z damian-s $
Gruß
cheanrod
Zitat von: cheanrod am 28 Dezember 2015, 13:23:07
Hallo Damian,
Ich denke, da ich immer recht zeitnah alle Updates mache.
Meine Version ist folgende:
$Id: 98_DOIF.pm 10071 2015-12-02 12:37:35Z damian-s $
Gruß
cheanrod
Du musst do always setzen, damit es immer funktioniert.
Gruß
Damian
Hallo Damian,
Danke für den Hinweis. Ich denke, ich habe nun verstanden, warum das "do always" notwendig ist.
Ich werde es am nächsten Montag prüfen und dann Rückmeldung geben.
Gruß
Sven
Hallo,
es hat geklappt. Danke für die schnelle Hilfe!
Gruß
cheanrod