Sicherst du dir auch schon den vollen Wohnkomfort? Hier erfährst du: Wie du deine (Fußboden-)Heizung mit dem Home Assistant intelligent und effizient steuern kannst ✅
Inhaltsverzeichnis
- Fußbodenheizung mit HASmartThermostat steuern (PID-Controller)
- Kabelgebundene Thermostate (Fußbodenheizung)
- Geht da was in Mietwohnungen?
- Was ist mit normalen Heizkörpern?
- Wichtig: Wann macht eine intelligente Steuerung der Heizung überhaupt Sinn?
- Altes Video – Für nicht Homogene Fußbodenheizungen
- Fazit
Fußbodenheizung mit HASmartThermostat steuern (PID-Controller)
Fußbodenheizung steuern OHNE Thermostate in jedem Raum? Geht! Ich zeige dir, wie ich unsere Fußbodenheizung über Home Assistant steuere – mit 230V-Ventilen, Zigbee-Aktoren (oder auch WiFi natürlich 😉), einem smarten PID-Controller und diversen Temperatur und Luftfeuchte-Sensoren.
Das Beste: Die Lösung ist günstiger als klassische Raumthermostate und funktioniert mit den meisten Ventilen!
Hardware – Ventile & Aktor zur Steuerung
Ventile
Du musst natürlich darauf achten, dass deine Ventile im Optimalfall mit 230V steuerbar sind. Zumindest wäre das meine Empfehlung, da man sich so einen Trafo oder dergleichen sparen kann. Welches Ventil genau ist eigentlich egal, Stromlos geschlossen ist aber immer ne gute Idee, ansonsten müsstest du die Logik auch invertieren (an=zu, aus=offen) 😉
Beachte außerdem, dass es je nach Ventilart sein kann, dass es eine Mindestdauer gibt, für die das Ventil geöffnet sein muss. Beispielsweise bei denen, die „automatisch einen hydraulischen Abgleich machen“. Parameter dafür in HASmartThermostat: min_cycle_duration
Meine Ventile
Alternativ
Aktor
Ich nutze diesen 4-Kanal ZigBee Aktor der Marke GIRIER* von AliExpress über Zigbee2MQTT, weil der direkt auf Hutschiene passt, sehr günstig ist und ich mit der Marke gute Erfahrungen habe.

Sag deinem Elektriker in jedem fall, er soll bei diesem 5er-Flachbandkabel 👆 was aus den Aktoren kommt ne Wago-Klemme auf die Ader machen, die Spannung führen kann (Com)
Alternativen
Wenn es allerdings etwas renommiertes sein darf, hier unten noch ein paar alternativen:
2-Kanal


4-Kanal

Software
HACS-Komponente

Link: https://github.com/ScratMan/HASmartThermostat
Suchbegriff in HACS: HASmartThermostat oder Smart thermostat (PID)
Meine Einstellungen aus der Configuration.yaml
Hinweis: Generell würde ich bei einer Fußbodenheizung das PWM-Intervall nicht kürzer als eine Stunde machen. Dafür sind die Dinger zu träge und auch die Ventile werden es dir danken 😉
Beachte auch den Ventil-Hinweis oben
#### Fußbodenheizung ###
climate:
- platform: smart_thermostat
name: Studio
unique_id: smart_thermostat_studio
heater:
- switch.fbh_aktor_2_1_og_l4
target_sensor: sensor.airgradient_one_studio_temperatur
outdoor_sensor: sensor.o_1pst_temperatur # Sensor für außen (optional aber empfohlen)
min_temp: 16
max_temp: 25
ac_mode: false
target_temp: 21.5
# Träge Reaktion → längere PWM
pwm: "01:00:00" # 1h Zyklus, z.B. 30min an, 30min aus je nach Bedarf
# Preheating aktivieren durch geeignete PID-Parameter
kp: 10 # Proportionalfaktor
ki: 0.005 # Integralfaktor – klein halten, damit er nicht übersteuert
kd: 500 # Dämpfung (trägheitssensibel)
keep_alive:
minutes: 30 # Stelle sicher, dass periodisch ein Befehl gesendet wird
comfort_temp: 22
eco_temp: 21
away_temp: 18
- platform: smart_thermostat
name: Flur
unique_id: smart_thermostat_flur
heater:
- switch.fbh_aktor_2_1_og_l2
target_sensor: sensor.hub3_temperatur
outdoor_sensor: sensor.o_1pst_temperatur # Sensor für außen (optional aber empfohlen)
min_temp: 16
max_temp: 25
ac_mode: false
target_temp: 21.5
# Träge Reaktion → längere PWM
pwm: "01:00:00" # 1h Zyklus, z.B. 30min an, 30min aus je nach Bedarf
# Preheating aktivieren durch geeignete PID-Parameter
kp: 10 # Proportionalfaktor
ki: 0.005 # Integralfaktor – klein halten, damit er nicht übersteuert
kd: 500 # Dämpfung (trägheitssensibel)
keep_alive:
minutes: 30 # Stelle sicher, dass periodisch ein Befehl gesendet wird
comfort_temp: 22
eco_temp: 21
away_temp: 18
- platform: smart_thermostat
name: Kinderzimmer
unique_id: smart_thermostat_kizi
heater:
- switch.fbh_aktor_1_1_og_l1
target_sensor: sensor.meter_39f1_temperatur
outdoor_sensor: sensor.o_1pst_temperatur # Sensor für außen (optional aber empfohlen)
min_temp: 16
max_temp: 25
ac_mode: false
target_temp: 21.5
# Träge Reaktion → längere PWM
pwm: "01:00:00" # 1h Zyklus, z.B. 30min an, 30min aus je nach Bedarf
# Preheating aktivieren durch geeignete PID-Parameter
kp: 10 # Proportionalfaktor
ki: 0.005 # Integralfaktor – klein halten, damit er nicht übersteuert
kd: 500 # Dämpfung (trägheitssensibel)
keep_alive:
minutes: 30 # Stelle sicher, dass periodisch ein Befehl gesendet wird
comfort_temp: 22
eco_temp: 21
away_temp: 18
- platform: smart_thermostat
name: Schlafzimmer
unique_id: smart_thermostat_schlafzimmer
heater:
- switch.fbh_aktor_1_1_og_l2
- switch.fbh_aktor_1_1_og_l3
target_sensor: sensor.i_9psl_temperatur
outdoor_sensor: sensor.o_1pst_temperatur # Sensor für außen (optional aber empfohlen)
min_temp: 16
max_temp: 25
ac_mode: false
target_temp: 21.5
# Träge Reaktion → längere PWM
pwm: "01:00:00" # 1h Zyklus, z.B. 30min an, 30min aus je nach Bedarf
# Preheating aktivieren durch geeignete PID-Parameter
kp: 10 # Proportionalfaktor
ki: 0.005 # Integralfaktor – klein halten, damit er nicht übersteuert
kd: 500 # Dämpfung (trägheitssensibel)
keep_alive:
minutes: 30 # Stelle sicher, dass periodisch ein Befehl gesendet wird
comfort_temp: 22
eco_temp: 21
away_temp: 18
- platform: smart_thermostat
name: Wohnzimmer
unique_id: smart_thermostat_wohnzimmer
heater:
- switch.fbh_aktor_2_1_og_l1
- switch.fbh_aktor_1_1_og_l4
target_sensor: sensor.aqara_tvoc_air_quality_monitor_temperature
outdoor_sensor: sensor.o_1pst_temperatur # Sensor für außen (optional aber empfohlen)
min_temp: 16
max_temp: 25
ac_mode: false
target_temp: 21.5
# Träge Reaktion → längere PWM
pwm: "01:00:00" # 1h Zyklus, z.B. 30min an, 30min aus je nach Bedarf
# Preheating aktivieren durch geeignete PID-Parameter
kp: 10 # Proportionalfaktor
ki: 0.005 # Integralfaktor – klein halten, damit er nicht übersteuert
kd: 500 # Dämpfung (trägheitssensibel)
keep_alive:
minutes: 30 # Stelle sicher, dass periodisch ein Befehl gesendet wird
comfort_temp: 22
eco_temp: 21
away_temp: 18
- platform: smart_thermostat
name: Küche
unique_id: smart_thermostat_kuche
heater:
- switch.fbh_aktor_2_1_og_l3
target_sensor: sensor.temp_rf_kuche_1_og_temperature
outdoor_sensor: sensor.o_1pst_temperatur # Sensor für außen (optional aber empfohlen)
min_temp: 16
max_temp: 25
ac_mode: false
target_temp: 21.5
# Träge Reaktion → längere PWM
pwm: "01:00:00" # 1h Zyklus, z.B. 30min an, 30min aus je nach Bedarf
# Preheating aktivieren durch geeignete PID-Parameter
kp: 10 # Proportionalfaktor
ki: 0.005 # Integralfaktor – klein halten, damit er nicht übersteuert
kd: 500 # Dämpfung (trägheitssensibel)
keep_alive:
minutes: 30 # Stelle sicher, dass periodisch ein Befehl gesendet wird
comfort_temp: 22.0
eco_temp: 21
away_temp: 18
- platform: smart_thermostat
name: Bad
unique_id: smart_thermostat_bad
heater:
- switch.fbh_aktor_3_1_og_l1
- switch.fbh_aktor_3_1_og_l2
target_sensor: sensor.temp_rf_bad_1_og_temperature
outdoor_sensor: sensor.o_1pst_temperatur # Sensor für außen (optional aber empfohlen)
min_temp: 16
max_temp: 25
ac_mode: false
target_temp: 21.5
# Träge Reaktion → längere PWM
pwm: "01:00:00" # 1h Zyklus, z.B. 30min an, 30min aus je nach Bedarf
# Preheating aktivieren durch geeignete PID-Parameter
kp: 10 # Proportionalfaktor
ki: 0.005 # Integralfaktor – klein halten, damit er nicht übersteuert
kd: 500 # Dämpfung (trägheitssensibel)
keep_alive:
minutes: 30 # Stelle sicher, dass periodisch ein Befehl gesendet wird
comfort_temp: 22.5
eco_temp: 21.5
away_temp: 19
Automation für Nachtabsenkung und Urlaubsmodus
Zum Triggern vom Urlaubsmodus nehme ich meine 📰 Alarmanlage. Bei Bedarf auch gerne mal hier zur 📹 Anwesenheitssimulation schauen.
alias: Heizungssteuerung
description: >-
Steuert die Heizung, um morgens den Komfort-Modus und abends den Eco-Modus zu
aktivieren.
triggers:
- at: "06:00:00"
trigger: time
id: Morgens
- at: "21:00:00"
trigger: time
id: Abends
- trigger: time
at: "22:00:00"
id: Sleep
- trigger: alarm_control_panel.armed_vacation
target:
entity_id: alarm_control_panel.alarmo
options:
behavior: first
id: Urlaub
conditions:
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- sat
- sun
actions:
- choose:
- conditions:
- condition: trigger
id:
- Morgens
sequence:
- data:
preset_mode: comfort
target:
entity_id:
- climate.flur
- climate.kinderzimmer
- climate.bad
- climate.studio
- climate.wohnzimmer
- climate.schlafzimmer
- climate.kuche
action: climate.set_preset_mode
- conditions:
- condition: trigger
id:
- Abends
sequence:
- data:
preset_mode: eco
target:
entity_id:
- climate.flur
- climate.kinderzimmer
- climate.bad
- climate.studio
- climate.wohnzimmer
- climate.schlafzimmer
- climate.kuche
action: climate.set_preset_mode
- conditions:
- condition: trigger
id:
- Sleep
sequence:
- data:
preset_mode: sleep
target:
entity_id:
- climate.schlafzimmer
action: climate.set_preset_mode
- conditions:
- condition: trigger
id:
- Urlaub
sequence:
- data:
preset_mode: away
target:
entity_id:
- climate.flur
- climate.kinderzimmer
- climate.bad
- climate.studio
- climate.wohnzimmer
- climate.schlafzimmer
- climate.kuche
action: climate.set_preset_mode
default: []
mode: single
Kabelgebundene Thermostate (Fußbodenheizung)
Alternativ kannst du natürlich auch smarte kabelgebundene Thermostate nehmen. Bei diesen benötigst du keinen Controller und keine HACS-Komponente, da diese „direkt“ mit den Ventilen verkabelt werden. Aber die Verkabelung muss halt vorhanden sein 😅
Zusätzlich muss man darauf achten, dass die Spannung des Thermostats zur Spannung des Ventils passt und insgesamt ist es teurer als die DIY-Lösung oben. (Dafür auch unabhängig vom Home Assistant.)
ZigBee
Selbst nicht getestet, hier ebenfalls genau auf die Spannung der Ventile achten!
Homematic
Geht da was in Mietwohnungen?
Ich will hier mal eine Frage aus den Kommentaren aufgreifen, die das Problem vieler Mieter mit Fußbodenheizung ganz gut beschreibt:
Moin, danke fürs Video! Wir wohnen in einer Mietwohnung mit einer uralten Fussbodenheizung. Hier habe ich 5 Ventile die ich zum heizen aufdrehen kann. Ich habe dort aber keinerlei Möglichkeit, etwas mit Strom zu versorgen.
Jetzt meine Frage an dich: Gibt es solche Ventile per Zigbee/Matter und Akku betrieben? Sensoren habe ich in jedem Raum! LG aus Köln Flo
Meine Lösungsidee
Also, was ich machen würde in dem Fall: Normale Heizkörperthermostate auf die Fußbodenheizung, die man aber direkt mit einem Temperatursensor (der dann im zugehörigen Raum ist), Pairen kann.
👉 Somit würden dann diese normalen Heizungs-TRVs auf den FBH-Ventilen sitzen, aber die Temperatur würden sie vom Sensor gemeldet bekommen, die im jeweiligen Raum sitzen.
Setzt natürlich auch voraus, dass die TRVs auf die FBH-Verteiler Ventile nebeneinander und von der Höhe her passen. Sollte in den meisten Fällen aber gehen.
Zu empfehlen wäre hier Aqara oder SwitchBot, da diese direkt mit dem Sensor bzw. Einstall-Panel im Raum „sprechen“.
Aqara
Bei dem aktuellen Aqara Thermostat geht die Kopplung von Raumthermostat W100 nur über den Aqara Hub, nur im ZigBee-Modus und nur mit dem Heizkörperthermostat W600 (nicht mit dem alten Aqara-Thermostat)
Hier bräuchtest du jeweils ein Raumthermostat W100 pro Raum und ein Heizkörperthermostat W600 pro Ventil. Zusätzlich noch 1x den Aqara Hub*.

Das alte Heizkörperthermostat
Aqara hat noch ein älteres Heizkörperthermostat, das E1
Dieses (und nur das, nicht das neue) kann über Zigbee2MQTT mit anderen ZigBee-Sensoren gekoppelt werden, indem man den Modus umstellt und z.B. per Home Assistant Automation den Wert des entfernten Sensors in External temperature input schreibt. Mehr dazu in der Doku von Z2M. Wäre also auch eine Möglichkeit.
SwitchBot (Set mit TRV und Sensor/Einstall-Panel)
Bei SwitchBot braucht man dafür, abgesehen von einem Heizkörperthermostat pro Ventil und einem „Panel“ pro Raum, noch mindestens 1x den Hub Mini (vermutlich nur 1 oder 2 mal insgesamt, je nach Empfang).

Wenn du das so 👆 machen willst, teste das erstmal mit einem Ventil und bestell nicht gleich 10 Stück, falls was schiefgeht, nicht funktioniert oder nicht passen sollte.
Das hier ist meine beste Idee dazu und ich habe das nicht selbst getestet! Würde aber mal vorsichtig behaupten, das ist ne gute Idee 😉
Better Thermostat als Alternative?
Du könntest das alternativ auch über Better Thermostat realisieren und so Software-Seitig, also über Home Assistant, Heizkörperthermostat und Sensor „pairen“
Allerdings läuft die Komponente bei vielen nicht zuverlässig, bei einigen aber schon. Wenn irgendwie möglich, würde ich im Zweifel eher auf eine der beiden Kombination von SwitchBot oder Aqara oben setzen.
Was ist mit normalen Heizkörpern?
Für Normale Heizkörper würde ich TRVs empfehlen. Hier eine Liste meiner liebsten TRVs, die mir bisher so untergekommen sind:
SwitchBot TRV
Läuft komplett lokal mit Home Assistant über Bluetooth und ist ziemlich günstig.
💡 Falls du keinen oder schlechten Bluetooth-Empfang hast, empfiehlt sich ein (oder zwei 😉) ESPHome Bluetooth-Proxy zur „Signalverlängerung“ bzw. erweiterten Abdeckung

Auch erhältlich als Set mit Hub Mini & einem Wand-Funk-Thermostat zur optimalen Raumtemperatur-Messung und einfacheren Einstellung 👇

Aqara TRV
Eines der bekanntesten ZigBee-Heizkörperthermostate mit guter Unterstützung in Zigbee2MQTT (selbst getestet) und ZHA (wie ich gehört habe).
Auch zu dem gibt es ein Wandthermostat, falls man das möchte mit 2 extra-Buttons 👇

Mein heimlicher Favorit von AliExpress
Wenn es was aus Fernost sein soll, habe ich hier meinen Favoriten von AliExpress. Manche haben damit die Erfahrung gemacht (so in den Kommentaren gelesen), dass es leicht abbrechen würde.
Ich kann das für unseren Konkreten Testfall nicht bestätigen und es ist eines der wenigen Thermostate, dass dir über Zigbee2MQTT den Öffnungsstand des Ventils in % als Sensor ausgibt.
Wie auch immer, hier der Link: 👉 MOES ZigBee 3.0 TRV Thermostat*
Wichtig: Wann macht eine intelligente Steuerung der Heizung überhaupt Sinn?
Bevor du jetzt loslegst und deine Fußbodenheizung oder Heizkörper smart steuerst: Nicht in jedem Fall ist das überhaupt notwendig oder sinnvoll!
Wichtig zu verstehen: Heizungsanlagen können unendlich komplex sein. Vorlaufgesteuert, rücklaufgesteuert (beides geht auch, beispielsweise mit 2 Heizkreisen) mit oder ohne Pufferspeicher, nur Fußbodenheizung oder gemischt mit Heizkörpern, mit 2 Beladepumpen oder sogar 2 Wärmepumpen, die unterschiedliche Aufgaben gleichzeitig erledigen können – die Variationen sind praktisch endlos. Deshalb lässt sich keine pauschale Aussage treffen, die für alle Systeme gilt.
Bei einem einfachen Einfamilienhaus mit einer reinen Fußboden- oder Heizkörper-Heizung und ordentlichem hydraulischem Abgleich läuft die Heizung (also das Wärme produzierende Ding im Keller oder draußen) fast immer am effizientesten, wenn sie entsprechend eingestellt ist und einfach durchläuft. Gerade bei Wärmepumpen mit Pufferspeicher und guter Vorlaufts- oder Rücklaufstemperatur-Regelung, ist eine zusätzliche Raumsteuerung oft gar nicht nötig (In einfachen Einfamilienhäusern mit Homogener Anlage).
Aber: Grundsätzlich ist es in aller Regel nicht falsch, Energie durch intelligente Steuerung gar nicht erst zu verbrauchen, wenn sie nicht genutzt wird. Oder nur so zu verbrauchen, wie sie auch benötigt wird. Auch wenn deine Heizungsanlage simpel und perfekt abgeglichen ist – warum solltest du nachts oder im Urlaub auf voller Komforttemperatur heizen, wenn niemand da ist oder alle schlafen?
Eine intelligente Steuerung macht besonders Sinn, wenn:
- Du in einem Mehrfamilienhaus wohnst und nur für deine Wohnung die Heizkosten trägst
- Es mindestens 2 unterschiedliche „Heizungsarten“ im Haus gibt (Heizkörper, Fußbodenheizung, Fußbodenerwärmung, Kachelofen, Kamin, etc.)
- Es mindestens 2 unterschiedliche Heizpräferenzen im Haus gibt (Der eine mags super warm, der andere eher kühl)
- Verschiedene Räume unterschiedlich genutzt werden (z.B. Homeoffice tagsüber, Schlafzimmer nur nachts)
- Du deine Heizkosten optimieren möchtest durch z.B. intelligente Nachtabsenkung, Abwesenheitsmodus, Präsenzerkennung, etc.
- Deine Wärmequelle (Öl, Gas, Strom) teurer ist (oder zu bestimmten Zeiten günstiger) und du jeden Heizvorgang optimieren willst
- Du komplexe Anlagenkonstellationen hast, bei denen die Werkseinstellungen nicht optimal auf deine Nutzung abgestimmt sind oder werden können
Wie sieht es bei mir aus?
In meinem Fall macht die intelligente Steuerung Sinn, weil wir verschiedene Nutzungsprofile habe und aktiv Kosten durch Nachtabsenkung und Urlaubsmodus spare.
Außerdem haben wir:
- Eine Wohnung nur mit Heizkörpern (EG)
- Eine nur mit Fußbodenheizung (OG)
- Eine gemischt mit Heizkörpern und Fußbodenerwärmung (DG)
Das 👆 alles wird über den selben Rücklaufsfühler der Heizungsanlage (Rücklaufsgesteuert) befeuert. Eine Partei mag es zudem etwas kühler, eine sehr warm, wir so mittel… Eine Passende Einstellung für sowas gibt es einfach nicht, oder ich habe sie zumindest nicht gefunden 😅
Die smarte Sonnensteuerung verhindert zudem Überhitzung durch Sonneneinstrahlung.
Altes Video – Für nicht Homogene Fußbodenheizungen
Falls du Heizkörper und eine Fußbodenheizung bzw. Fußbodenerwärmung haben solltest, würde ich eher zu smarten Stellantrieben greifen um alles bestmöglich zu optimieren. Das habe ich in meinem alten Video 👇 zur Fußbodenheizung bei uns im DG gezeigt.
Falls du jedoch bisher keine Homematic-Hardware haben solltest oder es dir zu teuer ist, kannst du natürlich auch die „DIY-Variante“ von oben 👆 nutzen
Voraussetzungen
Home Assistant muss schon installiert sein, auf welcher Hardware spielt keine Rolle. Außerdem sollte du mit den Grundlagen sowie den Automationen vertraut sein:
- Home Assistant auf Intel NUC installieren (Generic x86-64) 🚀
- Home Assistant Grundlagen für Anfänger – From Zero to Hero
- Home Assistant Automation Tutorial – Komplett & verständlich erklärt
Hardware für Fußbodenheizung
Hier erstmal die gesamte Hardware, die ich verwendet habe. Für die Homematic Geräte wird natürlich eine [CCU oder RaspberryMatic] + HomematicLocal vorausgesetzt.
Controller
Das ist der im Video genutzte Controller, der die Ventile auch zu X% öffnen kann und nicht nur auf & zu kennt.
Ventil (1 Pro Kreislauf)
Diese Ventile passen zum Controller oben, andere sind bei diesem nicht möglich!
Raumthermostate
Funk-Thermostat
Hierbei handelt es sich um Funk-Thermostate die mit dem Controller im Verteilerkasten eine Verbindung herstellen (diese passen als für den Controller oben!). Alternativen für Verkabelte Installationen findest du unten.
Code für Automationen
Angelegte Helfer & Templates
| Name | Entitäts-ID |
|---|---|
| FBH Abschaltzeit W | input_datetime.fbh_abschaltzeit_w |
| FBH Abschaltzeit WE | input_datetime.fbh_abschaltzeit_we |
| FBH Anschaltzeit W | input_datetime.fbh_anschaltzeit_w |
| FBH Anschaltzeit WE | input_datetime.fbh_anschaltzeit_we |
| FBH Sonnensteuerung | input_boolean.fbh_sonnensteuerung |
| FBH Temperatursteuerung | input_boolean.fbh_temperatursteuerung |
| Tages-Temperatur | input_number.tages_temperatur |
| Nacht-Temperatur | input_number.nacht_temperatur |
| Bad Nacht-Temperatur | input_number.bad_nacht_temperatur |
| Urlaubsmodus | input_boolean.urlaubsmodus |
| Urlaubsstart | input_datetime.urlaubsstart |
| Urlaubsende | input_datetime.urlaubsende |
configuration.yaml Template-Code für Wettervorhersage der nächsten Stunde (erforderlich für Sonnensteuerung):
template:
- trigger:
- platform: time_pattern
hours: /1
action:
- service: weather.get_forecast
data:
type: hourly
target:
entity_id: weather.forecast_haus_elisabeth
response_variable: stundenvorhersage
sensor:
- name: Wetter-Vorhersage der nächsten Stunde
unique_id: forecast_next_1_hour
state: "{{ now().isoformat() }}"
icon: mdi:hours-24
attributes:
condition: "{{ stundenvorhersage.forecast[0].condition }}"
cloud_coverage: "{{ stundenvorhersage.forecast[0].cloud_coverage }}"
temnperature: "{{ stundenvorhersage.forecast[0].temperature }}"
Hinweis zum Code
Natürlich werden die Entitäts-Namen für euch nicht passen, aber ihr könnt euch zumindest den Aufbau der Automationen als eigene Automation kopieren.
Falls jemand suchen und ersetzen möchte, dies sind die Entitäts-Namen von Geräten, welche im Code vorkommen:
- climate.heizkorper_dg_zimmer
- climate.heizkorper_entspannungszimmer
- climate.heizkorper_esszimmer_links
- climate.thermostat_eszimmer
- climate.thermostat_wohnzimmer
- climate.wandthermostat_bad
Und ja: Mir ist bewusst, dass dort leider ein Rechtschreibfehler drinnen ist 😅
FBH – Temperatursteuerung
alias: FBH - Temperatursteuerung
description: ""
trigger:
- platform: time
at: input_datetime.fbh_anschaltzeit_w
id: AnschaltenW
- platform: time
at: input_datetime.fbh_anschaltzeit_we
id: AnschaltenWE
- platform: time
at: input_datetime.fbh_abschaltzeit_w
id: AbschaltenW
- platform: time
at: input_datetime.fbh_abschaltzeit_we
id: AbschaltenWE
condition:
- condition: and
conditions:
- condition: state
entity_id: input_boolean.fbh_temperatursteuerung
state: "on"
- condition: or
conditions:
- condition: and
conditions:
- condition: trigger
id:
- AnschaltenW
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: and
conditions:
- condition: trigger
id:
- AnschaltenWE
- condition: time
weekday:
- sat
- sun
- condition: and
conditions:
- condition: trigger
id:
- AbschaltenW
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: and
conditions:
- condition: trigger
id:
- AbschaltenWE
- condition: time
weekday:
- sat
- sun
- condition: not
conditions:
- condition: state
entity_id: input_boolean.urlaubsmodus
state: "on"
alias: Urlaubsmodus nicht aktiv
action:
- choose:
- conditions:
- condition: trigger
id:
- AnschaltenW
- AnschaltenWE
sequence:
- service: climate.set_temperature
data:
temperature: "{{(float(states('input_number.tages_temperatur')))}}"
target:
entity_id:
- climate.heizkorper_dg_zimmer
- climate.heizkorper_entspannungszimmer
- climate.heizkorper_esszimmer_links
- climate.thermostat_eszimmer
- climate.thermostat_wohnzimmer
- climate.wandthermostat_bad
- conditions:
- condition: trigger
id:
- AbschaltenW
- AbschaltenWE
sequence:
- service: climate.set_temperature
data:
temperature: "{{(float(states('input_number.nacht_temperatur')))}}"
target:
entity_id:
- climate.heizkorper_dg_zimmer
- climate.heizkorper_entspannungszimmer
- climate.heizkorper_esszimmer_links
- climate.thermostat_eszimmer
- climate.thermostat_wohnzimmer
- service: input_number.set_value
data:
value: "{{(float(states('input_number.nacht_temperatur'))) + 0.3}}"
target:
entity_id: input_number.ausschalt_temperatur
- service: input_number.set_value
data:
value: "{{(float(states('input_number.nacht_temperatur'))) - 0.2}}"
target:
entity_id: input_number.anschalt_temperatur
- service: climate.set_temperature
data:
temperature: "{{(float(states('input_number.bad_nacht_temperatur')))}}"
target:
entity_id:
- climate.wandthermostat_bad
mode: single
FBH – Sonnensteuerung
Die richtigen Azimut & Elevation-Werte zu finden, geht entweder über die von mir genutzte App Sun Seeker oder alternativ hier (am besten dafür die Uhrzeiten aufschreiben und schauen, wie zu dem Zeitpunkt der Sonnenstand war)
alias: FBH - Sonnensteuerung
description: ""
trigger:
- platform: state
entity_id:
- sensor.wetter_der_nachsten_stunde
attribute: condition
to: sunny
id: SunIsShiningNextHour
- platform: state
entity_id:
- sensor.wetter_der_nachsten_stunde
attribute: condition
id: NoSunNextHour
from: sunny
- alias: 1 Stunde bevor die Sonne untergeht
platform: sun
event: sunset
offset: "-01:00:00"
id: NoSunNextHour
condition:
- alias: Muss gesteuert werden (und)?
condition: and
conditions:
- condition: state
entity_id: input_boolean.fbh_sonnensteuerung
state: "on"
alias: Steuerung aktiv?
- alias: Zur richtigen Zeit? (außerhalb der Abschalt-Zeiten)
condition: or
conditions:
- alias: Im Tages-Zeit-Slot am Wochenende
condition: time
after: input_datetime.fbh_anschaltzeit_we
before: input_datetime.fbh_abschaltzeit_we
weekday:
- sat
- sun
- alias: Im Tages-Zeit-Slot unter der Woche
condition: time
after: input_datetime.fbh_anschaltzeit_w
before: input_datetime.fbh_abschaltzeit_w
weekday:
- fri
- thu
- tue
- mon
- wed
- alias: Temperaturen weichen vom Soll-Wert der Sonnensteuerung ab?
condition: or
conditions:
- alias: Muss die Temperatur gesenkt werden?
condition: and
conditions:
- condition: trigger
id:
- SunIsShiningNextHour
alias: Die sonne scheint bald
- condition: or
conditions:
- condition: template
value_template: >-
{{ states('input_number.tages_temperatur') | float ==
state_attr('climate.thermostat_wohnzimmer', 'temperature')
| float }}
alias: Temperatur ist Tages-Temperatur
- alias: Temperatur ist höher als Tages-Temperatur
condition: template
value_template: >-
{{ states('input_number.tages_temperatur') | float <
state_attr('climate.thermostat_wohnzimmer', 'temperature')
| float }}
alias: Temperatur höher oder gleich Tages-Temperatur
- condition: numeric_state
entity_id: sun.sun
attribute: azimuth
above: 170
below: 217
alias: Sonne im Bereich des Fenster? (Links - Rechts)
- alias: Sonne im Bereich des Fenster? (Unten - Oben)
condition: numeric_state
entity_id: sun.sun
attribute: azimuth
above: 8
below: 30
- alias: Muss die Temperatur erhöht werden?
condition: and
conditions:
- alias: Es ist nicht sonnig die nächste Stunde
condition: trigger
id:
- NoSunNextHour
- alias: Temperatur niedriger als Tages-Temperatur
condition: template
value_template: >-
{{ states('input_number.tages_temperatur') | float >
state_attr('climate.thermostat_wohnzimmer', 'temperature') |
float }}
- condition: or
conditions:
- condition: not
conditions:
- condition: state
entity_id: sensor.wetter_der_nachsten_stunde
attribute: condition
state: sunny
alias: Wettervorhersage ist nicht sonnig
- condition: sun
after: sunset
after_offset: "-01:00:00"
alias: 1 Stunde bevor die Sonne untergeht
alias: Sonne scheint nicht oder geht bald unter?
- condition: not
conditions:
- condition: state
entity_id: input_boolean.urlaubsmodus
state: "on"
alias: Urlaubsmodus nicht aktiv
action:
- choose:
- conditions:
- condition: trigger
id:
- SunIsShiningNextHour
sequence:
- service: climate.set_temperature
data:
temperature: "{{(float(states('input_number.tages_temperatur'))) - 0.5}}"
target:
entity_id:
- climate.heizkorper_dg_zimmer
- climate.heizkorper_esszimmer_links
- climate.thermostat_eszimmer
- climate.thermostat_wohnzimmer
alias: Verringern der Temperatur um 0,5 Grad
- conditions:
- condition: trigger
id:
- NoSunNextHour
sequence:
- service: climate.set_temperature
data:
temperature: "{{(float(states('input_number.tages_temperatur')))}}"
target:
entity_id:
- climate.heizkorper_dg_zimmer
- climate.heizkorper_esszimmer_links
- climate.thermostat_eszimmer
- climate.thermostat_wohnzimmer
alias: Zurücksetzen auf Tages-Temperatur
mode: single
FBH – Notabschaltung
Voraussetzung ist die Überwachung von Rohr-Temperaturen der Heizung, zumindest in meinem speziellem Fall 😉
alias: FBH - Notabschaltung
description: ""
trigger:
- platform: numeric_state
entity_id: sensor.vorlauf_fbh
for:
hours: 0
minutes: 3
seconds: 0
above: 48.4
id: Notabschaltung
- platform: numeric_state
entity_id: sensor.vorlauf_fbh
for:
hours: 0
minutes: 5
seconds: 0
id: WiederAnschalten
below: 48.1
condition: []
action:
- choose:
- conditions:
- condition: trigger
id:
- Notabschaltung
sequence:
- type: turn_off
device_id: a54c7740e13c9b5c91b98bc4262fdea4
entity_id: c45482b6c3193829cb1e67a1d0a9d36a
domain: switch
- service: notify.notify
data:
message: >-
Die Fußbodenheizungspumpe wurde deaktiviert, da der Vorlauf zu
heiß ist!
title: Notabschaltung FBH!
- conditions:
- condition: trigger
id:
- WiederAnschalten
sequence:
- type: turn_on
device_id: a54c7740e13c9b5c91b98bc4262fdea4
entity_id: c45482b6c3193829cb1e67a1d0a9d36a
domain: switch
- service: notify.notify
data:
message: Die Fußbodenheizungspumpe wurde wieder aktiviert!
title: Wiederanlauf FBH!
mode: single
FBH – Pumpensteuerung
Basiert auf den Ventil-Öffnungsangaben des Homematic-Controllers.
alias: FBH - Pumpensteuerung
description: ""
trigger:
- platform: numeric_state
entity_id: sensor.fusbodenheizungscontroller_hmip_falmot_c12_level_ch1
above: 0
id: PumpOn
enabled: true
- platform: numeric_state
entity_id: sensor.fusbodenheizungscontroller_hmip_falmot_c12_level_ch2
above: 0
id: PumpOn
- platform: numeric_state
entity_id: sensor.fusbodenheizungscontroller_hmip_falmot_c12_level_ch3
above: 0
id: PumpOn
- platform: numeric_state
entity_id: sensor.fusbodenheizungscontroller_hmip_falmot_c12_level_ch1
id: PumpOff
below: 1
enabled: true
- platform: numeric_state
entity_id: sensor.fusbodenheizungscontroller_hmip_falmot_c12_level_ch2
id: PumpOff
below: 1
- platform: numeric_state
entity_id: sensor.fusbodenheizungscontroller_hmip_falmot_c12_level_ch3
id: PumpOff
below: 1
condition:
- alias: Muss Pumpe an- oder ausgeschaltet werden?
condition: or
conditions:
- alias: Muss Pumpe angeschaltet werden?
condition: and
conditions:
- condition: trigger
id:
- PumpOn
- condition: device
type: is_off
device_id: a54c7740e13c9b5c91b98bc4262fdea4
entity_id: c45482b6c3193829cb1e67a1d0a9d36a
domain: switch
- alias: Sollte die Pumpe ausgeschaltet werden?
condition: and
conditions:
- condition: trigger
id:
- PumpOff
- condition: numeric_state
entity_id: sensor.fusbodenheizungscontroller_hmip_falmot_c12_level_ch1
below: 1
enabled: true
- condition: numeric_state
entity_id: sensor.fusbodenheizungscontroller_hmip_falmot_c12_level_ch2
below: 1
- condition: numeric_state
entity_id: sensor.fusbodenheizungscontroller_hmip_falmot_c12_level_ch3
below: 1
- condition: device
type: is_on
device_id: a54c7740e13c9b5c91b98bc4262fdea4
entity_id: c45482b6c3193829cb1e67a1d0a9d36a
domain: switch
action:
- choose:
- conditions:
- condition: trigger
id:
- PumpOn
sequence:
- type: turn_on
device_id: a54c7740e13c9b5c91b98bc4262fdea4
entity_id: c45482b6c3193829cb1e67a1d0a9d36a
domain: switch
- conditions:
- condition: trigger
id:
- PumpOff
sequence:
- type: turn_off
device_id: a54c7740e13c9b5c91b98bc4262fdea4
entity_id: c45482b6c3193829cb1e67a1d0a9d36a
domain: switch
mode: single
FBH – Bad Comfort-Temperatur
alias: FBH - Bad Comfort-Temperatur
description: ""
trigger:
- type: motion
platform: device
device_id: e9c06c437ac2030b21c3ad0db76962d1
entity_id: 807c8072a0112779c51d224304467e97
domain: binary_sensor
id: BewegungErkannt
- type: no_motion
platform: device
device_id: e9c06c437ac2030b21c3ad0db76962d1
entity_id: 807c8072a0112779c51d224304467e97
domain: binary_sensor
id: KEINEBewegungErkannt
for:
hours: 0
minutes: 15
seconds: 0
condition:
- condition: or
conditions:
- condition: time
after: input_datetime.fbh_anschaltzeit_w
before: "08:30:00"
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: time
after: input_datetime.fbh_anschaltzeit_we
before: "08:30:00"
weekday:
- sat
- sun
- condition: time
after: "18:00:00"
before: input_datetime.fbh_abschaltzeit_we
weekday:
- sat
- sun
- condition: time
after: "18:00:00"
before: input_datetime.fbh_abschaltzeit_w
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: trigger
id:
- KEINEBewegungErkannt
- condition: not
conditions:
- condition: state
entity_id: input_boolean.urlaubsmodus
state: "on"
alias: Urlaubsmodus nicht aktiv
action:
- choose:
- conditions:
- condition: trigger
id:
- KEINEBewegungErkannt
- condition: numeric_state
entity_id: climate.wandthermostat_bad
attribute: temperature
above: input_number.tages_temperatur
sequence:
- service: climate.set_temperature
data:
temperature: "{{(float(states('input_number.tages_temperatur')))}}"
target:
entity_id: climate.wandthermostat_bad
- conditions:
- condition: trigger
id:
- BewegungErkannt
- condition: numeric_state
entity_id: climate.wandthermostat_bad
attribute: temperature
below: input_number.tages_temperatur
sequence:
- service: climate.set_temperature
data:
temperature: "{{(float(states('input_number.tages_temperatur'))) + 0.5}}"
target:
entity_id: climate.wandthermostat_bad
mode: single
Urlaubsmodus-Steuerung
alias: Urlaubsmodus-Steuerung
description: ""
trigger:
- platform: state
entity_id:
- input_boolean.urlaubsmodus
from: "off"
to: "on"
alias: UrlaubAktiviert
id: UrlaubAktiviert
- platform: state
entity_id:
- input_datetime.urlaubsstart
id: UrlaubsStartGeaendert
- platform: state
entity_id:
- input_datetime.urlaubsende
id: UrlaubsEndeGeaendert
- alias: 6 Stunden vor Urlaubsende
platform: template
value_template: >-
{{ (now() + timedelta(minutes=360)).strftime('%Y-%m-%d %H:%M') ==
states('input_datetime.urlaubsende')[:-3] }}
id: 6StundenVorUrlaubsende
- platform: time
at: input_datetime.urlaubsstart
id: UrlaubsStart
condition: []
action:
- choose:
- conditions:
- condition: trigger
id:
- 6StundenVorUrlaubsende
sequence:
- service: input_boolean.turn_off
target:
entity_id: input_boolean.urlaubsmodus
data: {}
- service: homeassistant.turn_off
target:
entity_id:
- switch.presence_simulation
device_id: []
area_id: []
data: {}
- conditions:
- condition: trigger
id:
- UrlaubsStart
sequence:
- service: input_boolean.turn_on
target:
entity_id:
- input_boolean.urlaubsmodus
device_id: []
area_id: []
data: {}
- conditions:
- condition: trigger
id:
- UrlaubsStart
- UrlaubAktiviert
- UrlaubsStartGeaendert
- UrlaubsEndeGeaendert
- condition: template
value_template: >-
{{ (now() + timedelta(minutes=-2)).strftime('%Y-%m-%d %H:%M') >=
states('input_datetime.urlaubsstart')[:-3] }}
alias: Nach Urlaubsstart
- alias: Vor Urlaubsende
condition: template
value_template: >-
{{ (now() + timedelta(minutes=0)).strftime('%Y-%m-%d %H:%M') <=
states('input_datetime.urlaubsende')[:-3] }}
sequence:
- service: climate.set_temperature
data:
temperature: 17
target:
entity_id:
- climate.heizkorper_dg_zimmer
- climate.heizkorper_entspannungszimmer
- climate.heizkorper_esszimmer_links
- climate.thermostat_eszimmer
- climate.thermostat_wohnzimmer
- climate.wandthermostat_bad
- service: homeassistant.turn_on
target:
entity_id: switch.presence_simulation
data: {}
mode: single
Geräte für HA
Mehr Geräte für Home Assistant, HACS oder auch Alexa, Google Home, HomeKit sowie Homebridge findest du in unserem Smart Home Gerätefinder!
Fazit
Zusammenfassend lässt sich sagen, dass das Smart-Machen deiner Fußbodenheizung nicht nur deinen Wohnkomfort erheblich steigern kann, sondern dir auch ermöglicht, erheblich Energie und Kosten zu sparen.
Mit Home Assistant und den 4 vorgestellten Automationen kannst du ein neues Level von Effizienz und Komfort erreichen, indem du nützliche Funktionen wie Nachtabsenkung oder Urlaubsmodus nutzt.
Mache den ersten Schritt in ein smarteres Zuhause noch heute!




Das Video fand ist sehr interessant, kann mir davon viele Sachen für meine Heizungssteuerung rausziehen, die ich noch bauen werden - aber das wird erst nach dem Winter passieren.
Bei FBH muss man wirklich aufpassen, was und wie man regelt. Beim Bekannten von mir hat ein Test mir/ohne Nachabsenkung dazu geführt, das der Energieverbrauch mit Nachabsenkung deutlich angestiegen ist ( Passivhaus, Erdwärmepumpe mit FBH ) im Vergleich zu der Zeit wo die ohne Absenkung nachts durchgelaufen ist.
Guten Morgen simon42 und Mitleser ;-),
ich bewundere dein Verständnis zu Automatisierungen und habe das Video sehr gerne geschaut.
Gerne möchte ich auch den Fussbodenheizungscontroller installieren und eine Einrichtung zwischen RaspberryMatic-VM und HomeAssistant vornehmen.
Ich frage mich allerdings zwei Dinge, vielleicht mag mir jemand auf die “Sprünge helfen”:
Viele Grüße, Stoffi
EDIT: oder ist mein Gedankengang zum zweiten Punkt Blödsinn, da ich eigentlich die Homematic Wandthermostate in der CUU3 mit einbinden müsste, damit die Logik zur Einstellung der Ventilstellung (z. B. Öffnen von 23% auf 28% um Sollwert zu erreichen) arbeiten kann?
Hallo zusammen,
mit Begeisterung schaue Ich regelmäßig deine Videos und habe auch schon - dank deiner Hilfe - das ein oder andere gemeistert.
Nun wollte Ich aus deinem letzten Video einmal die Geschichte mit der Sonnensteuerung nutzen, nur leider bekomme Ich schon die Stundenvorhersage mit dem hier hinterlegten Code nicht hin. Ich bekomme immer die Fehlermeldung: ‘stundenvorhersage’ is undefined.
Habe Ich vielleicht etwas überlesen und man muss ‘stundenvorhersage’ vorher noch irgendwo anlegen ?
Besten Dank im Voraus
Gruß
Magnus
Hi,
Ich bin am überlegen auf ein smartes System zu wechseln.
Mir würde theoretisch reichen wenn ich die Aktoren direkt in home assistant ansteuern könnte, finde hierzu jedoch nichts.
Dh zum Gateway benötige ich ebenfalls noch den AP von HMIP, korrekt?
Wäre es denn nicht auch denkbar einfach “normale” Stellantriebe für Heizkörper zu nehmen und zu integrieren?
Temp. Steuerung über meine vorhandenen Aquara Temp Sensoren?
Oder übersehe ich hier aktuell was?
Danke für das Video, @simon42 . Gerade als HA-Einsteiger sehr hilfreich. Zwei Fragen: du sagst im Video, dass du auch die Code-Snippets für das Dashboard in den Blog-Beitrag packst. Die konnte ich jetzt da nicht finden… Und könntest du im Zuge dessen evtl. auch noch zeigen wie die Helfer eingestellt sind? Gerade bei den input_number-Helfern gibt es ja einige Einstellmöglichkeiten. (vll erklärt sich das aber auch schon mit den Dashboard Code-Snippets). LG talkstar