====== Co2 Ampel mit Tasmota ====== Grundlage der Abhängigkeit von CO2 und Aerosol in der Luft [[https://depositonce.tu-berlin.de/bitstream/11303/11477/5/hartmann_kriegel_2020_de.pdf]] {{ :co2ampel:hartmann_kriegel_2020_de.pdf|PDF}} ===== Hardware ===== * Wemo D1 * MH-Z19B * Neopixel oder SW2812b LEDs (NEOPIXEL Ring – 16 Pixel ===== Firmware ===== Nur in der "Sensor Version ist der MH-Z19 enthalten * [[https://github.com/arendst/Tasmota/releases|tasmota-sensors.bin]] ===== Flash unter Linux ===== Ich nutze immer [[https://github.com/espressif/esptool/blob/master/esptool.py|esptool.py]] ./esptool.py --port /dev/ttyUSB0 erase_flash ./esptool.py -p /dev/ttyUSB0 write_flash -fs 1MB -fm dout 0x0 ~/tasmota-sensors.bin ===== Messbereich vom MHZ einstellen ===== der MHZ19 kann auf 4 verschiedene maximale Werte eingestellt werden * sensor15 1000 for 1000 ppm range * sensor15 2000 for 2000 ppm range * sensor15 3000 for 3000 ppm range * sensor15 5000 for 5000 ppm range Ich nutze für meine Test den Bereich bis 3000 ppm für eine Co2 Ampel reicht bis 2000ppm ===== Kalibrieren ===== der Sensor sollte mit Frischluft Kalibriert werden. Frischluft hat um die 400ppm * sensor15 2 Der Sensor muss 20 Minuten an der frischen Luft liegen, solange dauert das kalibrieren Anbei eine [[https://tasmota.github.io/docs/Commands/#sensor15|Liste]] über alle Parameter Sensor15 Automatic Baseline Correction for MH-Z19B CO2 sensor * 0 = disabled * 1 = enabled (default) * 2 = disable and start manual calibration from 400 ppm of CO2 * 9 = reset sensor to factory defaults * 1000 = sets measurement range to 1000ppm CO2 * 2000 = sets measurement range to 2000ppm CO2 * 3000 = sets measurement range to 3000ppm CO2 * 5000 = sets measurement range to 5000ppm CO2 gesetzt werden die Werte immer mit: sensor15 ===== Regeln ein und ausschalten ===== Rule1 on Rule1 off [[https://www.umwelt-campus.de/forschung/projekte/iot-werkstatt/ideen-zur-corona-krise]] ===== Regeln (funktioniert aber sicherlich nicht optimal) ===== Rule1 ON MHZ19B#CarbonDioxide<1400 DO HSBColor 359,100,35 ENDON ON MHZ19B#CarbonDioxide<1200 DO HSBColor 58,100,50 ENDON ON MHZ19B#CarbonDioxide<800 DO HSBColor 126,100,39 ENDON ON MHZ19B#CarbonDioxide<700 DO HSBColor 168,100,39 ENDON ON MHZ19B#CarbonDioxide<600 DO HSBColor 174,76,43 ENDON ON MHZ19B#CarbonDioxide>1400 DO HSBColor 1,100,50 ENDON Rule1 ON MHZ19B#CarbonDioxide<1400 DO HSBColor 359,100,20 ENDON ON MHZ19B#CarbonDioxide<1200 DO HSBColor 58,100,25 ENDON ON MHZ19B#CarbonDioxide<800 DO HSBColor 126,100,20 ENDON ON MHZ19B#CarbonDioxide<700 DO HSBColor 168,100,20 ENDON ON MHZ19B#CarbonDioxide<600 DO HSBColor 174,76,20 ENDON ON MHZ19B#CarbonDioxide>1400 DO HSBColor 1,100,25 ENDON #Neuer Regelsatz mit BREAK für Kita optimiert # <600 == BLAU # <1000 == dunkel Grün # <1250 == hell Grün # <1000 == GRÜN # <1500 == Gelb # <1990 == Orange # >1990 == ROT Rule1 ON MHZ19B#CarbonDioxide>1990 DO HSBColor 1,100,50 BREAK ON MHZ19B#CarbonDioxide<600 DO HSBColor 234,100,25 BREAK ON MHZ19B#CarbonDioxide<1000 DO HSBColor 103,100,53 BREAK ON MHZ19B#CarbonDioxide<1250 DO HSBColor 87,63,53 BREAK ON MHZ19B#CarbonDioxide<1500 DO HSBColor 58,100,53 BREAK ON MHZ19B#CarbonDioxide<1990 DO HSBColor 37,100,50 BREAK ==== Farben ==== HSB (hue, saturation, brightness) HSL (hue, saturation, lightness) Die drei Parameter bei dem HSB-Farbe stehen für: * Farbton (H) * Farbsättigung (S) * Helligkeit mit "B" für Brightness HSL-Farbe entspricht HSB, in dem "L" für Lightness steht. * Rot HSBColor 359,100,67 oder 1,100,35 * Gelb HSBColor 58,100,53 * dunkel Grün HSBColor 103,100,53 * hell Grün HSBColor 126,100,39 * BLAU HSBColor 237,100,20 * orange HSBColor 37,100,50 * Türkis HSBColor 174,76,43 * Magenta HSBColor 297,83,47 * Violett HSBColor 300,86,35 {{ :co2ampel:co2ampel.jpg?600 |}}