Luftqualität überwachen

Luftqualität überwachen

Schlechte Luft im Haus macht krank. Stickige Luft, unangenehme Gerüche und feuchte Zugluft machen uns zu schaffen. Wer sich regelmäßig und dauerhaft schlechter Luft aussetzt, riskiert teils schwerwiegende Gesundheitsschäden. Weiterhin sind Schimmel, Schadstoffe, Allergene und schlechte Gerüche belastend. Während schlechte Gerüche sofort auffallen, gibt es Luftwerte deren Veränderungen wir nicht so einfach merken. Aber gerade diese beeinflussen unser Wohlbefinden am meisten und es geht die größte Gefahr von ihnen aus. Mit der nachfolgenden Szene kannst Du automatisch die Luftqualität überwachen.

Luftqualität überwachen
Luftqualität überwachen

Luftqualität überwachen

Insbesondere negative Veränderungen des CO2 Gehaltes und der relativen Lustfeuchtigkeit spüren wir erst, wenn es schon zu spät ist. Gemeinsam mit ein paar Sensoren und der hier vorgestellten Szene kannst Du die Qualität der Luft in Deinem Haus regelmäiß überprüfen und so frühzeitig eingreifen. Die Szene prüft im 10 Minutentakt (konfigurierbar) alle relevanten Sensoren und sendet bei Überschreitung von Schwellwerten eine Benachrichtigung an Dein Smartphone.

Dabei setzt die Szene auf maximalen Automatismus. Es ist kein mühsames zusammensuchen der Geräte IDs notwendig. Lediglich an Deinen CO2 Sensoren musst Du eine Veränderung vornehmen, damit diese zuverlässig erkannt und berücksichtlicht werden.

Eingesetzte Sensoren

In meinem Smart Home überwache ich nahezu alle hier relevanten Werte mit einer Netatmo Wetterstation. Dafür habe ich im Wohnzimmer das Basisgerät aufgestellt, in allen Räumen in denen sich jemand länger aufhält ein zusätzliches Innenmodul platziert und sogar Werte von der Terrasse bekomme ich Werte. Das System lässt sich auch noch um Windmesser und Regensensor erweitern. Die Integration ins Home Center 2 erfolgt zuverlässig mittels Plugin und ich bekomme deutlich präzisere Werte als mit den meisten Z-Wave Geräten.

Vorbereitung und Einrichtung

Da Sensoren zur Messung der relativen Luftfeuchtigkeit vom Home Center mit dem Gerätetyp „com.fibaro.humiditySensor“ geführt werden, sind zur Überwachung der Feuchtigkeit keine Anpassungen in Deinem HC2 notwendig. Anders sieht es mit CO2 Sensoren aus. Diese werden als „com.fibaro.multilevelSensor“ gelistet. Eine automatische Auswahl der Sensoren ist also nicht möglich, bzw. wären alle möglichen anderen Geräte in die Auswahl inbegriffen.

Manuelle Beschreibung für CO2 Sensoren hinzufügen

Diesem Umstand entgehst Du, indem Du den relevanten Geräten einmalig eine manuelle Beschreibung hinzufügst. Diese hilft der Szene bei der automatischen Auswahl der relevanten Sensoren. Um eine solche Beschreibung zu hinterlegen musst Du in die erweiterten Einstellung des Gerätes gehen und im Feld „Beschreibung des Moduls“ folgendes eintragen:

Manuelle Beschreibung hinzufügen
Manuelle Beschreibung hinzufügen

Nun kann die Szene sowohl Sensoren zur Messung der relativen Luftfeuchtigkeit, als auch solche zur Bestimmung des CO2 Gehaltes zuverlässig identifizieren.

Szene konfigurieren

Kommen wir zur Konfiguration der Szene selbst. Diese ist denkbar einfach und in den folgenden Punkten beschrieben.

---------------------------------------------------
------------- Config ------------------------------
outdoorRoom		= {"Outdoor","Garage"}	-- Zu exkludierender Raum
intervall		= 10		-- Prüfintervall (alle x Minuten)
thresHum		= {60,70}	-- Schwellwerte Luftfeuchtigkeit
thresCO2		= {800,1000}	-- Schwellwerte CO2
pushMessage 		= true		-- Push Meldungen
pushMessageIds 		= fibaro:getGlobal("mobileDevices")	-- Smartphone IDs (siehe mkshb.de)
pushMessageIds		= json.decode(pushMessageIds)		-- Smartphone IDs (siehe mkshb.de)
--pushMessageIds 	= {123,456}						-- Smartphone IDs (siehe mkshb.de)

Räume exkludieren (outdoorRooms)

Während Du das Klima in Deinen eigenen vier Wände direkt beeinflussen kannst, ist das außerhalb leider nicht so, bzw. müssen wir dafür an anderen Stellen tätig werden. Daher exkludieren wir die Räume „Outdoor“ und „Garage“ aus der Szene.

Häufigkeit der Prüfung festlegen (intervall)

Gib in Minuten an, wie häufig die Sensoren geprüft werden sollen.

Schwellwerte für Benachrichtigungen festlegen (thresHum und thresCO2)

Damit Du im Bedarfsfall benachrichtig wirst, werden hier entsprechende Schwellwerte für die relative Luftfeuchtigkeit sowie CO2 festgelegt.

Bei Überschreiten des ersten Wertes erhältst Du eine Warnmeldung, der zweite Wert stellt die Schwellt hin zur kritischen Meldung dar.

thresHum		= {60,70}	-- Schwellwerte Luftfeuchtigkeit
thresCO2		= {800,1000}	-- Schwellwerte CO2

Im Beispiel: Ab einem CO2 Gehalt von 800 ppm wird gewarnt, ab 1000 ppm erfolgt eine kritische Meldung.

Push Meldungen konfigurieren

Um nicht für jede Szene neue IDs festlegen und beim Wechsel des Smartphones all diese Szenen bearbeiten zu müssen habe ich mir die zu benachrichtigenden Geräte IDs in eine globale Variable mit dem Namen gespeichert. Daher brauche ich hier keine expliziten IDs angeben.

pushMessageIds 			= fibaro:getGlobal("mobileDevices")
pushMessageIds			= json.decode(pushMessageIds)
--pushMessageIds 		= {123,456}

Wenn Du eine solche globale Variable nicht hast, muss Deine Push Config so aussehen:

--pushMessageIds 			= fibaro:getGlobal("mobileDevices")
--pushMessageIds			= json.decode(pushMessageIds)
pushMessageIds 			        = {123,456}

Natürlich mit den IDs Deiner Endgeräte die benachrichtigt werden sollen.

Debug und Benachrichtigungen bei schlechter Luftqualität

Das war es schon mit der Einrichtung. Je nach Konfiguration erhältst Du nun regelmäßig Benachrichtigungen, wenn mal wieder dicke Luft ist.

Debug Beispiel
Debug Beispiel
Beispiel Benachrichtigung
Beispiel Benachrichtigung

Versionen

  • v1.0 – 16.09.2019: Initiale Version
  • v1.1 – 17.09.2019: Exkludieren mehrere Räume implementiert

Download

Download “Luftqualität” Luftqualitaet-v1.1.zip – 17-mal heruntergeladen – 2 KB

Kommentare und Feedback

Wie immer freue ich mich über Kommentare, konstruktive Kritik und alles weitere was Du loswerden möchtest in den Kommentaren unten.

14 Comments
  1. Moin Bastian, Script getestet und noch nicht ganz glücklich 😉 (weißt doch, habe immer was zu meckern!).
    Ich kann bei deinem Script nur einen Raum ausschließen, aber ich habe eine Terrasse, einen Garten, eine Haustüre und eine Garage. Habe versucht es mit Komma zu trennen, aber das geht nicht, also mehr Variablen (outdoorRoom1…outdoorRoom4) und auch die „If“ -Abfragen geändert….
    Auch gibt es bei mir das PesentState „Home“ (anwesend) und „Holiday“ (Urlaubsmodus…fahren Rollos anders und Heizung arbeitet anders)…habe es integriert, bekomme aber die Geräte doppelt angezeigt :/

    Aber sonst läuft es gut 😛

    Grüße Sven

    1. Moin Sven,

      danke für Dein Feedback.
      An einer Lösung für mehrere Outdoor-„Räume“ arbeite ich bereits. Das ist kein Problem, kommt später.
      Deine Herausforderung mit dem PresentState verstehe ich leider nicht. Kannst Du hier noch ein wenig genauer drauf eingehen?

      Beste Grüße
      Bastian

  2. Ich nutze den PresentState „Away“ (Abwesend, Heizung fährt runter Alarm scharf usw.),
    „Home“ (standard Betrieb…Alarm aus, Heizung regelt nach Zeitplan)
    „Holiday“(Art Urlaub/Wochendbetrieb/Feiertagbetrieb…Rollos fahren erst spät hoch, Heizung arbeitet auf 21 Grad ohne Zeitplan)

  3. richtig, wenn ich meinen PresentState aber auf Urlaub stelle (bin dann auch zuhause, aber meine Steuerung läuft anders), sagt dein Luftqualitätsscript, ich sei nicht zu hause, weil der PresentState ja auf Urlaub steht

    1. Hi Sven,

      jetzt habe ich Deine Herausforderung verstanden. Ich habe „Holiday“ mit Abwesenheit gleichgesetzt.
      Wenn dieser Status bei Dir immer bedeutet, dass jemand Zuhause ist, dann kannst Du die Zeile 164 gegen folgendes ersetzen damit die Szene auch bei „Holiday“ die Luftqualität prüft:
      if fibaro:getGlobal("PresentState") == "Home" or fibaro:getGlobal("PresentState") == "Holiday" then

      Beste Grüße
      Bastian

  4. Hallo Bastian,

    der Artikel ist mal wieder gut gelungen:-)
    Bisher habe ich nur eine Warnung, wenn ich z.B. im Winter zu lange lüfte. Deine Idee, auch einen Hinweis zu bekommen,wenn ich lüften soll, gefällt mir und fehlt mir noch.
    Anstelle der Push-Nachricht werde ich allerdings die Sonos Lautsprecher einbinden.

    Danke für die tolle Anregung.

    Grüße.

    1. Moin Mr. Coffee,

      freut mich von Dir zu lesen und ich Dich inspirieren konnte.
      Die Idee mit Sonos hatte ich auch, allerdings bleibt diese nicht. Wenn es niemand hört, dann ist es „verloren“. Allerdings hast Du mich auf eine andere Idee gebracht. Danke 🙂

      Beste Grüße
      Bastian

      1. Freut mich, wenn auch ich dich mal inspirieren konnte.
        Ich ahne auch schon womit:-)
        Meld dich, wenn ich dazu etwas beitragen kann.
        LG

  5. Hallo geht sowas auch mit Luftfeuchtigkeit ?

    Stelle mir das so vor:

    Luftfeuchtigkeit überschreitet einen Wert
    Alexa meldet Luftfeuchtigkeit ist zu hoch

    Gruss

    1. Moin,

      ich verstehe die Frage nicht 😉
      In der Szene werden doch Luftfeuchtigkeit und CO2 abgefragt.

      Beste Grüße
      Bastian

  6. Sowas blödes hatte nur die Überschrift gelesen und mir nicht alles von oben nach unten Durchgelesen…Jetzt aber eine andere Frage ist es möglich das so zu gestalten das die Nachriten nur zu bestimmten Zeiten kommen.

    Montags bis Freitag…… Morgens zwischen 6:00 und 7:00 uhr dann zwischen 15:00 bis 19:00 .
    Evtl. Samstag Sonntag andere Zeiten….

    Sonst bekommt man ständig Nachrichten….. bzw möchte ich das so haben das Alexa mit sagt wann ich Lüften sollte……

    1. Moin,

      klar ist das möglich. In der Szene selbst wird ja schon die Variable PresentSate abgefragt. Dort kannst Du entweder die Uhrzeiten oder eine dazu passende Variable wie TimeOfDay ergänzen. Dann wird zwar geprüft, aber keine Alexa Benachrichtigung generiert.
      Wenn Du Hilfe bei der Erstellung brauchst, wende Dich bitte ans Forum.

      Beste Grüße
      Bastian

Schreibe einen Kommentar

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

Ich akzeptiere

Luftqualität überwachen

von Bastian Lesezeit: 3 min