Raumklima mit dem Raspberry PI überwachen, oder: Wann lüften?

Mit relativ einfachen Mitteln ist es möglich einige das Raumklima betreffend interessante Größen zu bestimmen, die etwa Auskunft darüber geben ob das Öffnen eines Fensters zu trockener Luft führt, oder ob Schimmelgefahr besteht. Mit Hilfe eines RaspyRFM Funkmoduls, der Timeseries-Datenbank influxDB und der Datenvisualisierung Grafana können informative Diagramme über Temperatur, absolute und relative Luftfeuchtigkeit, Taupunkt und mehr erzeugt werden, auf welche einfach über einen Webbrowser zugegriffen werden kann. An Hardware wird benötigt:

Zunächst die erforderliche Software, wie in diesem Beitrag unter “Installation” beschrieben, installieren. Anschließend das 868gw Skript starten:

.env/bin/python apps/868gw.py
Found RaspyRFM twin
RFM69 found on CS 1
Init complete.
id: 98  room Druckerraum    T:  15.2 °C  RH: 43 %  battery: OK   init: false
id: 18  room Hauptraum      T:  20.9 °C  RH: 33 %  battery: OK   init: false
id: 8   room Nebenraum      T:  21.6 °C  RH: 32 %  battery: OK   init: false
id: 98  room Druckerraum    T:  15.1 °C  RH: 43 %  battery: OK   init: false
id: 18  room Hauptraum      T:  20.9 °C  RH: 33 %  battery: OK   init: false

Die Messwerte und Konfigurationseinstellungen sind nun unter der URL http://<IP Raspberry>:8081 zu erreichen:

Pro Sensor können Grenzwerte für Temperatur und Luftfeuchtigkeit hinterlegt werden. Außerhalb der eingestellen Grenzwerte werden die entsprechenden Werte in der Übersicht und in den Balkendiagrammen rot dargestellt. Außerdem kann für jeden Sensor die ID eines Außensensors angegeben werden, welcher für weitere Berechnungen zum Lüften verwendet wird, siehe weiter unten.

Bei Klick auf einen Raum werden weitere Messwerte eingeblendet:

  • Absolute Luftfeuchtigkeit (AH) in g / m³
  • AHratio, Verhältnis zwischen absoluter Luftfeuchtigkeit innen und außen. Ist die absolute Luftfeuchtigkeit draußen höher (positives AHratio) wird die relative Luftfeuchtigkeit beim Lüften steigen und umgekehrt.
  • Taupunkt
  • TF80, Temperatur bei der eine Luftfeuchtigkeit von 80 % erreicht wird (Schimmelgefahr!). Unterschreitet die Temperatur einer Wandfläche im Raum den TF80 Wert droht dort Schimmelbildung. Maßnahmen: Lüften (nur wenn die absolute Luftfeuchtigkeit draußen geringer ist!), Entfeuchten mit Lufttrockner, Heizen.
  • TF60, siehe TF80
  • aw Wert; wenn in der Konfiguration zum entsprechenden Sensor eine Bauteiletemperatur angegeben wird, z. B. Temperatur der kältesten Ecke im Raum, gibt der aw Wert die relative Luftfeuchtigkeit an der Oberfläche an. Ab 80 % besteht Schimmelgefahr!

Unten werden zwei Säulendiagramme dargestellt, in denen jeweils die Temperaturen bzw. relative Luftfeuchtigkeiten aller Räume dargestellt werden. Die gelbe horizontale Linie ist jeweils der Wert vom Außensensor so dass mit einem Blick abgelesen kann ob Lüften zur Temperaturerhöhung / -erniedrigung bzw. zur Erhöhung / Erniedrigung der relativen Luftfeuchtigkeit im entsprechenden Raum führt.

Relative und absolute Luftfeuchtigkeit

Spricht man von “Luftfeuchtigkeit”, ist damit meist die relative Luftfeuchtigkeit in % gemeint. Eine bestimmte Menge Luft kann abhängig von dessen Temperatur unterschiedlich viel Wasser speichern. Wärmere Luft kann größere Mengen an Wasserdampf aufnehmen als kalte. Diese relative Luftfeuchtigkeit gibt an, wieviel Wasserdampf die Luft im Verhältnis zum Aufnahmevermögen bei der momentanen Temperatur enthält. Das bedeutet, dass sich die relative Luftfeuchtigkeit in einem geschlossenen Raum ändert, wenn die sich dessen Temperatur, etwa durch Heizen oder Abkühlen, verändert. Hier einige Beispiele:
– Im Wohnzimmer herrscht eine Temperatur von 20 °C bei einer relativen Luftfeuchtigkeit von 50 %. Nun wird die Raumtemperatur auf 22 °C durch Heizen erhöht. Da die wärmere Luft mehr Wasserdampf aufnehmen könnte, aber noch die selbe Masse an Wasserdampf vorhanden ist beträgt die relative Luftfeuchtigkeit nun 45 %.
– Das Badezimmer hat eine Temperatur von 25 °C und er herrscht eine Luftfeuchtigkeit von 60 %. Durch Abkühlung sinkt die Lufttemperatur auf 20 °C. Die kleinere Aufnahmefähigkeit der abgekühlten Luft von Wasserdampf sorgt dafür dass die relative Luftfeuchtigkeit auf 80 % steigt.
Die relative Luftfeuchtigkeit in Räumen sollte ca. 40 % – 60 % betragen. Zu trockene Luft führt zur Austrocknung der Schleimhäute so dass man sich leichter Infektionen einfangen kann, zu feuchte Luft dagegen führt in Räumen zu Schimmelbefall. Bei Erreichen von 100 % relativer Luftfeuchtigkeit kann die Luft keinen weiteren Wasserdampf aufnehmen, so dass die Luft beginnt zu kondensieren.

Im Gegensatz zur Relativen gibt die absolute Feuchtigkeit an, welche Masse an Wasserdampf die Raumluft enthält. Sie wird in der Einheit g / m³ angegeben. Findet kein Luftaustausch statt und wird kein Wasserdampf, z. B. an Wände etc., abgegeben oder aufgenommen, bleibt die absolute Luftfeuchtigkeit auch beim Ändern der Temperatur konstant. Eine Raumluft mit der Temperatur 20 °C enthält z. B. bei einer relativen Luftfeuchtigkeit von 60 % die Masse von rund 10 g pro m³ Raumluft, d. h. die absolute Luftfeuchtigkeit beträgt hier 10 g / m³. Die absolute Luftfeuchigkeit kann errechnet werden, wenn Temperatur und relative Luftfeuchtigkeit bekannt sind.

Lüften oder nicht Lüften?

Angenommen an einem Wintertag wird im Badezimmer geduscht, so dass dort die relative Luftfeuchtigkeit auf 70 % bei einer Temperatur von 22 °C steigt. Außen herrscht eine Temperatur von 2 °C bei 85 % relativer Luftfeuchtigkeit. Kann die Luftfeuchtitkeit im Badezimmer unter diesen Bedingungen durch Öffnen des Fensters gesenkt werden?
Die korrekte Antwort lautet: JA!
Obwohl die Außenluft eine höhere relative Luftfeuchtigkeit hat als die Raumluft nach dem Duschen, muss hier aber die jeweilige absolute Luftfeuchtigkeit herangezogen werden:

TRHAH
Badezimmer22 °C70 %13,6 g/m³
Außen2 °C85 %4,7 g/m³
Relative und absolute Luftfeuchtigkeit

Die kleine Zahl gibt die theoretisch erreichbare Veränderung der relativen Raumluftfeuchtigkeit an, wenn die beiden Luftmassen innen und ausgetauscht werden würden und die Luft innen wieder auf die vorherige Raumtemperatur gebracht werden würde. Bei einem Wert unter etwa -10 % würde die Raumluft beim Lüften trockener werden, bei über +10 % feuchter.

API

Das Script lacrossegw bietet einen Endpunkt unter http://<ip>:8081/data an über den auf die gemessenen und berechneten Werte aller Sensoren zugegriffen werden kann:

{
  "sensors":[
    {
      "id": "a4", eindeutige ID des Sensors
      "T": 24.8, Temperatur in °C
      "RH": 66, relative Luftfeuchtigkeit in %
      "DEW": 18, Taupunkt in °C
      "AH": 15, absolute Luftfeuchtigkeit in g / m³
      "SDD": 31.28001543349199, Sättigungsdampfdruck in hPa
      "DD": 20.644810186104714, Dampfdruck in hPa
      "DEW80": 21.6, TF80 Wert in °C, siehe http://www.tf80.de/
      "DEW60": 26.4, TF60 Wert in °C, siehe http://www.tf80.de/
      "aw": 70, relative Luftfeuchtigkeit an konfigurierter Oberflächentemperatur
      "rssi": -77.5, RSSI in dBm des zuletzt empfangenen Pakets
      "batlo": false, Batterie-schwach-Flag
      "init": false, Flag nach Batteriewechsel
      "room": "Hauptraum",
      "tMin": 24.8, Minimaltemperatur in °C seit Skriptstart
      "tMax": 29.6, Maximaltemperatur in °C seit Skriptstart
      "rhMin": 47, Minimale relative Luftfeuchtigkeit in % seit Skriptstart
      "rhMax": 67, Maximale relative Luftfeuchtigkeit in % seit Skriptstart
      "tStatus": "high", Temperaturgrenze high | ok | low, konfigurierbar über 868gw.conf
      "AHratio": 4, Verhältnis der absoluten Luftfeuchtigkeit außen/innen in %
      "RHvent": 68, theoretisch erzielbare Luftfeuchtigkeit nach "idealem Lüften"
      "rhStatus": "high", Feuchtigkeitsgrenze high | ok | low, konfigurierbar über 868gw.conf
    }
  ]
}

Messwerte in influxDB speichern und mit Grafana visualisieren

influxDB / influxDB 2

InfluxDB auf dem Raspberry installieren, z. B. nach dieser Anleitung.

In der Konfigurationsdatei 868gw.conf einfach unter influxdb bzw. influxdb2 die Einstellungen vornehmen, das 868gw.py Skript speichert dann alle empfangenen Messwerte entsprechend ab.

Grafana auf dem Raspberry PI installieren, z. B. nach dieser Anleitung

Nun steht standardmäßig unter der URL http://<Raspberry IP>:3000 das Grafana Webinterface zur Verfügung. Nach der Verknüpfung mit der influxDB in Grafana können Dashboards erstellt werden: