Heizplan temporär ändern

Heizplan temporär ändern

Der Heizplan des Home Center 2 ist ziemlich rigoros. Manuelle Änderungen an Thermostaten werden nach spätestens einer Minute wieder überschrieben. Zur Anpassung der Solltemperatur musste bisher also immer der ganze Heizplan geändert werden. Gerade in Zeiten mit größeren Temperaturschwankungen kann dies lästig werden. Mit dieser Szene gehört der Griff zum Webinterface der Vergangenheit an.

Heizplan temporär ändern
Heizplan temporär ändern

Die Herausforderungen

Fibaro selbst hat vor einigen Monaten eine Szene veröffentlicht mit der es möglich ist, das Heizpanel vollständig zu deaktivieren indem es den Urlaubsmodus mit einer vordefinierten Temperatur aktiviert. Ich nutze diese Szene beispielsweise um bei geöffnetem Fenster die Heizungen im Raum abzusenken und so Heizkosten zu sparen. Mein erster Gedanke war es also diese Szene zu verwenden und für die Bedürfnisse der manuellen Temperaturänderung anzupassen.

Diese Idee hatte ich aber genauso schnell verworfen wie sie aufgekommen war, denn es fehlte nicht nur an einem geeigneten Trigger zum aktivieren – dazu später mehr – sondern viel mehr blieb die Frage offen, wie es ohne Interaktion mit dem Webinterface, einem Button oder dem Smartphone wieder zurück zum Heizplan geht. Ich wollte nur eine temporäre Änderung der Solltemperatur. Also einen Timer in die Szene eingebaut der die manuell geänderte Temperatur für eine Stunde hält und dann wieder zum Heizplan wechselt. Aber auch das war keine Lösung mit der ich zufrieden war. Hatte ich einmal eine Temperatur manuell gewählt, so blieb diese dann auch eine Stunde lang aktiv. Die erneute Änderung der Temperatur führte dazu, dass die Szene erneut gestartet wurde. Wenn ich also 3-mal innerhalb einer Stunde die Temperatur ändere, dann laufen 3 Szenen die jeweils eine Stunde lang darauf warten den Urlaubmodus wieder zu deaktivieren.

Der manuelle Modus

Das Heizpanel des Home Center 2 kennt einen manuellen Modus. Hier ist es möglich den Heizplan für einen Raum für eine definierte Zeit ruhen zu lassen und eine abweichende Solltemperatur anzugeben. Klingt gut und ist genau das was ich brauche. Doch leider gibt es von Haus aus keine Möglichkeit diesen per LUA zu aktivieren.

Um den manuellen Modus für mein Vorhaben verwenden zu können habe ich mich also an der oben genannten Szene von Fibaro orientiert und nach einiger Tüftelei konnte ich den manuellen Modus aktivieren und deaktivieren.

Die Suche nach dem Trigger

Nun stand der Realisierung der Szene nichts mehr im Wege. Die Szene wird durch die Änderung der Solltemperatur direkt am Thermostaten gestartet und so der manuelle Modus für eine Stunde aktiviert. Perfekt… oder auch nicht!

Denn mit dieser Sezne führte jede Änderung der Solltemperatur dazu, dass die Szene gestartet und die Temperatur manuell gesetzt wurde. Die Änderungen durch den Heizplan, die Szene zur Absenkung der Temperatur bei geöffnetem Fenster und das Absenken der Heizung bei Abwesenheit führten dazu, dass die Temperatur für jeweils eine Stunde gehalten wurde.

Es begann die Suche nach einem geeigneten Trigger und da alle Änderungen der Solltemperatur – ob manuell, durch Szenen oder den Heizplan – im Home Center 2 auf dieselbe Art und Weise getriggert werden musste eine andere Lösung her.

IST / SOLL Abgleich mit dem Heizplan

Als einzige Option blieb der Abgleich mit dem Heizplan. Bei jeder Änderung sollte abgefragt werden, ob die neue Temperatur dem Heizplan entspricht oder nicht. Weicht die neue Temperatur vom Heizplan ab geht die Szene von einem externen Eingriff aus und startet den manuellen Modus entweder für eine Stunde (Zeitraum frei definierbar) oder für den Zeitraum bis zur nächsten Aktualisierung durch den Heizplan. Ist die Temperatur identisch bleibt der Heizplan aktiv bzw. wird wieder aktiviert. So kann auch auf erneute Anpassungen der Temperatur reagiert werden.

Weiterhin habe ich als Ausnahme die Solltemperaturen für „Fenster offen“ und „Abwesenheit“ in die Szene integriert um diese Abläufe nicht zu stören und nur bei wirklich manuellem Eingriff die Aktion auszuführen.

Szene: Heizplan manuell anpassen
Szene: Heizplan manuell anpassen

Voraussetzungen zum Einsatz der Szene

Die Szene fragt bei Änderung der Solltemperatur am definierten Thermostaten zum Zeitpunkt gültigen Heizplan ab. Zur ordnungsgemäßen Funktion der Szene ist es zwingend erforderlich, dass dieser für den zu heizenden Raum durchgängig gepflegt ist. Für jeden Tag und jeden Zeitraum muss also eine Zieltemperatur vorgegeben sein.

Weiterhin ist die Änderung der Solltemperatur auf einen Thermostaten beschränkt, da die Szene ansonsten nicht in der Lage ist die gewünschte Zieltemperatur zu identifizieren.

Konfiguration der Szene

---------------------------------------------------
------------- Config ------------------------------

---- Zeitvariablen
currentDate 		= os.date("*t")
handTime 		= os.time() + (60 * 60) -- Eine Stunde

-- Einstellungen
workingMode 		= 1		-- 1 = Manuelle Temperatur für den in handTime angegebenen Zeitraum
					-- 2 = Manuelle Temperatur bis zum nächsten Zeitfenster im Heizplan
heatingRoom 		= 186 		-- ID des Raumes im Heiz-Panel
temperatureSource 	= 237 		-- Gerät an dem die Temperatur eingestellt wird
actualTemp		= 238		-- Gerät mit aktueller Temperatur
heatState		= 239		-- Gerät welches den Status der Heizung wiedergibt (Für HeatIT, MCO Home, NICHT für LC-13) // Wenn nicht vorhanden, dann ID 0
windowOpenTemp		= 5 		-- Temperatur die bei offenem Fenster gesetzt wird
awayTemp		= 15 		-- Temperatur die bei Abwesenheit gesetzt wird

-- VD Settings
vdID			= 240		-- ID des Heizplan VDs
vdIconOn		= 1003		-- Icon ID bei aktivem Heizplan
vdIconOff		= 1005		-- Icon ID bei inaktivem Heizplan

-- Sonstiges 
url 			= 'http://127.0.0.1:11111/api/panels/heating/'..heatingRoom
advDebug		= true
advDebugTime		= true
version 		= 'v1.1'

Variablen

  • handTime: Die Zeit für die der Heizplan ausgesetzt wird
  • workingMode: 1 = Der Heizplan wird für die in handTime angegebene Zeit außer Kraft gesetzt. 2 = Der Heizplan wird bis zum nächsten im Heizplan definierten Schaltzeitpunkt außer Kraft gesetzt.
  • heatingRoom: Die ID des Heizplans
  • workingMode: Manuelle Zeit (default: 1 Stunde) oder Zeitraum bis zur nächsten Anpassung durch den Heizplan
  • temperatureSource: Das Gerät an dem die Temperatur eingestellt wird
  • actualTemp: Das Gerät welche die aktuelle Raumtemperatur misst
  • heatState: Die ID des Gerätes welches den aktuellen Status der Heizung wiedergibt. Insbesondere für HEATit und MCO Home Thermostate. Das Danfoss LC-13 stellt einen solchen nicht zur Verfügung, daher ist bei der Verwendung dieser hier 0 (Null) einzutragen.
  • windowOpenTemp: Temperatur die beim lüften gesetzt wird -> Artikel zum Absenken der Temperatur bei geöffnetem Fenster
  • awayTemp: Temperatur die bei Abwesenheit gesetzt wird
  • vdID: Die ID des virtuellen Device
  • vdIconOn: Die ID des Icons bei aktivem Heizplan -> Artikel zur Ermittlung der Icon IDs
  • vdIconOff: Die ID des Icons bei inaktivem Heizplan
  • advDebug: Erweiterete Debug Ausgabe aktivieren/deaktivieren
  • advDebugTime: Debug Ausgabe der Zeitintervalle aktivieren/deaktivieren

Weiterhin ist der Trigger im Header der Szene zu ändern. Hier muss die ID des Gerätes eingetragen werden mit dem die Solltemperatur geändert wird.

--[[
%% properties
220 targetLevel
%% globals
--]

Konfiguration des virtuellen Device

Nach dem Import des virtuellen Device ist die ID der Szene in den Port des VD einzutragen. Weiterhin ist die ID des VD in der Szene anzupassen.

Config Heizplan VD
Config Heizplan VD

Demo Video

Changelog

Version v0.3

  • Code optimiert
  • Demo Video hinzugefügt
  • Virtuelles Device hinzugefügt

Virtuelles Device manueller Heizplan
Virtuelles Device manueller Heizplan

Version v0.4

  • WorkingMode hinzugefügt

Version v0.5

  • Bugfix für Danfoss LC-13 und dessen Derivate

Version v1.0

  • Code optimiert
  • Code verschlankt (~70 Zeilen und 2.300 Zeichen weniger)

Version v1.1

  • Textergänzung
  • Auslagerung der Icon IDs in die Szenen Konfiguration
  • Verwendete Icons hinzugefügt (Download)

Download

Download “Heizung_manuell.zip” Heizplan-manuell-1.1.zip – 22-mal heruntergeladen – 26 kB

Feedback

Ich habe die Szene bei mir ausführlich mit dem Danfoss LC-13, dem HeatIT sowie dem MCO Home Wandthermostaten gestestet. Wenn Du die Szene einsetzt würde ich mich über Feedback freuen, also schreib einen kurzen Kommentar ob die Szene bei Dir funktioniert und welche Hardware Du verwendest.