Grundsätzlich habe ich folgende Werte recherchiert und werde ich später im Programm so auch für div. Funktionen verwenden:
CO2 Konzentration | Bewertung |
< 800 ppm | Grün |
800 - 1.500 ppm | Gelb |
1.500 - 2.500 ppm | Orange |
> 2.500 ppm | Rot |
Link
Den CO2-Sensor mit dem NodeMCU verbinden
Den MH-Z19B Sensor verbinde ich wie folgt mit dem NodeMCU (Anzeige):
In meinem Fall lege ich RX & TX auf GPIO 13 & 14 vom NodeMCU, dies ist dann später bei den Einstellungen nochmal wichtig.
Pin Beschreibung | MH-Z19B | NodeMCU |
GND | 3 (schwarz) | GND |
Vin (5V) | 4 (rot) | Vin |
RX | 5 (blau) | D5 (GPIO-14) |
TX | 6 (grün) | D7 (GPIO-13) |
> 2.500 ppm | Rot | Grün |
Die fertige Schaltung ist ziemlich unspektakulär:
ESP Easy flashen & Einstellungen für den LoxBerry MQTT Server
Zugegeben, die Fülle an möglichen Firmware-Varianten ist gar nicht mehr so einfach. Ich habe die normal ESP8266 4m1M vom 13. Oktober 2023 verwendet und mit dem ESP Easy Flasher hochgeladen.
Das Angenehme an diesem Flasher ist es, dass ich im Nachgang auch gleich die WLAN-Verbindung inkl. statischer IP und Passwörter konfigurieren kann.
Somit entfällt der Weg, mit dem Handy in das ESP-Netz einwählen und alles manuell einzugeben.
Beim Start von ESP Easy Flasher werden übrigens div. Ordner angelegt, u.a. in den BIN Ordner kann man die ausgewählte Firmware legen und dann angenehm vom Dropdown Feld auswählen.
Der MQTT Server auf dem LoxBerry war bereits von der Treppenlichtsteuerung mit Loxone sowie der Füllstandsmessung der Zisterne mit Loxone vorhanden.
Die Verbindung habe ich unter Controllers auch auf diesem ESP nochmal eingerichtet:
Anschließend habe ich noch ein Device erstellt sowie die verwendeten Pins gewählt. Auch hier werde ich die Werte erstmal im 10s Takt senden, ob ich das zukünftig schneller mache, werde ich sehen:
Anschließend werden die Werte auch schon an die entsprechenden Topics auf dem Broker geschickt:
Einbinden der MQTT Topics in Loxone
Zuletzt möchte ich als Beispiel noch die Einbindung in der Loxone Config zeigen, hier erstmal mit einem Status-Baustein eine Ampel, welche die Farben anhand den Werten von der obigen Tabelle zeigt, bzw. als Infomeldung pusht:
Zukünftig werde ich vermutlich den kritischen Zustand noch über einen Alarmbaustein legen, damit wir bei einem gewissen Wert auch gewarnt werden, wenn wir nicht anwesend sind oder das Smartphone zur Hand haben...