Ich habe ein merkwürdiges verhalten mit dem Wochenplan und zwar, schaltet mir der Wochenplan aktuell nicht nach dem Zeitplan, der heut eingestellt ist, sondern nach dem Zeitplan, der von Montag - Donnerstag gilt.
(Zeit + Datum des Servers wurde überprüfe.)
Mein Zeitplan:
Um 13:30 Uhr schaltet er Freitags auf Grundwärme um. Das sollte jetzt schon lange passiert sein, aktuelle Uhrzeit 14:47 Uhr.
Ich verwende zur Feststellung des aktuellen Schaltpunktes, das Script von Paresey:
// Aktuelle Aktion im Wochenplan herausfinden
$e = IPS_GetEvent(29165 /*[Heizstatus\Heizmodus\]*/);
$actionID_Wochenplan = 0;
//Durch alle Gruppen gehen
foreach($e['ScheduleGroups'] as $g) {
//Überprüfen ob die Gruppe für heute zuständig ist
if($g['Days'] & date("N") > 0) {
//Aktuellen Schaltpunkt suchen. Wir nutzen die Eigenschaft, dass die Schaltpunkte immer aufsteigend sortiert sind.
foreach($g['Points'] as $p) {
if(date("H") * 3600 + date("i") * 60 + date("s") >= $p['Start']['Hour'] * 3600 + $p['Start']['Minute'] * 60 + $p['Start']['Second']) {
$actionID_Wochenplan = $p['ActionID'];
} else {
break; //Sobald wir drüber sind, können wir abbrechen.
}
}
break; //Sobald wir unseren Tag gefunden haben, können wir die Schleife abbrechen. Jeder Tag darf nur in genau einer Gruppe sein.
}
}
var_dump($actionID_Wochenplan);
Wenn ich mir hier echo von „$actionID_Wochenplan“ ausgeben lasse, erhalte ich den Wert 2.
Wert zwei steht für heizen. Soweit korrekt:
Das was ich nicht verstehe:
Warum gibt er als aktuellen Schaltzeitpunkt die 2 aus für „Heizen“, obwohl er laut Wochenplan heute schon auf Schaltpunkt 2 „Grundwärme“ steht?
Er orientiert sich an den Werten von Mo - Fr anstatt an denen von Freitag.
(Habe ich getestet, denn wenn ich die Werte von Mo - Fr verändert sehe ich das er diese annimmt, da er denn Status wechselt.)
Der Vollständigkeit halber:
(Auf dem Bild wird die Action für Grundwärme angezeigt, für „Heizen“ steht dort anstatt der 1 eine 2.)
Jemand vielleicht schon ein ähnliches verhalten gehabt bzw. kann helfen?