====== 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 |}}