8029 Zeichen
Score aktualisiert
100%
Code: d5a8667347a94cc98944828dbc83c1b0
Token in Entwicklung nicht aktualisiert
img-Tag in Entwicklung deaktiviert
Wer schon ein bisschen mit der HomeMatic herumgespielt hat, für den ist diese
Anleitung vermutlich ein Klacks. Dennoch zeige ich hier kurz und heftig, wie ich die
verschiedenen Heizsituationen mit einem Sechsfach-Wandtaster und den Thermostaten am
Heizkörper abbilde.
Benennung von Systemvariablen
Prinzipiell kann man Systemvariablen – so wie allen Objekten in der CCU – beliebige
Namen geben, also z. B. auch Umlaute und Sonderzeichen verwenden. Ich empfehle jedoch,
sich auf reguläre Buchstaben (a-z, A-Z) zu beschränken: Bei Umlauten und Sonderzeichen
besteht die Gefahr, dass Systemvariablen in Scripten nicht überall gefunden werden.
Gedanken vor der Planung
Bei meiner ersten HomeMatic übernimmt eine „zentrale Klimasteuerung“ alles,
was mit dem Raumklima zu tun hat: Heizen, Lüften, Abwesenheit, besondere Heizsituationen, … Dadurch kann ich unendlich viele Abhängigkeiten abbilden und die Heizung perfekt auf
den Bedarf abstimmen. Auf der anderen Seite kann man nicht eben kurz am Thermostat drehen,
wenn einem kalt ist – es sei denn, ich habe es vorher aufwendig in meine zentrale
Steuerung integriert.
In der Mietwohnung soll es aus vielerlei Gründen etwas bodenständiger zugehen. Die
Heizprofile werden durch die Thermostate im Auto-Modus abgebildet, WinMatic-Antriebe für
automatisches Lüften gibt es ohnehin nicht und die Integration von Licht, Jalousien,
Außentemperatur und was es sonst noch alles gibt, fällt ebenfalls flach. Ich habe hier
eine HomeMatic für die Heizung – mehr nicht. (Bis jetzt.)
Von unschätzbarem Vorteil ist dabei, dass die Heizkörperthermostate sich besser per
WebUI oder Script ansprechen lassen als meine alten Kombinationen aus Raumthermostaten und
Stellantrieben. Die Heizkörperthermostate reagieren dank Wake-on-Radio (WOR) sofort auf
Änderungen, man kann ohne Verrenkungen den Modus wechseln und als Krönung scheinen sie
auch noch die Raumtemperatur besser zu regeln. Und dann auch noch billiger. Geilomat.
Der Plan
Ich habe ja nun schon ein paar Kilometer mit der HomeMatic runter, darum habe ich auf
Anhieb eine Vorstellung davon, wie meine Heizungssteuerung aussehen soll:
- mehrere kleine WebUI-Programme, die einzelne logische Aufgaben abbilden, statt eines
monolithischen Riesenscriptes
- Einstellung über Systemvariable, um auslösende von ausgelösten Aktionen zu entkoppeln
- getrennte Steuerung von Räumen, die nicht dauerhaft in Benutzung sind
- gemeinsame Steuerung der Heizung in der ganzen Wohnung für An- und Abwesenheit
- verzögertes Senden von Änderungen, um den Duty Cycle nicht zu
belasten
Ich werde also drei Systemvariable brauchen (für allgemeine Heizungssteuerung und für
die separate Steuerung von Kinder- und Dachzimmer). Diese werden über ein WebUI-Programm
gesetzt, das von einem Sechsfach-Wandtaster ausgelöst wird.
Wenn sich die Systemvariablen ändern, werden – mit Verzögerung – die
Heizkörperthermostate eingestellt: Automatik-Betrieb, manueller Betrieb mit abgesenkter
Temperatur und manueller Betrieb mit Dauerheizung
Und hopp.
Systemvariable anlegen
Wie geplant lege ich drei Systemvariable an.
Mit dieser Systemvariable wird die gesamte Heizung gesteuert. Es handelt sich um eine
Werteliste:
- heizen – alle Thermostate werden in den „Auto“-Modus geschaltet,
wobei die Thermostate in Kinder- und Dachzimmer zusätzlich separat behandelt werden
- absenken – alle Thermostate werden auf 16° heruntergedreht, um bei Abwesenheit
Energie zu sparen
- aus – die Thermostate werden ebenfalls abgesenkt, aber zusätzlich wird das Programm zur Brennersteuerung deaktiviert;
so eine Art „Not-Aus“
Auch hier gibt es drei Zustände zur Abdeckung aller pubertären Lebenssituationen:
- heizen – der Thermostat wird in den Automatik-Modus gesetzt und heizt
nachmittags und nachts; tagsüber wird er abgesenkt, weil das Kind in der Schule sein
sollte
- absenken – der Thermostat wird auf 16° heruntergedreht, wenn das Kind bei
Großeltern, Freunden, Jugendherberge, Ferienveranstaltung usw. ist
- Ferien – der Thermostat wird dauerhaft auf 20° gestellt, weil das Kind eh den
ganzen Tag in seinem Zimmer rumhängt (das liegt am Alter); außerdem nützlich, wenn
wegen Corona mal wieder Fernunterricht oder Quarantäne angesagt ist
Das Dachzimmer ist Lagerraum, Homeoffice, Trockenzimmer, Werkstatt und nicht zuletzt
Heimat der CCU 3. Hier reichen zwei Zustände:
- heizen – wie immer wird der Thermostat in den Automatik-Modus gesetzt und
fährt sein Programm, in diesem Fall also morgens aufheizen und nachmittags wieder
abkühlen lassen, damit die Kälte mich pünktlich zum Feierabend weckt
- absenken – auch hier wird konstant eine Temperatur von 16° eingestellt
Für Kinder- und Dachzimmer gibt es zusätzlich noch die Bedingung, dass nur dann
geheizt wird, wenn auch Heizung gesamt auf heizen steht. Ich kann also
über Heizung gesamt alles ausschalten; nach dem Wiedereinschalten haben Kinder-
und Dachzimmer wieder ihre vorherigen Zustände.
WebUI-Programm im Spaghetti-Design
Sagte ich, dass ich meine WebUI-Programme funktional abgrenzen wollte und daher viele
kleine statt eines großen nehme? Nun … für die Einstellung der Systemvariablen mit dem
Wandtaster ist es ein Programm für alles, und da es für jede Taste ein bis zwei
Funktionen gibt, ist es laaang.
Der Screenshot zeigt nur einen Ausschnitt, aber das Prinzip wiederholt sich.
Ich habe die Logik mal zwecks Übersicht in einer Tabelle zusammengefasst. Beim
Einschalten der Heizung in Kinder- und Dachzimmer lasse ich auch gleich Heizung gesamt
einschalten – den Knopf drücke ich eh nur, wenn ich auch heizen will, da kann ich mir
einen Tastendruck sparen.
Taster |
Tastendruck kurz |
Tastendruck lang |
Heizung ein |
Heizung gesamt auf heizen |
|
Heizung aus |
Heizung gesamt auf absenken |
Heizung gesamt auf aus |
Heizung Kind ein |
Heizung gesamt auf heizen
Heizung Kind auf heizen |
Heizung gesamt auf heizen
Heizung Kind auf Ferien |
Heizung Kind aus |
Heizung Kind auf absenken |
|
Heizung Dachzimmer ein |
Heizung gesamt auf heizen
Heizung Dachzimmer auf heizen |
|
Heizung Dachzimmer aus |
Heizung Dachzimmer auf absenken |
|
Nachdem diese Fleißaufgabe bewältigt ist, setze ich mich erstmal mit dem unmontierten
Wandtaster hin und probiere alle Knöpfe aus. Ich bin mit der Einstellbarkeit der
Systenvariablen zufrieden, also geht es weiter.
Drei Programme für den Rest
Systemvariablen zu schalten, ist natürlich schon für sich ein großer Spaß, aber
eigentlich geht es ja um die Heizungssteuerung. Als nächstes also drei Programme, um die
Heizung zu steuern: einmal insgesamt und zweimal getrennt für Kinder- und Dachzimmer.
Das erste Programm kümmert sich um die Einstellung der normalen Räume, die keine
unabhängigen Absenk-Optionen haben.
Ich habe mich für die Auslösung bei Aktualisierung entschieden. Egal, ob
jemand irgendwas verstellt hat – ein Tastendruck zieht alles wieder gerade.
Wichtig ist hier die Verzögerung von 10 Sekunden sowie die Option Vor dem
Ausführen alle laufenden Verzögerungen für diese Aktivitäten beenden: Falls
jemand hektisch auf dem Wandtaster herumtippt, wird nur am Ende einmal der Befehl an jeden
Thermostaten gesendet, Modus und Temperatur einzustellen.
Inhaltlich ist das Programm simpel: Wenn Heizung gesamt auf absenken
oder aus steht, dann werden alle Thermostate in den manuellen Modus gesetzt und
auf 16° heruntergedreht.
Anderenfalls werden sie in den Automatik-Modus geschaltet und stellen die
Solltemperatur nach Uhrzeit und Wochentag ein.
Programm zwei ist genauso strukturiert wie Programm eins und kümmert sich ums
Dachzimmer.
Wenn Heizung Dachzimmer oder Heizung gesamt auf absenken
oder aus steht, wird der Thermostat auf 16° im manuellen Modus heruntergedreht.
Nur wenn in der gesamten Wohnung geheizt wird und auch das Dachzimmer geheizt werden
soll, wird der Automatik-Modus aktiviert.
In Programm Nummer drei geht es ums Kinderzimmer.
Die Logik ist hier genauso wie bei Programm zwei, nach dem ersten Wenn…-Teil
kommt ein Sonst wenn…
Allerdings gibt es einen zusätzlichen Zweig für die Ferien: Wenn die Wohnung geheizt
wird und Ferien sind, schalte ich den Thermostaten auf dauerhafte 20° im manuellen Modus
– wobei 20° in diesem Fall die am Thermostaten eingestellte Comfort-Temperatur
ist.
Mit diesem Setup ist die Programmlogik für die Heizungssteuerung komplett. Fehlt
nur noch, den Wandtaster elegant zu
installieren – und vielleicht einen Telegram-Bot für die Fernbedienung zu
implementieren.