Smarthome-BlogLuftfeuchtigkeit smart regulieren
Luftfeuchtigkeit smart regulieren
Lesezeit: 19 min
Veröffentlicht: 2024.04.26
Letztes Update: 2024.06.15
Die Messung und Regulierung der Luftfeuchtigkeit in meinem Wohnraum halte ich für eine der wichtigsten Anwendungen für mein Smarthome. Die Auswirkungen von Luftfeuchtigkeit auf Mensch und Wohnraum werden von vielen unterschätzt.
In diesem Artikel erkläre ich, warum es so wichtig ist, die Luftfeuchtigkeit zu messen und zu kontrollieren. Anschließend gebe ich euch ein paar Ideen, wie ihr smart auf die Luftfeuchtigkeit Einfluss nehmen könnt.
Falls ihr einen günstigen Sensor bauen wollt, um die Temperatur und Luftfeuchtigkeit in eurem Wohnraum zu messen, lest hier weiter: Luftfeuchtigkeit & Temperatur Sensor DHT22
Luftfeuchtigkeit
Zuerst ein paar allgemeine Dinge zum Thema Luftfeuchtigkeit.
Relative Luftfeuchtigkeit
Von den meisten handelsüblichen Messgeräten wird die relative Luftfeuchtigkeit gemessen, diese ist in % angegeben.
100% wäre die maximale Menge an Wasser, welche die Luft bei der jeweiligen Temperatur und dem jeweiligen Luftdruck aufnehmen kann.
Je wärmer die Luft ist, desto mehr Luftfeuchtigkeit kann sie aufnehmen. Bzw. je kälter sie ist, desto weniger kann sie aufnehmen.
Besonders gut kann man diesen Effekt wahrnehmen, wenn man im Winter das Fenster öffnet. Die kalte Luft mit gegebener Luftfeuchtigkeit kommt in den Raum und wird anschließend erwärmt. Wenn sie wärmer wird, könnte sie mehr Luftfeuchtigkeit aufnehmen, die absolute Luftfeuchtigkeit (also wie viel Gramm Wasser pro Kubikmeter Luft) bleibt aber gleich, folglich muss die relative Luftfeuchtigkeit im Raum also sinken.
Das ist auch der Grund, warum die Luft im Innenraum in den Wintermonaten schnell zu trocken sein kann.
Auswirkungen
Für Wohnräume wird generell eine relative Luftfeuchtigkeit von 40-60% empfohlen.
Bei zu hoher relativer Luftfeuchtigkeit fühlt sich die Luft schwül an. Auch die Schimmelbildung wird dadurch gefördert.
Bei zu geringer relativer Luftfeuchtigkeit trocknen die Schleimhäute aus und werden dadurch anfälliger für Krankheitserreger.
Speziell in der kalten Jahreszeit, wo, wie oben beschrieben, es leicht passieren kann, dass die relative Luftfeuchtigkeit gering ist, stellt das natürlich ein doppeltes Problem dar.
Ein weiterer Faktor, welcher oft übersehen wird, ist, wie die Temperaturwahrnehmung mit der relativen Luftfeuchtigkeit zusammen hängt. Bei zu niedriger relativer Luftfeuchtigkeit verdunstet der Schweiß auf unserer Haut schneller, wodurch uns Wärme entzogen wird. Wir haben im Winter also ein sich selbst verstärkendes Problem. Durch die geringe Luftfeuchtigkeit kommt uns die Temperatur im Raum kühler vor. Dadurch ist man versucht, stärker einzuheizen, was wiederum die Luft noch trockener macht.
Gerade im Winter kann es also ausgesprochen sinnvoll sein, die relative Luftfeuchtigkeit im Wohnraum zu überwachen und gegebenenfalls mit Luftbefeuchtern gegenzusteuern.
Weiter unten gebe ich euch ein paar Ideen, wie man das umsetzen könnte.
Absolute Luftfeuchtigkeit
Wie oben beschrieben, hängt die relative Luftfeuchtigkeit von der Temperatur ab. 50% relative Luftfeuchtigkeit bei 23°C sind also etwas ganz anderes als 50% relative Luftfeuchtigkeit bei 10°C.
Wie kann man aber jetzt zwei Luftmengen (z.B. Wohnzimmer und draußen) bezogen auf ihre Luftfeuchtigkeit miteinander vergleichen?
Hier kommt die absolute Luftfeuchtigkeit ins Spiel. Sie gibt an, welche Menge Wasser sich tatsächlich in einer gegebenen Menge Luft befindet.
Es könnte z.B. die Einheit g/m^3 benutzt werden. Also Gramm Wasser pro Kubikmeter Luft.
Wenn man die absolute Luftfeuchtigkeit von 2 Luftmengen miteinander vergleicht, kann man vorhersagen, was passiert, wenn man diese mischt, mit anderen Worten z.B. das Fenster öffnet. Wird dadurch die Luftfeuchtigkeit im Wohnraum steigen oder fallen? Wie man das umsetzen kann, siehe weiter unten.
Smarthome Ideen
Wenn man die Dynamiken der relativen Luftfeuchtigkeit, wie ich sie oben beschrieben habe, kennt, wird klar, dass damit einige smarte Anwendungen denkbar sind.
Der Eine möchte evtl. nur die relative Luftfeuchtigkeit sehen bzw. im Nachhinein betrachten, der Andere evtl. mit komplexeren Automatisierungen darauf Einfluss nehmen.
2 Ideen, die ich selbst nutze, möchte ich auch hier vorstellen: Smarte Luftbefeuchter und smartes Lüften.
Smarte Luftbefeuchter
Eine Variante ist es, abhängig von der relativen Luftfeuchtigkeit einen Luftbefeuchter ein- bzw. auszuschalten. Zu beachten ist, dass dieser Prozess natürlich je nach Raumgröße ziemlich träge ist. Es empfiehlt sich also, verschiedene Vorgehensweisen auszuprobieren, bis ihr etwas findet, das für euren Wohnraum passt.
Ich schalte z.B. meinen Luftbefeuchter ein, wenn die relative Luftfeuchtigkeit unter 48% fällt und wieder aus, wenn sie über 53% liegt.
Das kann mit einfachen Homeassistant-Automatisierungen umgesetzt werden.
Am einfachsten geht das, wenn ihr einen Luftbefeuchter habt, welcher sofort losstartet, wenn er mit Strom versorgt wird (Und nicht zusätzlich noch mit Tasten eingeschaltet werden muss). Diesen könnt ihr dann mit einer smarten Steckdose einfach ein- und ausschalten.
Ich habe 2 Arten von Luftbefeuchtern ausprobiert: Dampfluftbefeuchter und Kaltverdunster.
Dampfluftbefeuchter funktionieren wie ein kleiner Wasserkocher, sie machen also einfach Wasser heiß.
Die Vorteile davon sind, dass das Wasser durch den Erhitzungs-Prozess desinfiziert wird und dass die Luftfeuchtigkeit schnell in die Höhe gebracht werden kann.
Ein Nachteil ist, dass es potenziell zu einer "Überfeuchtung" kommen kann, man also über das Ziel hinaus schießt. Mit einer entsprechenden smarten Steuerung passiert das aber natürlich nicht.
Ein weiterer (und für mich der Entscheidende) Nachteil ist, dass Dampfluftbefeuchter sehr viel Strom verbrauchen für das Erhitzen des Wassers.
Ich bevorzuge Kaltluftbefeuchter. Diese funktionieren mit der natürlichen Verdunstung des Wassers. Rotierende, feuchte Flächen und Ventilatoren beschleunigen diesen Prozess.
Der Stromverbrauch ist minimal, weshalb sie mein Mittel der Wahl sind.
Der Nachteil ist, dass das Wasser nicht durch das Erhitzen desinfiziert wird. Es ist also notwendig, ein Hygienemittel in den Wassertank zu geben und das Wasser regelmäßig zu wechseln.
Empfehlen kann ich die Luftbefeuchter von Venta.
Diese gibt es in verschiedenen Größen, je nachdem wie groß der Raum ist, in dem ihr diese verwenden möchtet.
ACHTUNG: Wenn ihr euren Aufbau genau so machen wollt, wie ich es hier zeige, braucht ihr eines der älteren Venta Modelle. Also LW14, LW24 oder LW44. Diese haben im Gegensatz zu den neueren Modellen (LW15, LW25, LW45) den Vorteil, dass sie einen mechanischen Schalter haben, welcher in seiner Stellung verbleibt, wenn die Stromversorgung des Geräts abgeschaltet wird. Dadurch können diese einfach mit einer smarten Steckdose ein- und ausgeschaltet werden. Bei den neueren Modellen muss man, nachdem die Stromversorgung hergestellt wurde, jedes Mal noch zusätzlich auf einen Taster am Deckel drücken, um sie zu aktivieren.
Hier mein LW14 mit smarter Steckdose im Einsatz:
Damit man nicht vergisst, das Wasser zu wechseln, kann man sich mittels Homeassistant daran erinnern lassen.
Zuerst erstellen wir eine input_boolean
und eine input_datetime
in unserer Homeassistant configuration.yaml: (Alternativ könnt ihr diese natürlich auch über die Benutzeroberfläche definieren)
YAML
input_boolean:
fresh_water_in_humidifier_watcher:
initial: false
input_datetime:
humidifier_water_refreshed_last_press:
has_time: true
has_date: true
input_boolean.fresh_water_in_humidifier_watcher
gibt an, dass die Überwachung aktiv ist, also das Wasser im Luftbefeuchter noch nicht abgelaufen ist.input_datetime.humidifier_water_refreshed_last_press
speichert den Zeitpunkt, zudem zum letzten Mal das Wasser erneuert wurde.
Anschließend erstellen wir folgende Automatisation:
YAML
alias: Humidifier Water Replaced
description: ""
trigger: []
condition: []
action:
- service: input_boolean.turn_on
target:
entity_id: input_boolean.fresh_water_in_humidifier_watcher
data: {}
- service: input_datetime.set_datetime
target:
entity_id: input_datetime.humidifier_water_refreshed_last_press
data:
datetime: "{{ now().strftime('%Y-%m-%d %H:%M:%S') }}"
mode: single
Diese Automatisierung hat keinen Trigger, weil wir diese mit dem Klick auf einen Button manuell triggern. input_boolean.fresh_water_in_humidifier_watcher
wird auf on
gesetzt und der aktuelle Zeitpunkt wird in input_boolean.fresh_water_in_humidifier_watcher
gespeichert.
Damit geben wir Homeassistant bekannt, dass wir soeben das Wasser in unserem Luftbefeuchter gewechselt haben.
Jetzt können wir in unserem Homeassistant Dashboard einen Button erstellen, um eben dies zu machen. Hier ein Beispiel:
YAML
show_name: true
show_icon: true
type: button
tap_action:
action: call-service
service: automation.trigger
target:
entity_id: automation.humidifier_water_replaced
data:
skip_condition: true
entity: input_boolean.fresh_water_in_humidifier_watcher
Wir nutzen den Service automation.trigger
, um unsere eben erstellte Automatisation automation.humidifier_water_replaced
auszulösen.
Als Nächstes brauchen wir eine Entität, welche berechnet, wie viel Zeit vergangen ist, seit das Wasser gewechselt wurde. Dafür erstellen wir in unserer configuration.yaml folgenden Template-Sensor:
YAML
sensor:
- platform: template
sensors:
time_elapsed_since_last_water_refresh:
friendly_name: "Time Elapsed Since Last Water Refresh"
unit_of_measurement: "hours"
value_template: >-
{% if is_state('input_boolean.fresh_water_in_humidifier_watcher', 'on') %}
{{ ((as_timestamp(now()) - as_timestamp(states('input_datetime.humidifier_water_refreshed_last_press'))) / 3600) | round(2) }}
{% else %}
0
{% endif %}
Abhängig davon, ob input_boolean.fresh_water_in_humidifier_watcher
im Zustand on
ist, wird die Differenz zwischen dem momentanen Zeitpunkt und dem Zeitpunkt, welcher in input_datetime.humidifier_water_refreshed_last_press
gespeichert wurde, errechnet. Falls input_boolean.fresh_water_in_humidifier_watcher
im Zustand off
ist, bedeutet das, dass das Wasser abgelaufen ist. Somit wird der Wert für den Sensor auf 0 gesetzt.
Nun brauchen wir noch eine Automatisierung, welche überwacht, wann das Wasser abläuft:
YAML
alias: Humidifier Refresh Water Watcher (1 Woche)
description: ""
trigger:
- platform: time_pattern
minutes: /15
condition:
- condition: state
entity_id: input_boolean.fresh_water_in_humidifier_watcher
state: "on"
enabled: true
- condition: numeric_state
entity_id: sensor.time_elapsed_since_last_water_refresh
above: 168
action:
- service: input_boolean.turn_off
target:
entity_id: input_boolean.fresh_water_in_humidifier_watcher
data: {}
- service: notify.notify
data:
title: Luftbefeuchter
message: Wasser abgelaufen => Wohnzimmer ausschalten
- type: turn_off
device_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
entity_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
domain: switch
mode: single
Mittels time_pattern
wird alle 15 Minuten die Automatisation ausgelöst.
Es werden 2 Bedingungen geprüft:
- Ob
input_boolean.fresh_water_in_humidifier_watcher
im Zustandon
ist. Also, ob das Wasser nicht bereits schon abgelaufen ist. - Ob unser vorher erstellter Template-Sensor
sensor.time_elapsed_since_last_water_refresh
über dem Wert168
liegt. 168 Stunden entsprechen einer Woche. Je nachdem, ob und welches Hygienemittel ihr für euren Luftbefeuchter verwendet, kann dieser Wert für euch natürlich anders sein. Für meine Anwendung habe ich diesen nach ein paar Tests als ideal empfunden.
Wenn diese Bedingungen erfüllt sind, ist das Wasser abgelaufen. Die Automatisation führt in diesem Fall folgende Schritte durch:
input_boolean.fresh_water_in_humidifier_watcher
wird auf off gesetzt, um unserem Template-Sensor und der Automatisierung selbst mitzuteilen, dass das Wasser jetzt abgelaufen ist.- Mit dem
notify
Service wird an die mit Homeassistant verbundenen Mobilgeräte eine Nachricht gesendet, dass das Wasser abgelaufen ist und gewechselt werden muss. - Die smarte Steckdose für den Luftbefeuchter wird ausgeschaltet. Wir wollen schließlich keine Keimschleuder betreiben.
Die Automatisierungen, um den Luftbefeuchter ein- bzw. auszuschalten, sind trivial. Hier für das Einschalten:
YAML
alias: Humidifier Wohnzimmer On
description: ""
trigger:
- type: humidity
platform: device
device_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
entity_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
domain: sensor
below: 48
for:
hours: 0
minutes: 15
seconds: 0
condition:
- condition: and
conditions:
- condition: device
type: is_off
device_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
entity_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
domain: switch
- condition: state
entity_id: input_boolean.fresh_water_in_humidifier_watcher
state: "on"
action:
- type: turn_on
device_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
entity_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
domain: switch
mode: single
Wenn unser Luftfeuchtigkeitssensor (z.B. DHT22) für 15min eine Luftfeuchtigkeit unter 48% misst und input_boolean.fresh_water_in_humidifier_watcher
im Zustand on
ist (also das Wasser noch nicht abgelaufen ist) und unsere smarte Steckdose nicht sowieso schon an ist, wird mit turn_on
unsere smarte Steckdose eingeschaltet.
Als Gegenstück dazu, hier die Automatisierung, welche die smarte Steckdose wieder ausschaltet, wenn die relative Luftfeuchtigkeit ausreichend ist:
YAML
alias: Humidifier Wohnzimmer Off
description: ""
trigger:
- type: humidity
platform: device
device_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
entity_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
domain: sensor
above: 53
for:
hours: 0
minutes: 15
seconds: 0
condition:
- condition: device
type: is_on
device_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
entity_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
domain: switch
action:
- type: turn_off
device_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
entity_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
domain: switch
mode: single
Smartes Lüften - durch Differenz der absoluten Luftfeuchtigkeit
Die Idee bei dieser Variante liegt darin, die absolute Luftfeuchtigkeit des Wohnraums mit der von draußen zu vergleichen, um einzuschätzen, wie man möglichst effizient lüften kann, um die Luftfeuchtigkeit im Raum zu regulieren.
Zunächst brauchen wir je einen Template-Sensor für unseren Wohnraum sowie für Draußen, welcher aus der relativen Luftfeuchtigkeit und der Temperatur die absolute Luftfeuchtigkeit berechnet. Diese Berechnung ist relativ komplex und sollte eigentlich auch den Luftdruck mit einbeziehen. Für unseren Anwendungsfall reicht aber eine näherungsweise Berechnung. Ihr könnt folgenden Code als Beispiel nehmen:
YAML
sensor:
- platform: template
sensors:
absolute_humidity_wohnzimmer:
friendly_name: "Absolute Humidity Wohnzimmer"
unit_of_measurement: "g/m³"
value_template: >
{% set relative_humidity = states('sensor.relative_humidity_wohnzimmer') | float %}
{% set temperature = states('sensor.temperature_wohnzimmer') | float %}
{% set vapor_pressure_saturation = 6.112 * (2.71828 ** ((17.67 * temperature) / (temperature + 243.5))) %}
{% set actual_vapor_pressure = (relative_humidity / 100) * vapor_pressure_saturation %}
{% set absolute_humidity = 217 * (actual_vapor_pressure / (temperature + 273.15)) %}
{{ absolute_humidity | round(2) }}
sensor.relative_humidity_wohnzimmer
müsst ihr durch die Entität eures Luftfeuchtigkeitssensors für die relative Luftfeuchtigkeit ersetzen und sensor.temperature_wohnzimmer
durch die für die Temperatur.
Falls ihr draußen keinen Sensor anbringen wollt oder könnt, könnt ihr auch die entsprechenden Werte aus einer Homeassistant Integration, welche eine Wetter-API verwendet, erhalten.
Ich empfehle Meteorologisk. Diese Integration ist gratis und erfordert keinen zusätzlichen Account.
Die Meteorologisk Integration enthält nur eine einzige Entität. Die verschiedenen Wetter-Parameter sind in dieser Entität als Attribute vorhanden.
Meiner Meinung nach ist der einfachste Weg, diese Attribute in Automationen oder in eurer Homeassistent GUI zu nutzen, der, diese als eigene Entitäten zur Verfügung zu stellen.
Um das zu erreichen, müsst ihr sie aus der Meteorologisk Entität "extrahieren", hier ein Beispiel:
YAML
sensor:
- platform: template
sensors:
meteorologisk_humidity:
value_template: "{{ state_attr('weather.forecast_home', 'humidity') }}"
unit_of_measurement: '%'
friendly_name: 'Meteorologisk Humidity'
- platform: template
sensors:
meteorologisk_temperature:
value_template: "{{ state_attr('weather.forecast_home', 'temperature') }}"
unit_of_measurement: '°C'
friendly_name: 'Meteorologisk Temperature'
weather.forecast_home
ist die Entität von Meteorologisk.
Anschließend könnt ihr diese beiden Entitäten wiederum dazu verwenden, die absolute Luftfeuchtigkeit zu errechnen, wie im letzten Beispiel gezeigt.
Wenn ihr die entsprechenden Sensoren erstellt habt, könnt ihr sie mit der Gauge-Karte in eurem Homeassistant Dashboard anzeigen lassen:
Hier die relative Luftfeuchtigkeit zum selben Zeitpunkt:
In meinem Beispiel kann ich erkennen, dass zu diesem Zeitpunkt die absolute Luftfeuchtigkeit innen wesentlich höher ist als draußen. Betrachte ich hingegen die relative Luftfeuchtigkeit, ist das für mich nicht intuitiv erkennbar.
Würde ich also jetzt lüften, könnte ich die Luftfeuchtigkeit in meinem Wohnraum senken.
Dass es noch weitere Gründe gibt, warum man regelmäßig seine Wohnung lüften sollte, abgesehen von der idealen Luftfeuchtigkeit, ist selbstverständlich und bedarf wohl keiner weiteren Erklärung.
Von diesem Punkt an sind der Kreativität für Automatisierungen keine Grenzen gesetzt. Denkbar wäre z.B. ein weiterer Template-Sensor, welcher die Differenz der absoluten Luftfeuchtigkeit von drinnen und draußen direkt als eine Zahl darstellt.
Basierend darauf könnte man z.B. Automatisierungen erstellen, welche via Notification zum Lüften auffordern.
Lasst mich gerne wissen, was ihr von diesem Artikel umgesetzt habt und ob ihr noch weitere Ideen habt, wie man das Wohnraumklima optimieren kann.
Verwendete Produkte:
(Affiliate-Links)?
- Venta Hygienemittel: https://amzn.to/3ykQ7GS
- Tasmota Nous Plug: https://amzn.to/44C9I1j