Hallo.
Ich habe mir eine kleine Funktion geschrieben die mir zu einem 7-Tage Wochenplan die aktuell gültige ActionId zurück liefern soll.
Meistens funktioniert das, aber manchmal passt das Ergebnis nicht. Da ich leider vom vielen draufschauen etwas „Betriebsblind“ bin wäre es toll, wenn vielleicht jemand von euch auch draufschauen könnte.
Thx
function T_GetWochenplanAction($EventID)
{
$a = IPS_GetEvent($EventID);
$tag = date('N') - 1;
$stunde = date('G');
$minute = date('i');
if(count($a['ScheduleGroups']) == 7)
{
// Wochenplan für jeden Tag
$heute = $a['ScheduleGroups'][$tag]['Points'];
foreach($heute as $heuteDetails)
{
if($stunde >= $heuteDetails['Start']['Hour'])
{
if($minute >= $heuteDetails['Start']['Minute'])
{
$actionID = $heuteDetails['ActionID'];
}
}
}
// Den "spätesten" treffenden Wert ausgeben
return $actionID;
}
}
Hintergrund der Logik ist: Bspw. wenn ich nach einer Abwesenheit wieder nach Hause komme, dann möchte ich die Solltemperaturen auf den Wert stellen die sie zu dieser Zeit haben sollte und nicht pauschal auf den Wert vor der Abwesenheit.
Gruß
Thorsten