Heizung smart mit Home Assistant: Thermostate und Fenster
Heizkörperthermostate lokal in Home Assistant: passende Zigbee-Modelle, Heizplan per Zeitplan-Helfer, Fenster-offen-Automation, externer Sensor.
Von Nathan Base
Smarte Heizkörperthermostate gehören zu den wenigen Smart-Home-Geräten, die sich messbar bezahlt machen können. Sie senken die Temperatur, wenn niemand im Raum ist, drehen die Heizung bei offenem Fenster ab und heizen rechtzeitig vor, bevor Du morgens aufstehst. Die Apps der Hersteller können das meist auch, aber nur über deren Cloud und nur mit deren Geräten. Mit Home Assistant steuerst Du alles lokal und kannst Thermostate, Fensterkontakte und Raumsensoren verschiedener Marken kombinieren.
Diese Anleitung zeigt, welche Thermostate sich eignen, wie Du sie einbindest und mit welchen drei Automationen Du einen Raum vollständig steuerst: Heizplan, Fenster-offen-Erkennung und Kalibrierung über einen externen Temperatursensor. Sie gilt für Home Assistant 2026.11. Die Automationen habe ich mit der Konfigurationsprüfung von Home Assistant 2026.11 kontrolliert, die Gerätedetails stammen aus der Gerätedatenbank von Zigbee2MQTT.
Welcher Funkstandard?
Für Heizkörperthermostate gibt es im Wesentlichen drei Wege, die in Home Assistant lokal funktionieren:
- Zigbee: die größte Auswahl zu den niedrigsten Preisen. Du brauchst einen Zigbee-Stick am Home-Assistant-Server, danach kannst Du Geräte vieler Hersteller mischen. Das ist der Weg, den diese Anleitung beschreibt.
- Thread mit Matter: neuer, herstellerübergreifend und ebenfalls lokal. Die Auswahl an Thermostaten ist kleiner, und Funktionen wie die externe Temperatur fehlen oft noch.
- Homematic IP: im deutschsprachigen Raum verbreitet und sehr zuverlässig, aber teurer und mit eigener Zentrale.
Wenn Du schon ein Zigbee-Netz hast, bleib bei Zigbee. Wenn nicht, ist es trotzdem der einfachste Einstieg. Welche Integration Du dafür nimmst, ZHA oder Zigbee2MQTT, entscheidest Du mit Zigbee in Home Assistant: ZHA oder Zigbee2MQTT?. Die Beispiele unten nutzen Zigbee2MQTT, weil es bei Thermostaten meist mehr Einstellungen freigibt. Mit ZHA funktionieren die Automationen genauso, nur die Namen der Zusatz-Entitäten weichen ab.
Worauf Du beim Thermostat achten solltest
Prüf vor dem Kauf diese Punkte:
- Unterstützung in Deiner Integration. Such das Modell in der Gerätedatenbank auf zigbee2mqtt.io. Steht es dort mit Bild und einer Liste von Funktionen, läuft es.
- Externe Temperatur. Das Thermostat misst direkt am heißen Heizkörper und hält den Raum deshalb oft für wärmer, als er ist. Modelle, die einen Wert von außen annehmen, regeln deutlich genauer. In Zigbee2MQTT heißt die Funktion
external_temperature_input. - Ventiladapter. Die meisten Thermostate passen auf das übliche Gewinde M30 × 1,5. Für Ventile von Danfoss und einigen anderen Herstellern brauchst Du einen Adapter, der oft beiliegt. Schau vorher nach, was auf Deinem Ventil steht.
- Batterie. Zwei AA-Batterien sind der Normalfall und halten je nach Modell meist eine Heizsaison oder länger.
Zwei Modelle, die diese Punkte erfüllen und bei Zigbee2MQTT gut dokumentiert sind, sind das Sonoff TRVZB und das Aqara E1. Beide nehmen eine externe Temperatur an und bringen eine eigene Fenster-offen-Erkennung mit. Eine Übersicht bekommst Du über die Suche nach Zigbee-Heizkörperthermostaten (Affiliate Link). Für die Fenster-offen-Automation brauchst Du außerdem einen Zigbee-Fensterkontakt (Affiliate Link) pro Fenster, das häufig gelüftet wird.
Thermostat einbinden
Schraub den alten Thermostatkopf ab, setz bei Bedarf den Adapter auf und schraub das neue Thermostat fest. Leg die Batterien erst danach ein, denn viele Modelle fahren beim Einschalten das Ventil an und lernen dabei seinen Weg. Bei manchen musst Du diese Ventilkalibrierung danach noch einmal per Knopf oder in der Integration auslösen. Die Anleitung des Herstellers sagt, wie.
Dann koppelst Du das Thermostat wie jedes Zigbee-Gerät: In Zigbee2MQTT klickst Du oben auf Permit join, in ZHA auf Einstellungen > Geräte & Dienste > Zigbee Home Automation > Gerät hinzufügen. Halte am Thermostat die Kopplungstaste gedrückt, bis es blinkt. Nach einigen Sekunden taucht es auf.
Gib dem Gerät gleich einen sprechenden Namen wie Thermostat Wohnzimmer. Home Assistant legt daraus eine Entität climate.thermostat_wohnzimmer an. Über sie stellst Du später Solltemperatur und Betriebsart ein. Dazu kommen je nach Modell weitere Entitäten, etwa für die Kindersicherung, die eingebaute Fenstererkennung oder die externe Temperatur.
Zigbee-Thermostate schlafen viel, um Batterie zu sparen, und hängen deshalb an einem stabilen Netz. Wenn sie sich immer wieder abmelden, hilft Zigbee-Geräte offline? Netz in Home Assistant stärken.
Der Heizplan mit dem Zeitplan-Helfer
Für den Heizplan nutzen wir den Zeitplan-Helfer von Home Assistant. Er ist eingeschaltet, solange ein von Dir eingetragener Zeitblock läuft, und sonst aus. Leg ihn unter Einstellungen > Geräte & Dienste > Helfer > Helfer erstellen > Zeitplan an, nenne ihn Heizplan Wohnzimmer und zieh in der Wochenansicht die Zeiten auf, zu denen der Raum warm sein soll, zum Beispiel werktags 6 bis 8 Uhr und 17 bis 22 Uhr, am Wochenende 8 bis 23 Uhr. Ein Block kann nicht über Mitternacht reichen, dafür legst Du bei Bedarf zwei aneinanderstoßende Blöcke an.
Die Automation dazu setzt die Temperatur, sobald der Zeitplan an- oder ausgeht. Leg sie unter Einstellungen > Automationen & Szenen > Automation erstellen an, öffne über das Drei-Punkte-Menü In YAML bearbeiten und füge ein:
alias: Heizplan Wohnzimmer
mode: restart
triggers:
- trigger: state
entity_id: schedule.heizplan_wohnzimmer
conditions:
- condition: state
entity_id: binary_sensor.fenster_wohnzimmer
state: "off"
actions:
- action: climate.set_temperature
target:
entity_id: climate.thermostat_wohnzimmer
data:
hvac_mode: heat
temperature: "{{ 21 if is_state('schedule.heizplan_wohnzimmer', 'on') else 17 }}"Die Automation reagiert auf jeden Wechsel des Zeitplans. Ist er an, stellt sie 21 Grad ein, sonst 17 Grad. Die Bedingung verhindert, dass der Heizplan bei offenem Fenster die Heizung wieder aufdreht. Die Werte passt Du nach Deinem Empfinden an, und für weitere Räume kopierst Du die Automation und tauschst die Entitäten.
Fenster offen: Heizung aus
Viele Thermostate erkennen ein offenes Fenster selbst, und zwar an einem plötzlichen Temperatursturz am Heizkörper. Das klappt aber erst nach einigen Minuten und nicht immer zuverlässig. Ein Fensterkontakt weiß es sofort. Die folgende Automation schaltet das Thermostat ab, wenn das Fenster eine Minute offen steht, und kehrt nach dem Schließen zur Temperatur zurück, die der Heizplan gerade vorsieht:
alias: Fenster Wohnzimmer, Heizung aus und an
mode: restart
triggers:
- trigger: state
entity_id: binary_sensor.fenster_wohnzimmer
to: "on"
for:
minutes: 1
id: offen
- trigger: state
entity_id: binary_sensor.fenster_wohnzimmer
to: "off"
for:
seconds: 30
id: zu
actions:
- choose:
- conditions:
- condition: trigger
id: offen
sequence:
- action: climate.set_hvac_mode
target:
entity_id: climate.thermostat_wohnzimmer
data:
hvac_mode: "off"
- conditions:
- condition: trigger
id: zu
sequence:
- action: climate.set_temperature
target:
entity_id: climate.thermostat_wohnzimmer
data:
hvac_mode: heat
temperature: "{{ 21 if is_state('schedule.heizplan_wohnzimmer', 'on') else 17 }}"Die Verzögerung von einer Minute sorgt dafür, dass kurzes Öffnen, etwa um etwas hinauszureichen, die Heizung nicht abschaltet. Die 30 Sekunden beim Schließen fangen ein Fenster ab, das nur kurz an- und wieder aufgeht. Hast Du mehrere Fenster im Raum, fasst Du ihre Kontakte unter Helfer > Gruppe > Binärsensor-Gruppe zusammen und setzt die Gruppe statt des einzelnen Sensors ein. Die Gruppe ist an, sobald eines der Fenster offen ist.
Die Betriebsart off heißt bei den meisten Thermostaten, dass sie nur noch den Frostschutz halten. Prüf in der Entität Deines Thermostats unter Attribute, welche Betriebsarten es kennt. Bietet es kein off, setzt Du stattdessen eine niedrige Temperatur wie 7 Grad.
Externe Temperatur: genauer regeln
Das Thermostat misst wenige Zentimeter neben dem Heizkörper. Dort ist es wärmer als in der Raummitte, und das Thermostat schaltet deshalb zu früh ab. Bei Modellen mit external_temperature_input gibst Du ihm stattdessen den Wert eines Raumsensors. In Zigbee2MQTT erscheint diese Funktion in Home Assistant als Zahlen-Entität, beim Sonoff TRVZB etwa number.thermostat_wohnzimmer_external_temperature_input.
Zuerst stellst Du am Thermostat um, welchen Sensor es nutzt. Beim Sonoff TRVZB geschieht das über die Auswahl-Entität temperature_sensor_select, beim Aqara E1 über sensor, jeweils auf den externen Wert. Dann sorgt diese Automation dafür, dass der Raumwert regelmäßig ankommt:
alias: Raumtemperatur ans Thermostat Wohnzimmer
mode: queued
triggers:
- trigger: state
entity_id: sensor.temperatur_wohnzimmer
- trigger: time_pattern
minutes: /15
conditions:
- condition: template
value_template: "{{ states('sensor.temperatur_wohnzimmer') | is_number }}"
actions:
- action: number.set_value
target:
entity_id: number.thermostat_wohnzimmer_external_temperature_input
data:
value: "{{ states('sensor.temperatur_wohnzimmer') | float | round(1) }}"Der erste Auslöser schickt jede Änderung des Raumsensors, der zweite wiederholt den Wert alle 15 Minuten. Das ist wichtig, weil manche Thermostate einen externen Wert nach einiger Zeit verwerfen, wenn kein neuer kommt, und dann auf den eigenen Fühler zurückfallen. Die Bedingung verhindert, dass ein fehlender Wert wie unavailable ans Thermostat geht.
Woran Du den Erfolg erkennst: In der Entität climate.thermostat_wohnzimmer zeigt das Attribut current_temperature nach einigen Minuten den Wert Deines Raumsensors statt der Messung am Heizkörper.
Was es spart, ehrlich gerechnet
Das Umweltbundesamt nennt als Faustregel, dass jedes Grad weniger Raumtemperatur etwa sechs Prozent Heizenergie spart. Wie viel Du tatsächlich sparst, hängt davon ab, wie Du vorher geheizt hast. Wer schon vorher konsequent die Thermostate heruntergedreht hat, gewinnt wenig. Wer bisher Räume den ganzen Tag gleichmäßig warm gehalten hat, die nur abends genutzt werden, und beim Lüften die Heizung laufen ließ, spart deutlich mehr. Feste Prozentzahlen, wie Hersteller sie auf die Verpackung drucken, kann Dir für Dein Zuhause niemand seriös versprechen.
Mit dem Energie-Dashboard von Home Assistant und dem Gaszähler oder dem Wärmemengenzähler kannst Du den Effekt aber über eine Heizsaison selbst messen.
Häufige Probleme
Das Thermostat übernimmt die Temperatur nicht sofort: Batteriebetriebene Thermostate wachen nur in Abständen auf. Eine Änderung kann deshalb einige Sekunden bis wenige Minuten brauchen, bis sie am Gerät ankommt. Das ist normal.
Der Heizkörper wird nicht warm, obwohl das Thermostat heizen will: Meist hat das Thermostat den Ventilweg falsch gelernt. Starte die Ventilkalibrierung erneut, und prüf, ob der Adapter richtig sitzt.
Die Automation reagiert nicht: Schau in den Traces nach, ob sie überhaupt auslöst und wo sie hängt. Wie das geht, steht in Home Assistant: Automation löst nicht aus, Fehlersuche.
Die Heizung springt hin und her: Eine eigene Automation des Thermostats, etwa ein interner Wochenplan, kämpft gegen Home Assistant. Schalte interne Zeitpläne am Gerät ab, sodass nur Home Assistant steuert.
Welche weiteren Geräte sich ohne Hersteller-Cloud betreiben lassen, zeigt Smart Home ohne Cloud: Geräte, die lokal funktionieren.
Weiterlesen.
-
Raspberry Pi & LinuxZigbee in Home Assistant: ZHA oder Zigbee2MQTT?
ZHA oder Zigbee2MQTT für Home Assistant: konkrete Vor- und Nachteile aus der Community, bewertet, mit klarer Empfehlung und Einrichtung von ZHA.
Nathan Base -
Raspberry Pi & LinuxZigbee-Geräte offline? Netz in Home Assistant stärken
Zigbee-Geräte fallen in Home Assistant aus? Meist sind WLAN-Störungen, der USB-Stick oder fehlende Router schuld. So stabilisierst Du das Netz.
Nathan Base -
Raspberry Pi & LinuxHome Assistant: Automation löst nicht aus, Fehlersuche
Deine Home-Assistant-Automation tut nichts? Mit Traces findest Du die Ursache: Trigger, Bedingung, Modus Einzeln, nicht verfügbare Entität oder Zeitzone.
Nathan Base -
Digitaler AlltagSmart Home ohne Cloud: Geräte, die lokal funktionieren
Woran Du Smart-Home-Geräte erkennst, die ohne Internet und Herstellerserver laufen: Zigbee, Matter, Shelly und die IoT-Klasse von Home Assistant.
Nathan Base -
Raspberry Pi & LinuxHome Assistant: Benachrichtigung aufs Handy mit Aktionen
Push aus Home Assistant aufs iPhone oder Android-Handy: einfache Nachricht, Kamerabild, Knöpfe zum Antworten und kritische Alarme.
Nathan Base -
Raspberry Pi & LinuxHome Assistant: Melden, wenn ein Sensor keine Daten mehr schickt
Leere Batterie oder Funkloch: Ein Template-Sensor in Home Assistant erkennt Sensoren, die seit Stunden schweigen, und eine Automation meldet sie.
Nathan Base