Meine persönliche Heizungssteuerung und wie ich diese bei mir umgesetzt habe

RudiP

Active member
Heute Basteln wir uns eine Heizungssteuerung, die nach Zeitplan die gewünschte Temperatur an die Heizkörperthermostate übermittelt.

Das sieht bei mir so aus.
1711969596483.png
Die einzelnen Button „Büro“, „Schlafzimmer“ usw. repräsentieren meine Räume, in denen eine Heizung mit regelbarem Thermostat ist.
Ich habe in fast jedem Raum noch ein extra Thermometer. Simpel, billig, einfach, 2 Stück für 15,00 € bei Wish bestellt. Die laufen entweder mit WLAN oder Zigbee, da muß man ein wenig aufpassen beim Bestellen. Aber die müssen nix können, außer Temperatur melden und das tun sie.
Dementsprechend wir in den Button die Temperatur der Thermometer angezeigt.

Hintergrund ist, dass wir die Temperatur im Raum haben wollen, wo wir uns aufhalten. Wenn ich also 3 Meter von er Heizung weg sitze und wie bei mir, alle Türen offen sind, weil die Katzen sonst nen Anfall bekommen, dann steht der Thermostat auf 20 Grad, aber 3 Meter entfernt sind es nur noch 18 Grad.
Hier soll später eine automatische Offset Regelung eingebaut werden. Sprich, wenn ich die Wunschtemperatur auf 20 Grad stelle, dann sollen die Heizungsthermostate so lange in kleinen Schritten erhöht werden, bis das Thermometer diese Temperatur anzeigt.
Aber vorerst begnügen wir uns damit, dass die Thermostate auf die gewünschte Temperatur eingestellt werden.

Wie wir im Bild zu sehen ist, haben wir rechts einige Schieberegler, womit wir die ECO und die Heiztemperatur einstellen können. Ich habe mich für diese Variante entschieden, da ich auch mal schnell eine Raumtemperatur anheben will. Ist es draußen 5 bis 10 Grad, reicht eine Temperatur von 18 Grad locker aus. Geht die Außentemperatur aber gegen 0 Grad, möchte man auch gerne mal ein Grad mehr haben, was man hier dann schnell einstellen kann.

Und dann sehen wir noch den fetten Button „Heizung aus“. Damit wird a) die Automatisierung unterbrochen, so dass diese keine neue Temperatur an die Thermostate schickt und b) werden die Thermostate auf AUS gestellt, damit die Heizung auch sicher friedlich ist.

Ich würde auch gerne eine Steuerung einbauen, die dem Heizkessel unten Befehle geben kann, also z.B. auf Sommerbetrieb umschaltet oder die Heizungspumpe deaktiviert, aber ich habe hier eine Rapido Heizung mit Comformatic TB Raumthermostat mit Fernbedienung und da habe ich noch keine Möglichkeit gefunden, die in HA einzubinden.
 
Das Dashboard für jeden Raum
So, das war aber noch nicht alles, was die Heizungssteuerung kann.
Manchmal hat man den Wunsch, weil es einen etwas fröstelt, mal eben die Heizung ein oder zwei Grad höher zu stellen, ohne dass man in die Regelung eingreift und diese dauerhaft verstellt.
Dafür sind die Buttons mit den Räumen oben gedacht. Klicken wir z.B. auf BÜRO, erscheint folgende Unterseite.
1711969641628.png
Links sehen wir oben ein „Thermostat Büro“. Nicht wundern, dass der eigentlich nicht viel anzeigt, der ist aber wichtig, weil wir darüber den Zeitplan aufrufen können, ohne dass wir umständlich über die Einstellungen in HA gehen müssen und uns den richtigen Zeitplan in den Helfern raus suchen müssen. Aber dazu später mehr.

Darunter wird uns angezeigt, wann laut Zeitplan das nächste mal ein Ereignis ausgelöst würde, hier also um 14:30.
Die gelbliche Farbe soll anzeigen, das die Heizung bzw. die Thermostate gerade im Heizbetrieb wären, wenn sie nicht AUSgeschaltet wären. Hier muß ich mal bei Gelegenheit schauen, ob man das nicht besser anzeigen kann.

Darunter wird uns die aktuelle Temperatur am Heinzungsthermostat angezeigt und darunter nochmal Regler, die unsere ECO oder Heiztemperatur nur für diesen Raum einstellen.

Ich weiß, doppelt gemoppelt, aber für jeden Geschmack halt entweder auf der Hauptseite eine zentrale Einstellmöglichkeit oder in jedem Raum einstellbar. Jeder, wie er es mag.

So, in der Mitte haben wir dann eine Karte, mit der wir die aktuelle Steuerung jederzeit überschreiben können. Zur Zeit ist das Thermostat aus und zeigt uns eine Temperatur von 17 Grad an. Ich kann hier jetzt z.B. auf 18 Grad stellen. Dann geht bei nächster Gelegenheit (AVM Thermostate schalten nur alle 15 Minuten) das Thermostat auf 18 Grad und heizt den Raum auf.
ABER, nur so lange, bis nach Zeitplan wieder was anderes eingestellt wird.
Wenn einem also mal eben was fröstelt und man es gerne mal eben was wärmer hätte, kein Problem. Und um das wieder zurücksetzen muß man sich nicht kümmern, das geschieht automatisch nach Zeitplan.

Rechts sehen wir dann noch die Anzeige meiner billig Raumthermostate. Temperatur, Luftfeuchte und Batteriestand. Ist zur Zeit eben nur zur Kontrolle, wie warm ist es an meinem Platz, später soll da aber eine Regelung rein, die den Heizkörperthermostat so lange regelt, bis meine Wunschtemperatur erreicht ist.
 
Zuletzt bearbeitet:
Zeitplan Einstellen
So, werfen wir noch einen Blick auf den Zeitplan.
Wenn wir links oben auf den Button „Thermostat Büro“ klicken, geht erst mal dieses Fenster auf.
1711969672724.png

Wir sehen hier, wann der Heinzugsthermostat An oder Ausgeschaltet wurde. So kann man kontrollieren, dass die Automatisierung auch richtig arbeitet.
Jetzt klicken wir einmal das Zahnrad rechts oben an und landen dann endlich im Zeitplan.
1711969697047.png
Ja, ich finde den auch nicht wirklich toll, geschweige den übersichtlich, aber ist noch das Beste, was ich in HA bisher finden konnte.

Eine Einstellmöglichkeit, wie in der AVM Fritz Box wäre super.
1711969717756.png
Aber leider kann ich kein Phyton und mir sowas damit nicht selber zu Programmieren. So muß ich also erst mal mit dem Leben, was wir haben.

Zeitplan einstellen ist einfach. Den Bereich, wann geheizt werden soll durch ziehen mit der Maus markieren. Der wird dann hellblau dargestellt. Alle anderen Bereiche sind dann ECO Betrieb. Geschaltet wird immer nur beim Wechsel von Heizen auf ECO oder umgekehrt.
Man kann auch mehrere Schaltzeiten am Tag festlegen, aber nicht mehr als 2 Temperaturen anlegen.



So, das wars dann auch schon zur Vorstellung meiner Heizungssteuerung.
Ich weiß, es gibt einige Integrationen, die das auch alles können, aber entweder waren die mir zu Unübersichtlich, gerade in Bezug auf den Zeitplan oder zu kompliziert in der Bedienung oder es gab immer irgendwas, was mir nicht gefallen hat.
Mein Ansatz hier ist mit Sicherheit nicht Perfekt und kann noch weiter verbessert werden, aber genau das ist der Punkt. Ich kann ihn verändern und weiter meinen Wünschen anpassen.



Wie wir das nun alles hinbekommen, das werde ich euch in den nächsten Tagen Schritt für Schritt näherbringen.

Eine bitte. Wenn ihr fragen habt, macht einen neuen Thread auf. Ich würde das hier gerne, wenn es
fertig ist, als komplette Anleitung einstellen lassen und da wären zwischen Post und Nachfragen etwas unübersichtlich.



Danke euch
 
Zuletzt bearbeitet:
Dashboard und die Scripte
Kommen wir nun zu dem Teil, der etwas Arbeit bedeutet. Das Erstellen von unserem Dashboard und den Kacheln.
Zuerst machen wir ein neues Dashboard. Dazu versetzen wird unser aktuelles Dashboard, egal auf welcher Seite ihr gerade seid, in den Bearbeitungsmodus, also den Stift rechts oben auswählen. Dann ganz rechts das PLUS, um eine neue Dashboard Seite zu erstellen. Titel vergeben (Gas Heizung, Heizungsregelung, oder was immer ihr wollt)
Wer will, kann auch nur ein Symbol einstellen. Ansichtsart könnt ihr euch auch einstellen, wie ihr wollt, ich habe erst mal die Standard Rasteransicht.

Dann einmal auf Speichern.

Jetzt wollen wir ja auch Unterseiten haben, wo wir noch Sachen für jeden Raum anzeigen können.

Also wieder das PLUS antippen, Tittel vergeben, am besten den Namen des Raum und dann unten den Schalter für „Unteransicht“ aktivieren. Damit ist diese Seite in der normalen Dashboard Ansicht nicht sichtbar, kann aber aufgerufen werden oder halt im Editiermodus ist diese zu sehen.

Das macht ihr dann mit jedem Raum, den ihr Darstellen wollt.

Jetzt erstellen wir uns erst einmal das Button Feld, über das wir die ganzen Unterseiten aufrufen können.

Wir gehen auf „Karte hinzufügen“ und suchen nach der Raster Karte. Titel würde ich frei lassen. Anzahl der Spalten ist auch Geschmackssache, ich habe bei mir 3 gewählt. Karten als Quadrate darstellen finde ich in dem Fall passend, ist aber auch Geschmackssache.

Nun erstellen wir eine erste Kachel Typ Button. Bei Entität wählen wir entweder das zusätzliche Raumthermometer oder den Heizungsthermostat. Je nachdem, welche Temperatur ihr in dem Button angezeigt bekommen wollt.
Bei Name geben wir den Raumnamen ein.
Weiter unten bei „Tipp-Aktion (optional) einmal anklicken und „Navigieren“ auswählen. Dann erscheint darunter ein neues Feld, wo ihr ein Dashboard zum Anzeigen lassen auswählen könnt. Hier dann eben die Unteransicht auswählen, die später die Daten zu eurem Raum anzeigen soll.
1712050268364.png

So, und das wiederholen wir für jeden Raum, der wir hier steuern wollen.

Wenn ihr jetzt oben auf „fertig“ klickt, könnt ihr schon mal ein wenig rum spielen. Klickt auf einen Raum und schwupps, erscheint die NOCH leere Seite dieses Raum. Oben links den Zurück Pfeil und ihr seid wieder auf unserer Heizungssteuerung.

So, für alles weitere kommen wir nun nicht mehr drum herum, Code zu schreiben, Helfer zu erstellen oder Automatisierungen zu erstellen. Das wird ein wenig Aufwendig werden, weil teilweise recht viel erstellt werden muß, aber ich Verspreche euch, es wird nicht kompliziert.

Erstellen wir uns zunächst einen Helfer, der für die Unterbrechung der Automatisierung da ist, wenn wir die Heizungsthermostate ausschalten.

Helfer erstellen. Typ Schalter. Und den nennen wir jetzt einfach mal „Heizung aus“
Das wars auch schon.
Gehen wir zurück zu unserem Dashboard für die Heizungssteuerung.

Dort erstellen wir eine neue Kachel „Entität“, als Entität dort wählen wir unseren gerade erstellen Helfer „Heizung aus“ aus, können noch einen Namen vergeben, wenn ihr wollt und unten bei „Symbole je nach Zustand einfärben“ aktivieren. Einmal Speichern und fertig.

Ihr könnt jetzt zwar schon auf diesem Schalter rumklicken, aber es passiert noch nicht viel.
Der Schalter hat ja zwei Funktionen. Wenn er auf AUS steht, soll die Abarbeitung des Zeitplan unterbrochen werden UND, wenn wir den auf AUS switchen, sollen die Thermostate auch auf AUS gehen, sofern diese den eine solche Funktion unterstützen.

Dazu müssen wir uns nun eine Automatisierung erstellen.
Ich habe meine „Heizungsthermostate ausschalten“ genannt, damit man auch in 2 Jahren noch weiß, was diese Automatisierung eigentlich tun soll.
Code:
alias: Heizungsthermostate ausschalten.
description: ""
trigger:
  - platform: state
    entity_id:
      - input_boolean.heizung_aus
    to: "off"
    from: "on"
condition: []
action:
  - service: script.heizungsthermostate_ausschalten
    data: {}
mode: single
Wie wir sehen, macht diese Automatisierung nichts anderes, als auf die Betätigung unseres Schalter zu reagieren und dann ein Script „Heizungsthermostate ausschalten“ aufzurufen.
Ich weiß, nicht toll, könnte man eventuell auch direkt in der Automatisierung mit unterbringen, aber so habe ich den Vorteil, das ich das Ausschalten der Thermostate später auch noch einmal von anderer Stelle aus ansteuern kann, was bei einer Regelung innerhalb der Automatisierung nicht möglich wäre.

So, hier einmal der Visual Editor meines Script:
1712050405505.png

Und der Code:
Code:
alias: Heizungsthermostate ausschalten
sequence:
  - device_id: cba1296d110265ae227c952ce8a4c675
    domain: climate
    entity_id: 33ef07eaabbc6ba5b05315f01cbfbfe2
    type: set_hvac_mode
    hvac_mode: "off"
  - device_id: c547bffa365f76951b47a58c5a60a1bb
    domain: climate
    entity_id: ec804fc8b5b37c56484721202ab648fe
    type: set_hvac_mode
    hvac_mode: "off"
  - device_id: 86439044d5273714288d3758525df2da
    domain: climate
    entity_id: 9c807b5c92241f7bd04ccb9448ef5121
    type: set_hvac_mode
    hvac_mode: "off"
  - device_id: d9251dcb34b1382c8bc4ed6d20150ef9
    domain: climate
    entity_id: 07eb89e0cb3d1e0a1d6deae221e7b66c
    type: set_hvac_mode
    hvac_mode: "off"
  - device_id: 2e0ea694ea688faab41dac8b211aee5f
    domain: climate
    entity_id: af34c04e41112e651a2620b811d16895
    type: set_hvac_mode
    hvac_mode: "off"
  - device_id: c1e4b9196bd6942b628703cb26e44d9e
    domain: climate
    entity_id: 3a06188848adb86010b7dae6744e3015
    type: set_hvac_mode
    hvac_mode: "off"
mode: single

Wie ihr seht, Zahlen anstatt Gerätebezeichnung. Liegt leider daran, dass man hier beim Script nur GERÄT und nicht ENTITÄT wählen kann.
Ich bin mir fast Sicher, dass man das auch anders hinbekommt, so dass einem die Entitäten als Namen angezeigt werden, aber aktuell mag ich das nicht ausprobieren.

Jetzt Speichern wir noch das Script, passen unsere Automatisierung an, damit diese auch dieses Script aufrufen kann.

Das wars erst einmal. Wenn ihr jetzt den Schalter in der Heizungssteuerung auf AUS stellt, sollten nach kurzer Zeit (Bei AVM auch mal 15 Minuten) die Heizungsthermostate AUS gehen.
 
Zuletzt bearbeitet:
Temperatursteuerung
Kommen wir nun zu einem komplizierteren Teil bzw. etwas Aufwendiger, weil viel erstellt werden muß, aber eben auch das Herzstück der Steuerung darstellt. Es geht um diese Temperatursteuerung.
1712068623551.png

Wir brauchen für jeden Regler, also jeden Heizungsthermostaten 2 Helfer. Einer, der die ECO Temperatur aufnimmt und einen, der die Heizen Temperatur aufnimmt.
Wir wechseln also in die Einstellungen -> Geräte & Dienste und oben dann Helfer. Dann rechts unten
„Helfer Erstellen“. Dann ploppt ein neues Fenster auf.
1712068655738.png

Hier wählen wir „Nummer“. Als Namen dann den Raumnamen mit nachfolgendem ECO.“ Also z.B. Badezimmer ECO. Ich habe noch ein „temp“ vorangestellt, um deutlich zu machen, wofür dieser Helfer ist. Also „temp.Badezimmer.ECO“
Bei Maximalwert könnt ich 30 für 30 Grad eintragen, mehr wird es bei uns sicher nicht werden oder halt den Wert, den euer Thermostat max. kann.
Anzeigemodus ist Schieberegler und die Schrittgröße 1. Weil wir wohl meistens in 1 Grad Schritten die Temperatur verändern bzw. die Heizungsthermostate 0,5 Grad Schritte gar nicht können. Könnt ihr aber anpassen, wie ihr wollt.
Dann einmal rechts unten auf Erstellen.
Jetzt brauchen wir für diesen Raum ja noch einen Regler, der die Heizen Temperatur aufnimmt. Also wieder Helfer erstellen, als Name nehmen wir den Raumnahmen OHNE ECO, den rest, wie oben.

Das ganze wiederholen wir für alle Räume, in denen wir regelbare Thermostate haben. Bei mir sind es 6 Räume, also habe ich nun 12 Helfer.
Nun wechseln wir in unser Dashboard mit der Heizungsregelung. Da einmal auf Karte hinzufügen und der Kartentyp ist „Entitäten“. Titel oder nicht bleibt euch überlassen, ich habe keinen vergeben.
Unten bei den Entitäten tragen wir nun unsere soeben erstellten Helfer ein. Und zwar alle nacheinander. Die Reihenfolge kann später immer noch verändert werden.

Kleiner Tip:
Wenn ihr Card-mod aus HACS installiert habt, könnt ihr im Code Editor folgendes eingeben:
Code:
card_mod:
  style: |
    ha-card {
      --mdc-icon-size: 16px;
    }
    .card-content div {
      margin-top: 0px !important;
      margin-bottom: 0px  !important;
      height: 31px;
    }
    .card-content {
      padding-top: 0px;
    }
Einfach diesen Code im Code Editor unten dran eingeben und speichern, das wars.
Damit wird das ganze etwas kompakter und nimmt nicht so viel Platz auf dem Dashboard ein.

So, damit wäre das Einstellen der Wunschtemperatur schon mal möglich, aber wir brauchen ja noch etwas, was uns dann auch die Temperatur an die Thermostate schickt und noch den Zeitplan.
 
Zeitplan
Fangen wir mit dem Zeitplan an, sonst wird es schwierig mit dem Erstellen der Automatisierung.
Wir gehen also in die Einstellungen -> Geräte & Dienste und wählen oben wieder Helfer.
Dann wieder rechts unten Helfer Erstellen und ganz runter scrollen, bis Zeitplan.
1712068778201.png
Vergebt einen Namen. Ich habe hier „Thermostat Badezimmer“ genommen, weil wir für jeden Raum einen Zeitplan erstellen müssen. Außer ihr wollt immer alle Räume gleich beheizen, dann würde ein Zeitplan reichen.

Manchmal kommt es vor, dass nach dem klick auch Zeitplan nichts passiert. Bei mir zickt dann der Browser rum. Einmal STRG + F5 drücken löscht den Cache, danach funktioniert es wieder.

So, wenn wir nun sagen, dass wir diesen Raum von 09:00 Uhr bis 13:00 Uhr beheizen wollen, dann setzen wir die Maus bei 08:00 Uhr bzw. 08:30 Uhr an und ziehen diese runter bis 13:00 Uhr.
Warum eine bzw. eine halbe Stunde früher? Nun, die Heizung braucht eine Weile, um einen Raum auf zu heizen. Meistens reicht 1 Stunde. Habt ihr einen kleinen Raum, reichen 30 Minuten, ist es ein großer Raum, kann man entsprechend früher mit dem Heizen anfangen.
Wenn ihr eine Zeit eingeben wollt, die weiter geht, als die aktuelle Anzeige, dann einfach die Maustaste los lassen, nach unten scrollen, so das man den letzten Zipfel vom Zeitplan noch sehen kann und die Maus so an der unteren Linie des blauen Feldes platzieren, bis die Maus einen AufAb Pfeil bildet, dann kann man den Bereich weiter verschieben.

Will man einen Bereich löschen, dann einfach da drauf klicken und löschen bestätigen.

Ihr könnte auch mehrere Zeitpläne für einen Tag erstellen, also z.B.

00:00 bis 08:00 ECO
08:00 bis 13:00 Heizen
13:00 bis 19:00 ECO
19:00 bis 23:00 Heizen
23:00 bis 00:00 ECO

Dazu müssen wir nur die beiden Heiz Zeiten markieren, alles dazwischen ist automatisch ECO.

So, dann wieder auf Erstellen und auf geht’s, für jeden Raum so einen Zeitplan erstellen.
 
Die Automatisierung
Kommen wir zur Steuerung des ganzen durch unsere Automatisierung.
Wir brauchen für jeden Raum 2 Automatisierungen. Einmal zum Setzen der ECO Temperatur und einmal zum Setzen der Heizen Temperatur.

Also einmal rechts unten auf „Automatisierung erstellen“ klicken, dann auf „Neue Automatisierung erstellen“ und schon kann der Spaß losgehen. :D

Als Namen für die einzelnen Automatisierungen habe ich Setze Temperatur Raumname ECO oder heizen gewählt. Also Setze Temperatur Badezimmer ECO.

Wenn ihr jetzt rechts oben auf die 3 Punkte klickt und „Als YAML bearbeiten“ auswählt, könnt ihr diesen Code hier einfügen:
Code:
alias: Setze Temperatur Badezimmer ECO
description: Stellt die Temperatur am Thermostat nach Zeitplan auf die ECO Temperatur
trigger:
  - platform: state
    entity_id:
      - schedule.thermostat_badezimmer
    to: "off"
condition:
  - condition: state
    entity_id: input_boolean.heizung_aus
    state: "on"
action:
  - service: climate.set_temperature
    target:
      entity_id:
        - climate.badezimmer
    data:
      temperature: "{{ states('input_number.temp_badezimmer_eco')|float }}"
mode: single
Ihr müßt dann nur die Daten einsetzen, die bei euch gelten.

Solltet Ihr andere Namen für Helfer verwendet haben, als ich, dann müßt ihr diese Anpassen.
Ganz wichtig ist „ - service: climate.set_temperature”. Das ist die Entität, mit der ich den Heizungsthermostat in meinem Badezimmer anspreche.
Da wir hier mit Templates arbeiten, kann dies leider nicht im Visual Editor gemacht werden. Aber, dieser Editor hat eine Art Auto Fill. Wenn ihr alles bis zum climate löscht und dann den „.“ setzt, sollten alle eure Entitäten angezeigt werden, die etwas mit climate zu tun haben.

Was macht nun diese Automatisierung ?
Sie wird vom Zeitplan getriggert. Sprich, wenn euer Zeitplan Badezimmer um 09:00 Uhr das Programm heizen starten soll, dann wird auch die Automatisierung „setze Temperatur Badezimmer heizen“ gestartet. Dann wird geprüft, ob der Helfer „Heizung aus“ auf an steht. Das verhindert, das z.B. im Sommer, wenn wir die Heizung nicht wollen, auch keine Temperatur an die Heizungsthermostate gesendet wird.
Bei „Dann mache“ haben wir dann unser Template, welches den Wert von „input_number.temp_badezimmer_komfort“, was unserem Schieberegler auf dem Dashboard entspricht, an das Heizungsthermostat Badezimmer schickt.

So, das sollte es soweit erst mal gewesen sein. Damit sollte eure Heizungssteuerung schon mal voll Funktionsfähig sein. Prüfen könnt ihr das einmal, in dem ihr eine Temperatur von z.B: 25 Grad einstellt, die Automatisierung einmal Ausführen (3 Punkte auswählen und auf Ausführen gehen) und dann mal nach einigen Minuten schaut, ob der entsprechende Heizunsthermostat reagiert hat.



Was noch kommt sind die Dashboards zu den einzelnen Räumen mit Übersteuerung des Zeitplan.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
4.666
Beiträge
47.661
Mitglieder
4.312
Neuestes Mitglied
Harway2007
Zurück
Oben