!Beschlagene Fensterscheibe mit Wassertropfen
Im April 2023 eröffnete ein Nutzer im Home-Assistant-Forum einen Thread mit einem scheinbar simplen Wunsch: Er hatte einen Template-Sensor gebaut, der aus relativer Luftfeuchte und Temperatur die absolute Feuchte berechnet, und wollte sie in Gramm pro Kubikmeter anzeigen. Home Assistant meckerte im Log, dass für Feuchtesensoren nur Prozent erlaubt seien. Ein anderer Nutzer verwies auf eine Custom Component, ein dritter wünschte sich eine eigene Geräteklasse. Im Oktober 2024 fehlte die Option immer noch im Dropdown für Template-Helfer (Forum-Thread). Inzwischen führt die Doku der Sensor-Integration die Geräteklasse absolute_humidity ("Amount of water vapor in the air, in g/m³ or mg/m³"). Das Problem von damals ist gelöst, das Problem dahinter nicht: Die meisten Haushalte vergleichen beim Lüften immer noch zwei Prozentzahlen, die sich gar nicht vergleichen lassen.
Ein zweiter Befund passt dazu. Der Mold Indicator, ein Helfer in Home Assistant selbst, der genau das Schimmelrisiko an der kalten Wand abschätzt, wird laut Integrationsseite von 1,1 Prozent der aktiven Installationen genutzt. Dabei ist er seit Version 0.20 dabei. Das Tutorial von simon42, im deutschsprachigen Raum eine der Referenzen zum Thema, räumt in seinem Lüftungs-Tutorial ein, ihm sei nicht bewusst gewesen, dass es ihn gibt, Leser hätten ihn darauf hingewiesen. Das Werkzeug nicht zu kennen ist also normal. Dieser Artikel zeigt, was relative Feuchte beim Lüften verschweigt, wie Sie absolute Feuchte und Taupunkt in Home Assistant bekommen und wie daraus eine Automation wird, die nur dann zum Fensteröffnen auffordert, wenn es etwas bringt.
Warum die Prozentzahl täuscht
Relative Luftfeuchte sagt, wie voll die Luft im Verhältnis zu dem ist, was sie bei der jeweiligen Temperatur maximal halten könnte. Warme Luft kann viel mehr Wasserdampf tragen als kalte. Dieselbe Wassermenge ergibt deshalb bei 0 °C einen hohen und bei 21 °C einen niedrigen Prozentwert. Die absolute Feuchte in g/m³ sagt dagegen, wie viel Wasser tatsächlich in einem Kubikmeter steckt. Nur sie lässt sich zwischen drinnen und draußen vergleichen.
Ein paar Beispiele, berechnet mit der Magnus-Formel (die Formel steht weiter unten, die Zahlen sind unsere eigene Rechnung):
| Situation | Temperatur | rel. Feuchte | absolute Feuchte |
|---|---|---|---|
| Wohnzimmer | 21 °C | 55 % | 10,1 g/m³ |
| Herbsttag, neblig | 13 °C | 85 % | 9,6 g/m³ |
| Novemberabend | 8 °C | 85 % | 7,0 g/m³ |
| Frostiger Morgen | 1 °C | 90 % | 4,7 g/m³ |
| Sommerabend | 25 °C | 60 % | 13,8 g/m³ |
Wo Schimmel wirklich entsteht: an der kalten Wand
Die absolute Feuchte beantwortet die Frage "bringt Lüften etwas". Ob Schimmel droht, hängt zusätzlich von der kältesten Stelle im Raum ab. Das UBA beschreibt als Ursache die Kondensation der Luftfeuchte an kalten Wänden, etwa durch Wärmebrücken, unzureichende Dämmung oder falsches Heizen (UBA: Häufige Fragen bei Schimmelbefall). Sporen sind laut UBA immer im Innenraum vorhanden, sie wachsen nur auf feuchten Oberflächen. Die Raumluft kann also völlig unauffällig aussehen, während es hinter dem Schrank an der Außenwand schon kippt.
Hier kommt der Taupunkt ins Spiel. Er nennt die Temperatur, bei der die Luft mit ihrem aktuellen Wassergehalt gesättigt wäre. Eine Oberfläche unterhalb dieser Temperatur beschlägt. Bei 21 °C und 55 Prozent liegt er bei etwa 11,6 °C (eigene Rechnung). Eine Außenwandecke, die im Winter nur 11 °C erreicht, ist damit schon im Kondensationsbereich. Schimmel braucht laut Home-Assistant-Doku nicht einmal 100 Prozent: Ab etwa 70 Prozent relativer Feuchte an der Oberfläche steigt das Wachstumsrisiko, bei 100 Prozent kondensiert es.
Weg 1: Template-Sensor mit Magnus-Formel
Die Variante ohne Zusatzkomponente. Sie brauchen je Raum einen Temperatur- und Feuchtesensor und draußen ebenfalls. Die Formel ist die Standardnäherung nach Magnus, wie sie auch das Blueprint im Forum (Juni 2025) mit etwas anderen Konstanten verwendet. Wir nutzen die gängigen Werte 17,62 und 243,12 °C, der Sättigungsdampfdruck bei 0 °C beträgt 6,112 hPa:
# configuration.yaml
template:
- sensor:
- name: "Absolute Feuchte Wohnzimmer"
unique_id: abs_feuchte_wohnzimmer
unit_of_measurement: "g/m³"
device_class: absolute_humidity
state_class: measurement
availability: >
{{ has_value('sensor.wz_temperatur') and has_value('sensor.wz_feuchte') }}
state: >
{% set t = states('sensor.wz_temperatur') | float %}
{% set rh = states('sensor.wz_feuchte') | float %}
{{ (216.7 * (rh / 100 * 6.112 * e ** (17.62 * t / (243.12 + t))) / (273.15 + t)) | round(2) }}
- name: "Absolute Feuchte außen"
unique_id: abs_feuchte_aussen
unit_of_measurement: "g/m³"
device_class: absolute_humidity
state_class: measurement
availability: >
{{ has_value('sensor.aussen_temperatur') and has_value('sensor.aussen_feuchte') }}
state: >
{% set t = states('sensor.aussen_temperatur') | float %}
{% set rh = states('sensor.aussen_feuchte') | float %}
{{ (216.7 * (rh / 100 * 6.112 * e ** (17.62 * t / (243.12 + t))) / (273.15 + t)) | round(2) }}
- name: "Feuchtedifferenz Wohnzimmer"
unique_id: abs_feuchte_diff_wohnzimmer
unit_of_measurement: "g/m³"
state_class: measurement
availability: >
{{ has_value('sensor.absolute_feuchte_wohnzimmer') and has_value('sensor.absolute_feuchte_aussen') }}
state: >
{{ (states('sensor.absolute_feuchte_wohnzimmer') | float
- states('sensor.absolute_feuchte_aussen') | float) | round(2) }}
- name: "Taupunkt Wohnzimmer"
unique_id: taupunkt_wohnzimmer
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
availability: >
{{ has_value('sensor.wz_temperatur') and has_value('sensor.wz_feuchte') }}
state: >
{% set t = states('sensor.wz_temperatur') | float %}
{% set rh = states('sensor.wz_feuchte') | float %}
{% set g = log(rh / 100) + 17.62 * t / (243.12 + t) %}
{{ (243.12 * g / (17.62 - g)) | round(1) }}
Passen Sie die Entity-IDs an Ihre Sensoren an. Die IDs der berechneten Sensoren entstehen aus dem Namen (aus "Absolute Feuchte außen" wird sensor.absolute_feuchte_aussen), prüfen Sie sie in den Entwicklerwerkzeugen. Die availability-Zeile ist kein Zierrat: Ohne sie rechnet der Sensor bei einem ausgefallenen Zigbee-Gerät mit 0 weiter und liefert plausibel aussehenden Unsinn. Nach dem Ändern der YAML-Datei reicht ein Neuladen der Template-Entitäten unter Entwicklerwerkzeuge, ein Neustart ist nicht nötig. Wie Template-Helfer grundsätzlich funktionieren, erklärt simon42 in seinem Template-Sensor-Beitrag.
Weg 2: Thermal Comfort aus HACS
Wer nicht rechnen will, installiert die Custom Integration Thermal Comfort. Sie steht in der HACS-Standardliste und bietet laut README unter anderem absolute_humidity, dew_point, frost_point und moist_air_enthalpy als Sensoren. Die letzte Version ist laut GitHub 2.2.6 vom 22. Februar 2026, vorausgesetzt wird Home Assistant ab 2023.12. Einrichtung per UI (Config Flow) oder YAML. Wie HACS selbst funktioniert, steht in HACS installieren.
Der Vorteil: Sie müssen keine Formeln pflegen, und die Integration erzeugt auf Wunsch auch Wahrnehmungssensoren ("comfortable", "uncomfortable"). Der Nachteil: Es ist eine Custom Integration, und Custom Integrations gehen nach größeren Home-Assistant-Updates gelegentlich kaputt. Für eine Funktion, die in vier Zeilen Jinja passt, ist das ein Abwägen. Ich würde bei einem oder zwei Räumen den Template-Weg nehmen und Thermal Comfort ab etwa fünf Räumen, wenn die Pflege der Kopien lästig wird. Das ist meine Einschätzung, keine Vorgabe der Entwickler.
Weg 3: Mold Indicator, der Schimmel-Helfer
Der Mold Indicator ist keine Custom Integration, sondern gehört zum Home-Assistant-Kern. Laut Doku nutzt er zwei Temperatursensoren (innen, außen) und einen Feuchtesensor innen, um die relative Feuchte an einer kalten Fläche vorherzusagen. Angelegt wird er unter Einstellungen, Geräte & Dienste, Helfer, Helfer erstellen. Neben den drei Sensoren gibt es einen Kalibrierfaktor.
Dieser Faktor ist der Haken, und zugleich das Interessante daran. Der Sensor schätzt die Temperatur an der Wand aus Innen- und Außentemperatur. Wie kalt die Wand tatsächlich wird, hängt von Dämmung und Wärmebrücken ab, also müssen Sie es einmal messen. Die Doku beschreibt es so: Suchen Sie die kälteste Stelle im Raum (typischerweise nahe der Fensterlaibung), messen Sie dort mit einem Infrarotthermometer und notieren Sie gleichzeitig die Werte der beiden Sensoren, bei möglichst großem Temperaturunterschied. Dann gilt:
calibration_factor = (temp_innen - temp_außen) / (temp_kritischer_punkt - temp_außen)
Ein Rechenbeispiel zur Veranschaulichung (die Zahlen sind ausgedacht, die Formel stammt aus der Doku): Innen 21 °C, außen 0 °C, die Wandecke zeigt 16 °C. Das ergibt 21 / 16, also etwa 1,31. Je größer der Faktor, desto kälter ist die Stelle im Verhältnis zum Raum.
Der Sensor gibt die geschätzte relative Feuchte an dieser Stelle in Prozent aus. Die Doku nennt als Marken: Schimmel ab etwa 70 Prozent, Kondensation bei 100. Ein sinnvoller Ansatz ist eine Benachrichtigung ab 65 bis 70 Prozent. Wichtig: Das ist eine Schätzung mit einer einzelnen kalten Stelle. Hinter dem Schrank in der Nordecke kann es kälter sein als dort, wo Sie gemessen haben. Der Helfer ersetzt keine Wärmebildkamera und keinen Bausachverständigen.
Kurzvergleich der drei Wege:
| Template-Sensor | Thermal Comfort | Mold Indicator | |
|---|---|---|---|
| Liefert | absolute Feuchte, Taupunkt | absolute Feuchte, Taupunkt, Frostpunkt u. a. | geschätzte rF an kalter Wand |
| Quelle | eigener Code | HACS (Custom) | Home-Assistant-Kern |
| Aufwand | YAML einmalig | HACS, Config Flow | Kalibrierung mit Messung |
| Beantwortet | "Bringt Lüften was?" | "Bringt Lüften was?" | "Droht Schimmel?" |
Die Automation: nur lüften, wenn es trocknet
Das Prinzip folgt dem, was simon42 und das erwähnte Forum-Blueprint vormachen: Differenz der absoluten Feuchte innen minus außen. Simon nutzt in seiner ersten Version Schwellen von 4,5 g/m³ (Lüften) und 4 g/m³ (Fenster darf zu), das Blueprint rechnet mit einem Standardwert von 3 g/m³. In der erweiterten Fassung bei simon42 kommt die relative Feuchte innen dazu: Benachrichtigt wird nur, wenn sie über 55 Prozent liegt, und spätestens bei 60. Das ist sinnvoll, denn bei trockener Raumluft müssen Sie auch bei großer Differenz nicht lüften.
Hier eine Variante mit der aktuellen Syntax (seit Home Assistant 2024.10 mit triggers, conditions, actions). Unsere Schwellen sind Startwerte, kein Naturgesetz. Der Abstand zwischen Einschalten und Ausschalten ist die Hysterese, damit die Meldung nicht flattert:
automation:
- alias: "Lüften: Wohnzimmer"
mode: single
triggers:
- trigger: numeric_state
entity_id: sensor.feuchtedifferenz_wohnzimmer
above: 3
for: "00:05:00"
id: lueften
- trigger: numeric_state
entity_id: sensor.feuchtedifferenz_wohnzimmer
below: 1.5
for: "00:02:00"
id: zu
conditions:
- condition: time
after: "07:00:00"
before: "21:30:00"
actions:
- choose:
- conditions:
- condition: trigger
id: lueften
- condition: numeric_state
entity_id: sensor.wz_feuchte
above: 55
- condition: numeric_state
entity_id: sensor.aussen_temperatur
above: -15
sequence:
- action: notify.mobile_app_mein_handy
data:
title: "Bitte lüften"
message: >
Drinnen {{ states('sensor.absolute_feuchte_wohnzimmer') }} g/m³,
draußen {{ states('sensor.absolute_feuchte_aussen') }} g/m³.
Lüften trocknet jetzt.
data:
tag: lueften_wohnzimmer
- conditions:
- condition: trigger
id: zu
- condition: state
entity_id: binary_sensor.fenster_wohnzimmer
state: "on"
sequence:
- action: notify.mobile_app_mein_handy
data:
title: "Fenster kann zu"
message: "Der Unterschied ist ausgeglichen."
data:
tag: lueften_wohnzimmer
notify.mobile_app_mein_handy und binary_sensor.fenster_wohnzimmer ersetzen Sie durch Ihre eigenen Entitäten. Wenn Sie keinen Kontaktsensor am Fenster haben, lassen Sie den zweiten Zweig weg oder die Meldung ohne Bedingung laufen. Statt einer Push-Meldung können Sie auch einen Lüfter oder eine Lüftungsanlage schalten, mehr dazu in den Automatisierungs-Beispielen, wo der Badlüfter nach Prozentwerten arbeitet. Das ist die einfachere Logik und reicht bei einem Bad mit Abluft völlig. Bei Fensterlüftung im Wohnraum fehlt ihr der Bezug zur Außenluft, den dieser Artikel liefert.
Zwei Feinheiten, die sich im Alltag zeigen:
Nicht ständig kippen. Das UBA warnt, dass dauergekippte Fenster die Heizkosten drastisch erhöhen und die Wand am Fenster auskühlt, was zu Kondenswasser führen kann. Die Meldung sollte deshalb zu Stoßlüften auffordern, nicht zum Kippen. Im Schlafzimmer empfiehlt das UBA Stoßlüften vor dem Schlafengehen und morgens, mit geschlossener Tür zu kühleren Räumen. Das gehört in die Nachricht. Heizung und Lüften zusammen denken. Nach demselben UBA-Text zur Heizung gibt jede Person pro Nacht etwa einen Viertelliter Wasser an die Raumluft ab, Schlafräume sollen deshalb möglichst nicht unter 16 °C fallen (UBA: Richtig Heizen). Wenn Sie Heizkörperthermostate automatisieren, lohnt sich ein Blick auf die Ersparnis-Analyse: Absenken spart Geld, aber nach UBA nur, wenn vorher ausreichend gelüftet wurde.Sensoren und Genauigkeit: der unbequeme Teil
Die Rechnung steht und fällt mit der Messung, und Feuchtesensoren sind das schwächste Glied. Herstellerangaben aus den Datenblättern:
- Aqara Temperatur- und Feuchtesensor (Zigbee): laut DinoTools-Test ±0,3 °C und ±3 Prozent relative Feuchte.
- Sonoff SNZB-02P: laut Händlerangabe ±0,2 °C und ±2 Prozent.
- Sensirion SHT40, der Chip in vielen ESPHome-Bastelprojekten: laut Hersteller typisch ±1,8 Prozent, maximal ±3,5 Prozent.
Ein praktischer Test: Legen Sie alle Sensoren einen Tag nebeneinander in dasselbe Zimmer und vergleichen Sie. Weichen sie um mehr als ein paar Prozent ab, ziehen Sie eine Offset-Kalibrierung ein. Zigbee2MQTT bietet dafür humidity_calibration und temperature_calibration je Gerät. Ein Außensensor sollte im Schatten und nicht an einer Hauswand hängen, sonst misst er die abgestrahlte Wärme mit. Für Home-Assistant-Neulinge, die erst Sensoren einbinden müssen: Zigbee-Stick im Vergleich, und wer lieber selbst baut, findet in ESPHome ohne Cloud ein Beispiel mit BME280 und SHT31. Bluetooth-Sensoren am SwitchBot-Hub gehen auch, siehe SwitchBot in Home Assistant.
Was die Automation nicht kann
Sie erkennt keine Feuchtequellen. Wäsche auf dem Ständer, Zimmerpflanzen, Kochen und Duschen schlagen in der absoluten Feuchte direkt durch, aber sie sagen Ihnen nicht, woher es kommt. Sie ersetzt auch keine Wärmedämmung: Wenn eine Wand dauerhaft unter dem Taupunkt liegt, hilft Lüften nur zeitweise, und der Mold Indicator zeigt das Muster, wenn der Wert immer wieder hoch geht. Wer parallel Wasserschäden im Blick behalten will, schaut zu Wassermeldern. Und bei sichtbarem Schimmel? Dann ist ein Sensor nicht mehr Ihr Problem. Das UBA hat Hinweise zur Beurteilung und Sanierung auf seiner Schimmel-Seite gebündelt, bei größeren Flächen gehört eine Fachperson ran.
Meine Einschätzung
Die Differenz der absoluten Feuchte ist der Wert, den man sich zuerst bauen sollte. Er ist einfach, die Formel lässt sich in einer Viertelstunde einfügen, und er beendet die Fehlentscheidungen im Herbst, wenn man bei Nebel das Fenster öffnet und im Sommer, wenn man den Keller mit warmer Luft befeuchtet. Der Mold Indicator lohnt sich in genau einem Fall: wenn Sie einen bekannten kalten Fleck haben und bereit sind, einmal mit dem Infrarotthermometer zu messen. Wer das nicht tut, bekommt mit dem Standard-Kalibrierfaktor eine Zahl, die nach Erkenntnis aussieht und keine ist. Thermal Comfort ist bequem, aber bei einer Handvoll Räumen unnötig.
Setzen Sie die Schwellen nicht einfach nach Tabelle. Beobachten Sie zwei, drei Wochen, wie sich die Differenz im Wohnzimmer verhält, schauen Sie in der Verlaufsansicht (oder in InfluxDB und Grafana, wenn Sie ohnehin Langzeitdaten sammeln), und ziehen Sie die Schwelle so, dass die Meldung nur kommt, wenn Lüften wirklich lohnt. Eine Warnung, die zehnmal am Tag nervt, wird nach drei Tagen ignoriert, und dann steht der Sensor nur noch zum Dekorieren im Regal.
Quellen: Home-Assistant-Doku Mold Indicator (home-assistant.io/integrations/mold_indicator, abgerufen 13.10.2026), Home-Assistant-Doku Sensor-Geräteklassen (home-assistant.io/integrations/sensor), Forum-Thread "Support for absolute humidity device class" (community.home-assistant.io, ab 23.04.2023), Forum-Blueprint "Open Window Recommendation | Absolute Humidity Based" (community.home-assistant.io, 03.06.2025), Thermal Comfort README und Release 2.2.6 (github.com/dolezsa/thermal_comfort, 22.02.2026), simon42 "Mit Home Assistant richtig lüften und Schimmelbildung vorbeugen" (simon42.com), Umweltbundesamt "Wie lüfte ich richtig?" (Stand 13.12.2024), "Richtig Heizen, Schimmelbildung vermeiden" (Auszug aus UBA-Leitfaden 2005) und "Häufige Fragen bei Schimmelbefall" (umweltbundesamt.de), DinoTools Test Aqara Sensor (30.09.2020), Kiwi Electronics Sonoff SNZB-02P Datenblatt, Sensirion SHT40 Produktseite. Alle Zahlenbeispiele in Tabelle und Rechnungen sind eigene Berechnungen mit der Magnus-Näherung (a = 17,62, b = 243,12 °C).