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.
Auto Amazon Links: Keine Produkte gefunden. http_request_failed: Es wurde keine gültige URL übermittelt. URL: https://ws-eu.amazon-adsystem.com/widgets/q?SearchIndex=All&multipageStart=0&multipageCount=20&Operation=GetResults&Keywords=B07VD15YRP&InstanceId=0&TemplateId=MobileSearchResults&ServiceVersion=20070822&MarketPlace=DE Cache: AAL_db2d041a5c0f83dc1585c7e4548cd1fe
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.
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.