Nicht jedes Heizgerät spricht mit Home Assistant. Der alte Elektro-Heizlüfter im Gästezimmer, die Infrarotplatte im Atelier, der Handtuchradiator im Bad – oft hängen sie schlicht an einer smarten Steckdose und lassen sich nur ein- und ausschalten. Was fehlt, ist ein Thermostat: die Logik, die anhand einer gemessenen Temperatur selbst entscheidet, wann geschaltet wird. Genau das liefert die eingebaute Integration generic_thermostat. Sie verwandelt einen simplen Schalter plus einen Temperatursensor in eine vollwertige climate-Entität – mit Zieltemperatur, Karte im Dashboard und Sprachsteuerung.
Die Idee dahinter
Ein generic_thermostat braucht zwei Zutaten, die Sie vermutlich schon haben: eine schaltbare Entität für das Heizgerät (zum Beispiel eine switch-Steckdose) und einen sensor, der die Raumtemperatur liefert. Home Assistant übernimmt die Regelung: Fällt die gemessene Temperatur unter die Zielmarke, wird der Schalter eingeschaltet; ist es warm genug, schaltet er wieder ab. Das Ergebnis ist eine Thermostatkarte, wie man sie von teuren Smart-Heizungen kennt – nur aus Bauteilen, die Sie schon besitzen.
Schritt für Schritt zur climate-Entität
Die Konfiguration erfolgt in der configuration.yaml. Ein minimales Beispiel für das Gästezimmer sieht so aus:
climate:
- platform: generic_thermostat
name: Gaestezimmer Heizung
heater: switch.steckdose_gaestezimmer
target_sensor: sensor.gaestezimmer_temperatur
min_temp: 12
max_temp: 24
target_temp: 20
cold_tolerance: 0.3
hot_tolerance: 0.3
min_cycle_duration:
minutes: 5
initial_hvac_mode: "off"
Die beiden Toleranzen sind der Kern der Sache. cold_tolerance: 0.3 bedeutet: Erst wenn die Temperatur 0,3 Grad unter das Ziel fällt, schaltet die Heizung ein. hot_tolerance: 0.3 sorgt dafür, dass sie erst 0,3 Grad über dem Ziel abschaltet. Dieses Hysterese-Fenster verhindert, dass der Schalter im Sekundentakt klappert, sobald die Temperatur um den Zielwert pendelt.
Mindestens ebenso wichtig ist min_cycle_duration. Sie erzwingt, dass zwischen zwei Schaltvorgängen eine Mindestzeit liegt – hier fünf Minuten. Das schont sowohl ein Relais in der Steckdose als auch das Heizgerät selbst, das häufiges Takten nicht mag. Nach einem Neustart von Home Assistant sorgt initial_hvac_mode: "off" dafür, dass die Heizung nicht ungewollt anläuft.
Sicherheit zuerst: der Watchdog gegen tote Sensoren
Ein Elektroheizer, der über eine Steckdose geregelt wird, verlangt Sorgfalt. Was passiert, wenn der Funk-Temperatursensor die Batterie verliert und keine Werte mehr liefert? Der generic_thermostat kennt dafür einen Schutz: Mit keep_alive sendet er den Schaltbefehl regelmässig erneut, und Sie können definieren, dass bei fehlenden Sensordaten sicherheitshalber abgeschaltet wird.
keep_alive:
minutes: 3
Kombinieren Sie das mit einer Automation, die Alarm schlägt, wenn der Sensor auf unavailable fällt. Wählen Sie das Heizgerät ausserdem so, dass es einen eigenen Überhitzungsschutz besitzt – die Software ist ein Komfort-Regler, kein Ersatz für die Gerätesicherheit.
Auch im Sommer nützlich: Kühlen statt Heizen
Der generic_thermostat kann die Logik umdrehen. Setzen Sie ac_mode: true, steuert dieselbe Integration statt einer Heizung ein kühlendes Gerät – etwa einen Ventilator oder ein mobiles Klimagerät an einer smarten Steckdose. Jetzt schaltet der Schalter ein, wenn es zu warm wird, und ab, sobald die Zieltemperatur unterschritten ist. So wird aus demselben Bauprinzip im Hochsommer ein simpler Raum-Kühler: Der Ventilator im Arbeitszimmer läuft nur dann, wenn er wirklich gebraucht wird, statt stundenlang ins Leere zu blasen. Toleranzen und Mindestlaufzeit gelten dabei genauso – gerade bei einem Kompressor-Klimagerät ist die erzwungene Pause zwischen den Schaltzyklen wichtig.
Sinnvoll ergänzen: Zeitplan und Präsenz
Ein fixer Zielwert ist erst der Anfang. Richtig praktisch wird die Sache, wenn die Zieltemperatur dem Alltag folgt: morgens warm im Bad, tagsüber abgesenkt, abends wieder behaglich. Statt das mit unzähligen Automationen zu erschlagen, koppeln Sie die climate-Entität an einen Wochenplan, wie ihn der Beitrag zum Schedule-Helfer für den Wochenplan ohne YAML beschreibt. Eine Automation liest den aktiven Zeitblock und setzt per climate.set_temperature den passenden Sollwert.
automation:
- alias: Gaestezimmer Nachtabsenkung
triggers:
- trigger: time
at: "22:00:00"
actions:
- action: climate.set_temperature
target:
entity_id: climate.gaestezimmer_heizung
data:
temperature: 16
Fazit
Der generic_thermostat ist eines der unterschätzten Bordmittel von Home Assistant. Er kostet nichts, braucht keine Cloud und macht aus einem dummen Schalter plus Sensor ein regelbares Zimmerklima – inklusive Thermostatkarte, Sprachbefehl und Anbindung an Zeitpläne. Wichtig sind nur saubere Toleranzen, eine erzwungene Mindestlaufzeit und ein Gedanke an die Sicherheit, wenn ein echtes Heizgerät im Spiel ist.
Beginnen Sie klein: Suchen Sie ein Zimmer mit einer schaltbaren Heizquelle und einem vorhandenen Temperatursensor, legen Sie den generic_thermostat mit vorsichtigen Toleranzen an und beobachten Sie im Verlauf ein paar Tage, wie sauber er die Zieltemperatur hält – bevor Sie Zeitplan und Präsenzlogik ergänzen.