FHem: Luftqualität messen mit dem MH-Z14 / MH-Z19 CO2 sensor und ESPEasy WeMos

Update 16.04.2018 Anpassung Fhem-Script

Auf gehts in einer neuen Runde zur Messung der Luftqualität bei Euch zuhause. Obwohl mein Feinstaubsensor-Blog-Beitrag und dessen Display ein voller Erfolg ist, habe ich mich noch mal umgesehen, was es sonst noch für Sensoren für die Messung der Luftqualität gibt. Ich hatte vor ein paar Jahren mir die Luftqualitätssensoren von Voltcraft / Rehau angeschafft, welche immer noch ihren Dienst tun. Negativ an den Dingern fand ich, das diese über USB direkt an dem Raspi angeschlossen werden müssen. Ebenfalls läuft im Hintergrund immer ein kleines C-Programm, welches in einigen Abständen Fhem mit Daten versorgt. Kommt Zeit, kommt neue Technik.

 

Die Entwickler von ESPEasy seit einiger Zeit in dem Sammelsurium von Modulen das MH-Z14 / MH-Z19 CO2 Modul hinzugefügt. der MH-Z19 ist ein preiswerter CO2 Sensor, der aber noch einen Mikrocontroller benötigt, um seinen Dienst zu tun.

Was ist das für ein Sensor?
Der MH-Z19B (-> amazon) misst den CO 2 Gehalt in der Luft mit der non-dispersive infrared (NDIR)
Technik. In dem Sensor ist eine Infrarot-Diode, welche dauernd vorbeiziehende Luft misst. Diese Technik ist relativ genau und die Diode hat eine lange Lebensdauer.

Das Datenblatt spricht von 5 Jahren. Ebenfalls hat das Modul keinen Lüfter, der nach einiger Zeit kaputt gehen könnte. Ebenfalls zeichnet sich das Modul durch einen kleinen Stromverbrauch aus (200mA bei Messung) bei einer Versorgungsspannung von 5 Volt. Zum Datenaustausch werden TX RX verwendet, die direkt in den Mikrokontroller weiter verwendet werden können. Der Messbereich geht von 400 PPM bis 5000 PPM, welcher ausreichend ist. In dem Sensor ist auch noch ein Temperatursensor eingebaut.

Zunächst sollte man den Sensor kalibrieren: Dazu verbindet man den HD – PIN 7 Sekunden mit GND und stellt den Sensor an das offene Fenster für 20 min.
Ich hatte ohne Kalibrierung meine Probleme, er zeigte ständig Werte von 5000 PPM an.

Nun nimmt man sich einen Microkontroller, z. B. einen WeMos D1 mini oder auch das Witty-Board und flasht dort eine aktuelle Version von ESPEasy drauf. Wie das funktioniert, habe ich Euch schon einige Male gezeigt.
Anschließend richtet man sich den MicroKontroller ein, SSID Passwort usw.
Und wählt dann den MH-Z19B aus den Devices aus.

Wenn man jetzt mit MQTT arbeitet, ist der Rest (Datenübertragung an Fhem) ein Kinderspiel. Zunächst schaut man, ob die Daten vom Sensor übertragen werden.
In Fhem brauchen wir dieses Script (beta), um die Daten anzeigen zu lassen.

defmod co2sensor MQTT_DEVICE
attr co2sensor IODev MyBroker
attr co2sensor event-on-change-reading .*
attr co2sensor eventMap Connected:on OFF:off
attr co2sensor group CO2
attr co2sensor icon time_eco_mode
attr co2sensor room 40_Büro,60_Raumklima,90_Devices
attr co2sensor stateFormat {ReadingsVal($name,"PPM","") < 1200 ? "Luft gut" : "Luft schlecht"}
attr co2sensor subscribeReading_IP /co2Sensor/co2sensor/IP
attr co2sensor subscribeReading_PPM /co2Sensor/co2sensor/PPM
attr co2sensor subscribeReading_Temperature /co2Sensor/co2sensor/Temperature
attr co2sensor subscribeReading_U /co2Sensor/co2sensor/U
attr co2sensor subscribeReading_confirmed /co2sensor/button/status
attr co2sensor subscribeReading_presence /co2Sensor/status/LWT
attr co2sensor subscribeReading_status /co2sensor/ldr/value

Das wars auch schon.

Freunde der Grafik können jetzt noch eine schöne Optik machen.

Fazit: Die Vorteile liegen auf der Hand.
Klein,
ggf. Mobil verwendbar
MQTT-Fähig, also für fhem und ioBroker

Nachteil: Man muss selber etwas löten.

Wer einen CO2 Sensor haben möchte, kann sich bei mir melden. Ich werde bald auch CO2 Sensoren mit Display bauen.

Bauteile besorgen:
MH Z19 Sensor bei amazon.de (affili)
Wemos d1 Mini oder
Witty Board
Günstiger bei Aliexpress, aber 4 Wochen Lieferzeit: MH-Z19

Ansonsten bei Fragen, fragen.

Dieser Beitrag wurde unter Fhem-Hausautomation, Sensoren abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

11 Antworten zu FHem: Luftqualität messen mit dem MH-Z14 / MH-Z19 CO2 sensor und ESPEasy WeMos

  1. Marcus sagt:

    Hallo Robin,

    ich bin gerade dabei mir den Sensor mit D1 mini zu bauen. Ich möchte das Ganze dann in IoBroker Visualisieren (bzw. dann am MagicMirror anzeigen lassen).
    Wie kann ich das Ganze Visuell darstellen ?? Ich finde bis jetzt nichts im Netz dazu.

    Viele Grüße
    Marcus

  2. Max sagt:

    Hallo Robin,

    ok alles klar, Danke für die schnelle Antwort.

    Gute Besserung und viele Grüße
    Max

  3. Robin sagt:

    Hallo Max,
    leider nein.
    Aus gesundheitlichen Gründen geht das nicht mehr. Zum bestellen an benutze die Bauteile in dem roten Kasten.

  4. Max sagt:

    Hi Robin,

    toller Artikel, kann man den Sensor (mit Display) bei Dir noch bestellen?

    Danke und Grüße
    Max

  5. oli vanou sagt:

    Hi,

    nice work , could you share your 3D file design for the case ?

    thanks

    oli

  6. Robin sagt:

    Hallo Torsten,

    co2-sensor müsste ich bestellen, Display und WeMos habe ich da. Schreibe mich per Mail an.

    LG
    /robin

  7. Torsten sagt:

    Hi Robin,

    ich bin immer wieder begeistert über die Projekte und Anleitungen hier im Blog !!!

    Bzgl. des Co2 Sensor hätte ich ne Frage 😉

    Du hast am Ende geschrieben, das man sich bei Dir melden kann/soll wenn Interesse bestehen würde.
    Baust DU evtl. noch Sensoren evtl. auch mit Display.

    Hätte grundsätzlich großes Interesse (Leider habe ich bzgl. selbst löten zwei linke Hände 🙁 )

    Grüße
    Torsten

  8. Robin sagt:

    Hallo Andreas,
    im Grunde habe ich das Gehäuse genommen:
    https://www.thingiverse.com/thing:2806384
    Das ist ein Taster.

    Das Sensor ist übrigens klasse, liefert gute Werte.

    LG
    /robin

  9. Andreas Horbasz sagt:

    Hallo Robin,

    super Projekt ich bin mal gespannt ob ich das hinbekomme (Teile sind noch nicht alle da). Hättest Du vielleicht noch die STL für das Gehäuse für den WeMos und den MH-Z19?
    Auf dem Bild sieht man eine kleine LED, für was ist die und wo ist die Angeschlossen? Oder ist das ein Taster zwischen HD und GND für die Kalibrierung des MH-Z19?
    Vielen Dank im Voraus

    Gruß Andi

  10. Robin sagt:

    Hallo Stefan,

    schön Dich wieder zu sehen 🙂
    Nö hatte ich noch nicht. Aktuelle Firmware und mal den Sensor resettet?

    LG
    /robin

  11. Stefan sagt:

    Läuft bei mir auch schon 6 Monate, allerdings liefert mein MHZ19 immer „Read error CRC = 21 / 178 bytes read => ……….
    Hattest du das auch schon?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.