Smarte Heizkessel Steuerung mit Home Assistant und einem 13€ Shelly

In diesem Blogbeitrag zeige ich, wie man den Heizkessel seiner Heizung mithilfe von smarten Heizkörperthermostaten und Home Assistant steuern kann. Mit diesen lässt sich der Gasverbrauch der Heizung reduzieren und die Heizkosten senken.

Es gibt verschiedene Gründe, den Heizkessel durch ein Smartes System zu steuern. Für mich gab es dazu folgende:

  1. Mit einer bedarfsgerechten und smarten Heizungssteuerung lässt sich der Gasverbrauch reduzieren, da Gas nur noch verheizt wird, wenn dieses auch tatsächlich benötigt wird.
  2. Smarte Heizkörperthermostate können nicht auf magische Weise mit dem Heizungssystem kommunizieren. Wenn der Brenner des Heizkessels nicht arbeitet, werden die Räume natürlich auch nicht beheizt, egal was am Thermostat eingestellt ist.
  3. Der Temperaturregler mit Innenraumfühler befindet sich bei mir zusammen mit dem Kessel im Dachboden. Das ist der denkbar schlechteste Ort für einen Regler, da im Dachboden nicht geheizt wird.

Voraussetzungen

Die mit Sternchen (*) gekennzeichneten Links sind sogenannte Affiliate-Links. Wenn du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekomme ich von dem betreffenden Online-Shop oder Anbieter eine Provision. Für dich verändert sich der Preis nicht.

Smarte Heizkörperthermostate einrichten

Zunächst sollten die smarten Heizkörperthermostate angebracht und installiert werden. Anleitungen hierfür gibt es haufenweise im Internet oder werden in der App des Herstellers angezeigt. Generell sollte man auf Heizkörperthermostate mit WLAN verzichten, da bei diesen die Batterien häufig gewechselt werden müssen. Am besten eignen sich hier Thermostate mit z.B. ZigBee, die über einen anderen Funkstandard kommunizieren. Hierfür wird allerdings immer eine Bridge benötigt. Ich selbst verwende die oben verlinkten Thermostate, da sie günstig sind und den ZigBee-Standard nutzen.

Einbindung in Home Assistant

Anschließend müssen die Thermostate über die entsprechende Integration in Home Assistant hinzugefügt werden. Für meine war das die Tuya-Integration. Da die Integration keine Sensor-Entitys für die aktuelle Raumtemperatur liefert, sondern lediglich eine Climate-Entity bereitstellt, habe ich mir mithilfe von Templates selber Sensoren erzeugt.

Dazu muss das Add-on File editor installiert werden. Das geht unter Settings -> Add-ons -> Add-on Store. Im File editor wird die Datei configuration.yaml geöffnet und folgendes hinzugefügt:

sensor: !include sensor.yaml

Die Datei wird gespeichert. Danach wird eine neue Datei mit dem Namen sensor.yaml erstellt. Dort habe ich für meine Thermostate folgendes hinzugefügt:

- platform: template
  sensors:
      temperature_wohnzimmer:
        unique_id: sensor.temperatur_wohnzimmer
        friendly_name: "Derzeitige Temperatur Wohnzimmer"
        unit_of_measurement: '°C'
        value_template: "{{ float(state_attr('climate.wohnzimmer', 'current_temperature')) }}"
      geforderte_temperature_wohnzimmer:
        unique_id: sensor.geforderte_temperatur_wohnzimmer
        friendly_name: "Geforderte Temperatur Wohnzimmer"
        unit_of_measurement: '°C'
        value_template: "{{ float(state_attr('climate.wohnzimmer', 'temperature')) }}"

Die Datei muss natürlich entsprechend eurer Thermostate bzw. Räume angepasst werden. Die geforderte Temperatur entspricht hierbei der Temperatur, die am Thermostat eingestellt ist. Dann muss die Datei gespeichert werden und Home Assistant neugestartet werden. Dies geht über Developer Tools -> Restart.

Anschließend sollte man unter Settings -> Devices & Services -> Entities seine eben erstellten Sensor-Entities vorfinden, die die jeweiligen Temperaturen anzeigen.

Sensoren für Durchschnittswerte anlegen

Nun müssen einige Helper angelegt werden, die die durchschnittliche Raumtemperaturen des Hauses sammeln. Das geht unter unter Settings -> Devices & Services -> Helpers. Dort werden zwei neue Sensoren angelegt, und zwar die Durchschnittliche Temperatur und die Durchschnittlich geforderte Temperatur. Dazu erstellen wir einen Helper mit Add min / max / mean / median sensor. Hier werden die vorher erzeugten Temperatur-Entities hinzugefügt. Als Statistic characteristic wählt man Artihmetic mean für den Durchschnitt. Das sieht dann in etwa so aus:

Formular zum Anlegen eines Hilfssensors in Home Assistant.
Anlegen von Hilfssensoren für Durchschnittswerte.

Wie bereits gesagt, muss das einmal für die Durchschnittliche Raumtemperatur sowie für die Durchschnittlich geforderte Raumtemperatur getan werden. Wen die Info interessiert, kann das selbe auch für das Minimum und das Maximum machen. Im Dashboard könnte das ganze am Ende so aussehen:

Minimum, Maximum sowie Durchschnittswerte der Räume des Hauses in Home Assistant.
Eben erstellte Sensoren im Dashboard.

Shelly in Betrieb nehmen

Achtung: Arbeiten an elektrischen Anlagen dürfen nur von Fachpersonal ausgeführt werden. Solltest du also keine spezielle Ausbildung zum Verkabeln von elektrischen Anlagen besitzen, lass den Shelly von einem Fachbetrieb anbringen! Ich übernehme keine Haftung für Sach- oder Personenschäden.

Bedienungsanleitung des Heizkessels durchschauen

Zunächst sollte man sich die Installations- und Wartungsanleitung des Heizkessels heraussuchen. Dort wird erklärt, wie man den Heizkessel korrekt abschaltet und vom Strom nimmt, sowie wie man die Blende entfernt, um an die Verkabelung zu gelangen. Ebenso finden sich in der Anleitung Erklärungen zu den elektrischen Anschlüssen des Kessels. Die für mich wichtigen Anschlüsse waren folgende:

Erklärung des Ein/Aus-Temperaturreglers in der Bedienungsanleitung des Heizkessels.
Smarte Heizkessel Steuerung mit Home Assistant und einem 13€ Shelly 1

Der Anschluss für den Ein/Aus-Temperaturregler ist im Normalzustand immer gebrückt. Die eingesetzte Brücke muss entfernt werden und aufgehoben werden, falls irgendwann der Ursprungszustand wiederhergestellt werden soll. Dieser Anschluss wird am Shelly an die Bezeichnungen 0 und 1 angeschlossen. Damit können wir den Brenner der Heizkessels an- und ausschalten.


Erklärung des Netzanschluss für externe Geräte in der Bedienungsanleitung des Heizkessels.
Smarte Heizkessel Steuerung mit Home Assistant und einem 13€ Shelly 2

Den 230V Anschluss können wir verwenden, um den Shelly mit Strom zu versorgen. Falls die Heizung keinen solchen Anschluss bietet, kann auch der Strom von der Zuleitung verwendet werden. Hierfür benötigt man die Wago Klemmen.


Erklärung des externen Heizungsreglers in der Bedienungsanleitung des Heizkessels.
Smarte Heizkessel Steuerung mit Home Assistant und einem 13€ Shelly 3

Der externe Heizungsregler ist der bereits installierte Temperaturregler mit BUS-System. Die Steckverbindung für diesen wurde bei mir herausgezogen, da dieser nicht mehr benötigt wird. Die Steuerung soll ja durch den Home Assistant erfolgen.

Verkabelung am Shelly

Werden die Anschlüsse nun entsprechend verkabelt, sieht das am Ende etwa so aus:

230V Anschluss für externe Geräte am Heizkessel mit angeschlossenem Shelly.
230V Anschluss für externe Geräte mit angeschlossenem Shelly.
Angeschlossener Shelly an den Heizkessel.
Angeschlossener Shelly an den Heizkessel.
Shelly fertig verkabelt.
Shelly fertig verkabelt.

Shelly einrichten

Nachdem alles verkabelt ist und die Heizung wieder in Betrieb genommen wurde, startet auch der Shelly. Um diesen nun einzurichten, kann man sich die Shelly App für sein Smartphone installieren und diesen dort mit dem WLAN verbinden und konfigurieren.

Ist dies getan, muss für diesen Shelly noch der korrekte Schaltertyp festgelegt werden. Dazu wählt man den eben hinzugefügten Shelly aus und klickt auf Einstellungen. Dann wählt man unter Tasten-/Schaltertyp die Einstellung Getrennter Schalter. Ggf. kann es notwendig sein die Option Eingänge umkehren zusätzlich auszuwählen. Sollte in der Installationsanleitung der Heizung für den Ein/Aus-Temperaturregler nichts vermerkt sein, ist das jedoch nicht notwendig.

Ebenfalls sollte die Standardeinstellung „Einschalten“ auf Letzten Modus wiederherstellen eingestellt werden. Dies sorgt dafür, dass bei beispielsweise einem Stromausfall der letzte Zustand (an/aus) wiederhergestellt wird.

Shelly testen

Wurde alles korrekt installiert und konfiguriert, lässt sich der Brenner des Heizkessels nun durch die Ein-/Austaste in der Shelly App schalten. Sobald der Brenner läuft ist das häufig durch ein Lämpchen am Heizkessel oder durch das Display ersichtlich.

Aktiver Heizkessel
Smarte Heizkessel Steuerung mit Home Assistant und einem 13€ Shelly 4

Einbindung in Home Assistant

Um den Shelly in Home Assistant einzubinden, ist die Shelly-Integration notwendig. Häufig werden Shellys im Netzwerk auch bereits erkannt, ohne dass die Integration per Hand hinzugefügt wurde.

Automatisierungen in Home Assistant erstellen

Bereits zwei Automatisierungen reichen aus, um den Heizkessel entsprechend der eingestellten Raumtemperatur zu steuern. Die beiden Automatisierungen sehen im einfachsten Fall etwa so aus:

alias: Raumtemperatur zu warm
alias: Warm
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.durchschnittliche_geforderte_raumtemperatur
      - sensor.durchschnittliche_raumtemperatur
condition:
  - condition: template
    value_template: |
      {{
        float(states('sensor.durchschnittliche_raumtemperatur'))+0.3 >= (float(states('sensor.durchschnittliche_geforderte_raumtemperatur')))
      }}
action:
  - type: turn_off
    device_id: meineDeviceID
    entity_id: switch.heizkessel_steuerung
    domain: switch
mode: single
alias: Raumtemperatur zu kalt
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.durchschnittliche_geforderte_raumtemperatur
      - sensor.durchschnittliche_raumtemperatur
condition:
  - condition: template
    value_template: |
      {{
        float(states('sensor.durchschnittliche_raumtemperatur'))+0.3 < float(states('sensor.durchschnittliche_geforderte_raumtemperatur'))
      }}
action:
  - type: turn_on
    device_id: meineDeviceID
    entity_id: switch.heizkessel_steuerung
    domain: switch
mode: single

Diese werden unter Settings -> Automations & Scenes erstellt. Das kann mithilfe der Oberfläche erfolgen oder mit meinem YAML-Beispiel. Dazu klickt man oben Rechts auf die drei Punkte und wählt Edit in YAML. Hierbei muss natürlich noch alles an die eigenen Umstände angepasst werden. Vermutlich ist es einfacher, wenn man sich alles über die Oberfläche selber zusammenklickt.

Der Heizkessel wird hier aktiviert, sobald die durchschnittliche Raumtemperatur 0,3 Grad geringer als die durchschnittlich geforderte Raumtemperatur ist. Abgeschaltet wird der Heizkessel sobald die geforderte Raumtemperatur erreicht ist. Durch die Nachlaufzeit der Heizung landet man hier im Normalfall knapp über der geforderten Raumtemperatur.

Natürlich lassen sich noch weitere Optimierungen einbauen. Bei mir wird der Heizkessel zum Beispiel gar nicht erst aktiviert, wenn niemand zuhause ist oder er wird direkt abgeschaltet, sobald niemand mehr im Haus ist. Zudem habe ich mir einen „Automatischen Modus“ gebastelt, mit dem ich den Heizkessel für eine Zeit lang manuell bedienen kann. Dies kann beispielsweise nützlich sein, wenn man Unterwegs ist und das Haus aufheizen will. Es wäre nämlich blöd, wenn eine Automatisierung die z.B. die Anwesenheit der Personen berücksichtigt dazwischen kommt und den Heizkessel direkt wieder abschaltet. Hierzu habe ich unter Settings -> Devices & Services -> Helpers einen Toggle mit der Entitiy-ID input_boolean.heizkessel_automodus erstellt, welche einfach in der Automatisierung berücksichtigt werden kann.

Mein Dashboard sieht dann im Endeffekt so aus:

Dashboard für die Steuerung des Heizkessels mit einem Relais in Home Assistant.
Smarte Heizkessel Steuerung mit Home Assistant und einem 13€ Shelly 5

Das wars! Der Heizkessel wird nun entsprechend der eingestellten Automatisierungen in Home Assistant gesteuert.

Weitere geplante Optimierungen

Statt der Temperatursensoren in den smarten Heizkörperthermostaten habe ich geplant, separate Temperatursensoren anzuschaffen und diese in die Automatisierungen einzubinden. Um eine Raumtemperatur akkurat erfassen zu können, sollten Temperatursensoren im Normalfall so weit wie möglich vom Heizkörper entfernt sein. Idealerweise ist dieser mitten in den Raum gerichtet.

Zudem habe ich geplant, Tür- und Fensterkontakte zu installieren, die das jeweilige Thermostat im Raum absenken, sobald gelüftet wird. Dadurch wird logischerweise noch mehr gespart, da die Heizung in den jeweiligen Räumen nicht unnötig Wärme abgibt, welche sowieso nicht genutzt werden kann.

Weiteres Sparpotenzial

Kostengünstige Methoden

Heizkurve anpassen / einstellen: Eine Heizkurve gibt an, wie sich die Raumtemperatur im Verlauf des Tages ändert. Sie kann angepasst werden, um den Energieverbrauch zu optimieren. Um die Heizkurve anzupassen, kann man z.B. die Heizzeiten und -temperaturen für die verschiedenen Tageszeiten einstellen. So kann man beispielsweise in den Nachtstunden die Temperatur senken und tagsüber wieder erhöhen.

Nachlaufzeit reduzieren: Die Nachlaufzeit gibt an, wie lange die Heizung nach dem Abschalten des Thermostats noch läuft. Eine zu lange Nachlaufzeit kann dazu führen, dass unnötig Energie verbraucht wird. Um die Nachlaufzeit zu reduzieren, kann man z.B. die Einstellungen des Thermostats anpassen oder den Heizkörperventilen eine geringere Nachlaufzeit vorgeben. In vielen Fällen reichen 3 Minuten Nachlaufzeit völlig aus.

Brauchwassertemperatur reduzieren: Die Brauchwassertemperatur gibt an, wie warm das Wasser ist, das aus den Wasserhähnen fließt. Eine zu hohe Brauchwassertemperatur kann dazu führen, dass unnötig Energie verbraucht wird. Um die Brauchwassertemperatur zu reduzieren, kann man z.B. den Wärmeerzeuger für das Warmwasser entsprechend einstellen oder den Wärmeübertrager im Warmwasserspeicher verkleinern. Es ist allerdings wichtig, dass die Brauchwassertemperatur nicht unter 55 Grad sinkt, um die Legionellenbildung im Warmwasserspeicher zu vermeiden.

Hydraulischer Abgleich: Der hydraulische Abgleich ist eine Maßnahme, um den Energieverbrauch der Heizungsanlage zu optimieren. Dabei werden die Heizkörperventile und die Heizkurve so angepasst, dass die Heizenergie möglichst effizient genutzt wird. Der hydraulische Abgleich kann von einem Fachmann durchgeführt werden und kann zu einer deutlichen Reduktion des Energieverbrauchs beitragen.

Teure Methoden

Dämmung verbessern: Eine gute Dämmung hilft dabei, den Wärmeverlust zu minimieren und den Energieverbrauch zu reduzieren. Dämmmaßnahmen können beispielsweise an der Fassade, im Dachbereich oder im Keller durchgeführt werden.

Heizung modernisieren: Eine alte Heizungsanlage kann ineffizient sein und unnötig hohe Energiekosten verursachen. Eine Modernisierung der Heizung kann dazu beitragen, den Energieverbrauch zu reduzieren und die Heizkosten zu senken.

Fenster und Türen modernisieren: Alte Fenster und Türen können ebenfalls zu einem hohen Wärmeverlust beitragen. Durch die Modernisierung von Fenstern und Türen kann man den Energieverbrauch reduzieren und die Heizkosten senken.

Wenn du deine Heizung smart steuerst und dich für DIY-Projekte interessierst, dann könnte die Installation eines eigenen Mailservers mit Docker ein interessantes Projekt für dich sein. In meinem Blogbeitrag Eigenen Mailserver mit Docker installieren zeige ich dir, wie du deinen eigenen Mailserver einrichten und nutzen kannst.

1 Kommentar zu „Smarte Heizkessel Steuerung mit Home Assistant und einem 13€ Shelly“

  1. Hi
    Danke für die Anleitung. Wieviel % Gas hast du nun gespart gegenüber letztem Jahr?
    Ok dieser Winter war ja auch wärmer.
    Wäre schön wenn du dann in den nächsten 2…3 Jahren hier eine Rückinfo geben könntest.
    Danke
    LG
    Joe

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen