Zum Inhalt springen

Mit Home Assistant und dem Taupunkt gegen Feuchtigkeit im Keller

Aufgrund der erhöhten Luftfeuchtigkeit im Keller bin ich auf die Suche nach Lösungen zur automatischen Lüftung gegangen und recht schnell stolperte ich über Lösungen, die auf Grundlage der Taupunkte einen oder mehrere Lüfter immer dann automatisch starten, wenn es sinnvoll ist.

Grob beschrieben ist es immer dann sinnvoll, wenn in der Außenluft weniger Wasser enthalten ist, als in der Innenluft. Das beschreibt sich eigentlich auch durch die Luftfeuchtigkeit, aber hier eben in der absoluten Luftfeuchtigkeit und nicht in der relativen. Also… Kann man alles mehr oder weniger einfach hin und her rechnen.

Der Ansatz über Arduino und dort fest verbauten Sensoren fand ich zwar spannend, aber eigentlich wollte ich lieber vorhandene Sensoren verwenden und überhaupt erstmal schauen, ob der Ansatz vielversprechend ist. Den genauen Aufbau werde ich hier auch mal zeigen, wenn er denn wieder vorzeigbar ist.

Mein Test war aber recht erfolgreich und bestand grob aus 2 Lüftern an 2 Shellys, 3 Temperatur- und Luftfeuchtesensoren und Home Assistant als „intelligente“ Instanz dazwischen. Die Luftfeuchtigkeit immer Keller konnte ich damit tatsächlich signifikant senken. Da wir aktuell aber wirklich sehr intensiv in Sanierungsmaßnahmen stecken, werde ich den Aufbau und ein paar Daten eben an anderer Stelle nochmal beschreiben. An dieser Stelle dient dieser Text also primär mir selbst als Notizbuch.

Es ist noch nicht perfekt, aber folgende Sensoren habe ich in Home Assistant angelegt, damit aus den Daten der Xiaomi Temperatur- und Luftfeuchte-Sensoren entsprechend die absolute Feuchte und der Taupunkt berechnet wird. Da ich am Anfang sehr unsicher war, habe ich auch noch einen Taupunkt Delta aufgenommen. Die Berechnung ist vermutlich nicht perfekt, aber vielleicht annähernd gut genug. Hier kommt die /config/sensor.yaml:

- platform: template
  sensors:
    absolute_humidity:
      friendly_name: "Absolute Feuchte Keller"
      unit_of_measurement: "g/m^3"
      icon_template: mdi:water-percent-alert
      value_template: "{{ 1000*e**(19.016-(4064.95/(float(states('sensor.lywsd03mmc_4_temperature'))+236.25)))*100/(461.66*(float(states('sensor.lywsd03mmc_4_temperature'))+273.15)) * float(states('sensor.lywsd03mmc_4_humidity'))/100 | float }}"
    absolute_humidity_outdoor:
      friendly_name: "Absolute Feuchte Außen"
      unit_of_measurement: "g/m^3"
      icon_template: mdi:water-percent-alert
      value_template: "{{ 1000*e**(19.016-(4064.95/(float(states('sensor.lywsd03mmc_3_temperature'))+236.25)))*100/(461.66*(float(states('sensor.lywsd03mmc_3_temperature'))+273.15)) * float(states('sensor.lywsd03mmc_3_humidity'))/100 | float }}"
    absolute_humidity_indoor_oben:
      friendly_name: "Absolute Feuchte Oben"
      unit_of_measurement: "g/m^3"
      icon_template: mdi:water-percent-alert
      value_template: "{{ 1000*e**(19.016-(4064.95/(float(states('sensor.lywsd03mmc_6_temperature'))+236.25)))*100/(461.66*(float(states('sensor.lywsd03mmc_6_temperature'))+273.15)) * float(states('sensor.lywsd03mmc_6_humidity'))/100 | float }}"
    taupunkt_oben:
      friendly_name: "Taupunkt Oben"
      unit_of_measurement: "°C"
      icon_template: mdi:thermometer
      value_template: >
        {% set h = states('sensor.lywsd03mmc_6_humidity') | float %}
        {% set t = states('sensor.lywsd03mmc_6_temperature') | float %}
        {% set a = 17.625 %}
        {% set b = 243.04%}
        {{ ((b*(log(h/100)+((a*t)/(b+t)))) / (a-log(h/100)-((a*t)/(b+t)))) |float |round(1) }}
    taupunkt_aussen:
      friendly_name: "Taupunkt Außen"
      unit_of_measurement: "°C"
      icon_template: mdi:thermometer
      value_template: >
        {% set h = states('sensor.lywsd03mmc_3_humidity') | float %}
        {% set t = states('sensor.lywsd03mmc_3_temperature') | float %}
        {% set a = 17.625 %}
        {% set b = 243.04%}
        {{ ((b*(log(h/100)+((a*t)/(b+t)))) / (a-log(h/100)-((a*t)/(b+t)))) |float |round(1) }}
    taupunkt_keller:
      friendly_name: "Taupunkt Keller"
      unit_of_measurement: "°C"
      icon_template: mdi:thermometer
      value_template: >
        {% set h = states('sensor.lywsd03mmc_4_humidity') | float %}
        {% set t = states('sensor.lywsd03mmc_4_temperature') | float %}
        {% set a = 17.625 %}
        {% set b = 243.04%}
        {{ ((b*(log(h/100)+((a*t)/(b+t)))) / (a-log(h/100)-((a*t)/(b+t)))) |float |round(1) }}
    taupunkt_delta:
      friendly_name: "Taupunkt Delta"
      unit_of_measurement: "°C"
      icon_template: mdi:thermometer
      value_template: "{{ ( states('sensor.taupunkt_keller') | float | round(1)) - ( states('sensor.taupunkt_aussen') | float | round(1)) }}"

2 Gedanken zu „Mit Home Assistant und dem Taupunkt gegen Feuchtigkeit im Keller“

  1. Hallo Fyn,
    ich bin über Google auf diesen Blog gestoßen. Genau was Du dort beschreibst würde ich auch gerne bauen. Ich bin auch erst auf die Arduino-Lösung – auch aus der ct – gestoßen, aber ich will auch lieber auf die bestehende Homeassistant-Lösung zurück greifen.
    Hast du vielleicht in der Zwischenzeit etwas mehr über den Aufbau vorliegen?
    Welche Sensoren benutzt du genau und wie schaltest du den/die Lüfter über die Shellys, so dass sie wahlweise Luft ansaugen oder hinaus befördern?
    Über Rückmeldung wäre ich dankbar.
    Gruß Holger

    1. Hallo Holger,
      Leider war es mir zeitlich noch nicht möglich die Fortsetzung hier zu beschreiben. Ich benutze für Temperatur und relative Luftfeuchtigkeit Sensoren von Xiaomi Lywsd03mmc. Die binde ich über einen zentralen ESP32 mit BLE in Homeassistant ein. Für die Schaltung der Lüfter nutze ich aktuell noch immer 2 Shellys der ersten Generation und günstige Lüfter von AirRoxy. Ich habe auf einer Seite des Kellers einen eingebaut und auf der anderen Seite den anderen. Der eine pumpt Luft nach außen und der andere nach drinnen. Bei Bedarf wollte ich 2 weitere aufbauen. Ich habe bei 2 Fenstern die Scheiben durch Plexiglas ersetzt und dort eben eine Öffnung für die Lüfter geschnitten. Das Plexiglas hätte ich für meinen Fall dicker wählen müssen, aber in Summe bin ich bisher ganz zufrieden. Werde versuchen den Aufbau hier nochmal im Detail zu beschreiben.
      Viele Grüße
      Fyn

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert