Raumtemperatur und relative Luftfeuchtigkeit mit Shelly Plus H&T überwachen und Lüftungsempfehlung berechnen

shellyplusht

Raumtemperatur und relative Luftfeuchtigkeit
sind wesentliche Elemente, die das Raumklima und somit das gesamte Wohlbefinden beeinflussen. Die Messung und Überwachung dieser Faktoren kann dazu beitragen, ein gesundes und angenehmes Umfeld zu schaffen. 

Zur Messung der Werte habe ich mich für Shelly Plus H&T entschieden und in der Zwischenzeit auch Shelly Plus H&T Gen3 im Einsatz. Die Gen3 Geräte zeigen auch die Uhrzeit an.
 

Bei der Einrichtung der Geräte in Homeassistant hilft vermutlich der folgende Hinweis:
Damit Homeassistant die Shelly Plus H&T Entitäten erkennt, muss in der Shelly-App bei Outbound websocket settings der folgende Eintrag aufgenommen werden:

Shelly Outbound

wss://192.168.178.254:8123/api/shelly/ws

DIe IP-Adresse muss natürlich auf die entsprechende IP-Adresse des Homeassistant-Servers angepasst werden.

Um auf die Shelly-App zu kommen, muss der Button unter der Batterieabdeckung betätigt werden. Danach schaltet sich der SHelly Plus H&T in den AP-Mode.
Siehe auch: Shelly - Home Assistant (home-assistant.io)
 

Die optimale relative Luftfeuchtigkeit liegt ca. zwichen 40% und 60%. Die Frage ist, wann es sinnvoll ist einen Raum zu lüften. Hierzu überwache ich auf der Terasse die Aussentemperatur und die relative Luftfeuchtigkeit im Aussenbereich. Da die relative Luftfeuchtigkeit von der Temperatur abhängt, mache es beim Lüften keinen Sinn nun nur die relative Luftfeuchtigkeit bzgl. einer Lüftempfehlung zu verwenden. Viel mehr ist ein Lüften sinnvoll, wenn die absolute Luftfeuchtigkeit im Aussenbereich geringer als im Innenbereich ist. Die absolute Luftfeuchtigkeit kann am Beispiel meiner Terasse wie folgt berechnet werden:

- name: humidity_abs_eg_terasse
  unique_id: "humidity_abs_eg_terasse_ID"
  unit_of_measurement: „g/m^3“
  state: >
    {{ (1000*e**(19.016-(4064.95/(float(states('sensor.shellyht_eg_terasse_temperature'))+236.25)))*100/
       (461.66*(float(states('sensor.shellyht_eg_terasse_temperature'))+273.15)) *
        float(states('sensor.shellyht_eg_terasse_humidity'))/100 | float) | round(1)  }}

Als kleiner Exkurs hier noch die Berechnung des Taupunkts ab dem das Wasser in der Luft kondensieren würde:


- name: taupunkt_eg_terasse
  unique_id: "taupunkt_eg_terassse_ID"
  unit_of_measurement: "°C"
  state: >
    {% set temp = states('sensor.shellyht_eg_terasse_temperature') | float %}
    {% set rh = states('sensor.shellyht_eg_terasse_humidity') | float %}
    {% set K2 = 17.62 | float %}
    {% set K3 = 243.12 | float %}
    {{ (K3 * ((K2*temp)/(K3+temp) + log(rh/100)) / ((K2*K3)/(K3+temp) - log(rh/100)))  | round(1) }}

 

Um nun eine Lüftungsempfehlung zu berechnen, prüfe ich ob die absolute Luftfeuchtigkeit im Aussenbereich geringer als im Innenbereich ist und im Innenbereich die relative Luftfeuchtigkeit ausserhalb des Bereichs 40% - 60% liegt. 


- name: lueften_ug_schlafzimmer
  unique_id: lueften_ug_schlafzimmer_id
  state: >
     {% set i_abs_terasse = states('sensor.humidity_abs_eg_terasse') | float   %}
     {% set i_abs_ug_schlafzimmer = states('sensor.humidity_abs_ug_schlafzimmer') | float %}
     {% set i_rel_ug_schlafzimmer = states('sensor.shellyht_ug_schlafzimmer_humidity') | float %}
     {% if (i_abs_terasse < i_abs_ug_schlafzimmer) and (i_rel_ug_schlafzimmer < 40 or i_rel_ug_schlafzimmer > 60) %}
        Lüften
    {% else %}
        nicht Lüften
    {% endif %}