Mein Badezimmer ist in der Wohnung innen liegend. Also außer dem Wohnungsflur und einer passiven, aufs Dach führenden Lüftungsöffnung, gibt es keine Möglichkeit zu Lüften. Wenn ich dusche oder der Trockner läuft, steigt die Luftfeuchtigkeit also stark an und diffundiert nur sehr langsam wieder aus dem Bad raus. Und das auch nur bei offener Tür oder wenn es draußen windig ist (Kamineffekt). Also habe ich in diese Lüftung vor geraumer Zeit einen Ventilator eingebaut, der über einen Shelly verkabelt ist und somit smart gesteuert werden kann. Ursprünglich geplant war, einen DHT22 an dem ohnehin vorhandenen Smartmirror anzuschließen und dessen Feuchtigkeitswerte als Indikator für die Entlüftung zu verwenden, das hat aber nicht so gut funktioniert.
Luftfeuchtigkeit messen
Stattdessen habe ich einen denkbar einfachen Sensor gebastelt. Ein ESP32-C3 Entwicklungsboard mit einem DHT-22 Temperatur- und Luftfeuchtigkeitssensor, angetrieben von einer simplen ESPHome Konfiguration.
Luftfeuchtigkeit absaugen
Ich kann also messen und schalten, nun muss eine Steuerung her, was ein bisschen Rumprobierei war. Letzendlich bin ich aber hier angekommen. Von Haus aus kommt Home Assistant mit dem generic_hygrostat Modul, was in der configuration.yaml konfiguriert werden kann.
generic_hygrostat:
- name: Badezimmer
humidifier: fan.badezimmer_ventilator
target_sensor: sensor.bathroom_badezimmer_luftfeuchtigkeit
min_humidity: 30
max_humidity: 70
target_humidity: 50
dry_tolerance: 3
wet_tolerance: 3
device_class: "dehumidifier"
min_cycle_duration:
seconds: 60
initial_state: true
away_humidity: 60
away_fixed: true
sensor_stale_duration: 00:15:00
Code-Sprache: YAML (yaml)
Das Modul kann als Luftbefeuchter, -entfeuchter oder beidem konfiguriert werden. Anschließend kann der Zielwert in der Lovelace Karte eingestellt werden. Außerdem kann man die Funktion ein- und ausschalten sowie den Abwesenheitsmodus aktivieren.
Nun bin ich aber abhängig von der Luftfeuchtigkeit im Rest der Wohnung. Der Lüfter saugt ja nur Luft ab, die durch die Lüftungsschlitze aus der Wohnung nachströmt. Daher, ist ein statischer Wert nicht so richtig sinnvoll. Im Zweifel läuft der Lüfter stundenlang ohne seinen Zielwert erreichen zu können. Außerdem ist die Luftfeuchtigkeit generell saisonal unterschiedlich. Also habe ich eine kleine zeitbasierte Automatisierung gebaut, die alle 10 Minuten den Zielwert setzt – basierend auf der gemittelten Wohnngsluftfeuchtigkeit + 20%. Am Ende des Tages soll ja „nur“ exzessive Feuchtigkeit abgesaugt werden.
Automatisierung zum Zielwert setzen:
- id: '1705787842132'
alias: 'Luftbefeuchter: Zielwert'
description: Leicht oberhalb des Wohnungsdurchschnitts
trigger:
- platform: time_pattern
minutes: /10
condition: []
action:
- service: humidifier.set_humidity
metadata: {}
data:
humidity: '{{ int(states(''sensor.wohnungsluftfeuchtigkeit'')) + 20 }}'
target:
entity_id: humidifier.badezimmer
mode: single
Code-Sprache: YAML (yaml)
Und das Setup ist so nun bereits seit einem 3/4 Jahr im Einsatz und hat sich meiner Meinung nach bewährt. Der Lüfter springt zuverlässig beim Duschen an und ist auch innerhalb einer vernünftigen Zeitspanne fertig. Ebenso funktioniert es, wenn der Kondensationstrockner läuft, oder ich nasse Badehandtücher aufhänge. Hier ist ein Duschevent: