Robins Blog – Technik und Multimedia

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.

Die mobile Version verlassen