Wochenplan - Wert abfragen, der gemäß Zeitplan aktuell gesetzt sein müsste

Hallo.

Ich habe mehrere Wochenpläne im Einsatz um bspw. die Heizung zu steuern.
Wenn ich das Haus verlasse, dann speichere ich den aktuellen Wert der Solltemperatur, setze die Solltemperatur per Skript runter und deaktiviere den Wochenplan.
Komme ich bspw. Nachts um 1 Uhr wieder nach Hause dann stelle ich den vorherigen Wert wieder her und aktiviere den Wochenplan wieder. Bspw. wenn die Solltemperatur vor Verlassen des Hauses 21°C war dann wird die Solltemperatur auch wieder auf 21°C gestellt, obwohl zu diese Zeitpunkt eine Solltemperatur von 18°C gewünscht wäre.

Gibt es eine Möglichkeit den Wert aus einem Wochenplan abzufragen, der gerade aktuell gesetzt wäre (falls der Wochenplan die ganze Zeit aktiv gewesen wäre).

Per IPS_GetEvent kann ich zwar die ScheduleGroups abfragen, aber das Auslesen des aktuellen Zustandes wäre eine komplexere Logik.

Habe ich eine bessere Möglichkeit übersehen?

Danke & Gruß
Thorsten

Hi!

Ich mache das bei den Leuten meistens wie folgt:

> Variablen für jeden Raum mit SOLL-Temperaturen für „Anwesend“, „Abwesend“ und „Nacht“

> Integer Variablen mit Variablenprofil (0 = Anwesend, 1 = Abwesend, 2 = Nacht) für jeden Raum
> Darunter jeweils einen Wochenplan, der je nach persönlichen Wünschen/Uhrzeiten die Raum-Variable auf 0, 1 oder 2 setzt

> Eine Variable „Anwesenheit“ (welche über verschiedene Wege [Manuell, Geofency, WLAN, Bluetooth, …] die Anwesenheit anzeigt mit true/false)

Dann ein Script zur Heizungssteuerung und dieses wird durch Variablenänderung der Wochenplan-Variablen und der Anwesenheits-Variable ausgeführt.
Im Script wird dann bei Wochenplanänderung geprüft, ob „Anwesenheit“ auf true ist oder nicht und dann die entsprechende Temperatur für Anwesend/Abwesend gesetzt. Bzw Nachts die Temperatur für „Nacht“.

Das war es eigentlich schon. Das ist die einfachste Version einer automatischen Heizungssteuerung. Kein de/aktivieren vom Wochenplan notwendig. Einfach zu managen. Ist bei einigen Leuten erfolgreich im Einsatz.
— Diese einfache Heizungssteuerung kann natürlich ohne Ende erweitert werden :smiley: Koppeln mit einem Wecker, Vorlaufzeiten, Anwesenheit in Räumen, Feiertage/Ferien, Außentemperatur, Heizung im Keller mit Umschalten, manuelles Übersteuern, …

Grüße,
Chris

Hallo Chris.

Danke für dein Feedback.
Vielleicht ist das gar keine schlechte Idee, wobei meine Steuerung „eigentlich“ gut funktioniert, solange niemand „abwesend“ ist :D.

Gruß
Thorsten

Hallo.

Ich habe mir IPS_GetEvent für Wochepläne nochmal angeschaut.
Nach der ersten Schockstarre wegen diversen Verschachtelungen ist das Abfragen des aktuellen Wertes doch leichter als ursprünglich angenommen :D.

Hier mal ein Beispiel für einen Wochenplan für jeden Tag individuell (falls es noch jemand brauchen kann).

function TM_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;
	}
}

Gruß
Thorsten