Robins Blog – Technik und Multimedia

Revisit: TVOC eCO2 Temperatur Luftfeuchte Luftdruck Luftqualität messen

Update 19.04.2019 Blogbeitrag erweitert Sonoff TH10

Ich wollte eigentlich meinen Blogbeitrag vom September 2018 (-> Blogbeitrag) nachbearbeiten, jedoch wären die Änderungen in der Software zu krass gewesen.

Deshalb habe ich mich entschlossen, diesen Sensor CCS811 noch mal mit einer anderen Software zu versehen. Nochmal die Eckpunkte dieses Projektes.

Sensoren:
CCS811 zur Messung von eCO2 und TVOC
BME 280 zur Messsung von Temperatur, Luftfeuchtigkeit und Luftdruck

Mikrocontroller: WeMos D1 mini

Gehäuse: Aus Thingiverse wie im Blogbeitrag beschrieben.

Software: Spezielle Version von Tasmota, siehe unten

Beschaltung wie im Blogbeitrag beschrieben.
Alles Amazon Affiliate-Links:




Wichtig: Der CCS811 misst nicht den CO2- Gehalt der Luft, sondern den eCO2. Ausführliche Erklärungen gibt es hier.

Bei der Messung von TVOC und deren Richtlinien habe ich das Dokument gefunden.
Total Volatile Organic Compounds (TVOC) and Indoor Air Quality (IAQ)
Interesant ist, das die Richtlinien nach dem Bundesgesundheitsblatt – Gesundheitsforschung Gesundheitsschutz 2007, 50:990–1005, Springer Medizin Verlag 2007. (DOI 10.1007/s00103-007-0290-y um einiges nach den Richtlinien der WHO (Air Quality Guidelines by the World Health
Organization) abweichen.

Da zeigt sich doch wieder: Wir Deutsche sind doch ein hartes Volk! Oder spielt doch Lobby-Arbeit mit? Man weiß es nicht.

Software:
Als Software habe ich Tasmota genommen und nur die notwendigsten Sensoren mit einkompiliert. Wichtig war laut Forum, den SGS30 zu entfernen.

Die Beschaltung seitens Tasmota sieht so aus:


Fhem:
– Verbindung mit MQTT

defmod Sonoff_ccs811bme280 MQTT_DEVICE
attr Sonoff_ccs811bme280 IODev MyBroker
attr Sonoff_ccs811bme280 comment https://github.com/arendst/Sonoff-Tasmota/issues/3364\
192.168.178.51
attr Sonoff_ccs811bme280 room 30_Wohnzimmer,MQTT
attr Sonoff_ccs811bme280 stateFormat presence : TVOC:TVOCliteral
attr Sonoff_ccs811bme280 subscribeReading_SENSOR tele/ccs811bme280/SENSOR
attr Sonoff_ccs811bme280 subscribeReading_altitude /ccs811bme280/altitudev
attr Sonoff_ccs811bme280 subscribeReading_co2 /ccs811bme280/eCO2
attr Sonoff_ccs811bme280 subscribeReading_humidity /ccs811bme280/humidity
attr Sonoff_ccs811bme280 subscribeReading_presence tele/ccs811bme280/LWT
attr Sonoff_ccs811bme280 subscribeReading_pressure /ccs811bme280/pressure
attr Sonoff_ccs811bme280 subscribeReading_temperature /ccs811bme280/temperature
attr Sonoff_ccs811bme280 subscribeReading_tvoc /ccs811bme280/TVOC

defmod Sonoff_ccs811bme280_TVOC_DOIF DOIF ([Sonoff_ccs811bme280:presence] eq "offline") \
(setreading Sonoff_ccs811bme280 TVOCliteral Fehler,\
setreading Sonoff_ccs811bme280 TVOCliteral Fehler,\
setreading Sonoff_ccs811bme280 TVOC_Level 0,\
setreading Sonoff_ccs811bme280 CCS811_TVOC 0,\
setreading Sonoff_ccs811bme280 CCS811_eCO2 0,\
setreading Sonoff_ccs811bme280 BME280_Temperature 0,\
setreading Sonoff_ccs811bme280 BME280_Pressure 0,\
setreading Sonoff_ccs811bme280 BME280_Humidity 0) \
DOELSEIF (([Sonoff_ccs811bme280:CCS811_TVOC] > 1) and [Sonoff_ccs811bme280:CCS811_TVOC] < 65) \ (setreading Sonoff_ccs811bme280 TVOCliteral sehr gut,\ setreading Sonoff_ccs811bme280 TVOC_Level 1) \ DOELSEIF (([Sonoff_ccs811bme280:CCS811_TVOC] > 65) and ([Sonoff_ccs811bme280:CCS811_TVOC] )< 220 )\ (setreading Sonoff_ccs811bme280 TVOCliteral gut,\ setreading Sonoff_ccs811bme280 TVOC_Level 2) \ DOELSEIF (([Sonoff_ccs811bme280:CCS811_TVOC] > 220) and ([Sonoff_ccs811bme280:CCS811_TVOC] )< 660)\ (setreading Sonoff_ccs811bme280 TVOCliteral mittelmäßig,\ setreading Sonoff_ccs811bme280 TVOC_Level 3) \ DOELSEIF (([Sonoff_ccs811bme280:PM10] > 660) and ([Sonoff_ccs811bme280:CCS811_TVOC] )< 2200 )\ (setreading Sonoff_ccs811bme280 TVOCliteral schlecht,\ setreading Sonoff_ccs811bme280 TVOC_Level 4) \ DOELSEIF (([Sonoff_ccs811bme280:CCS811_TVOC] > 2200) and ([Sonoff_ccs811bme280:CCS811_TVOC] )< 5500)\ (setreading Sonoff_ccs811bme280 TVOCliteral sehr ungesund,\ setreading Sonoff_ccs811bme280 TVOC_Level 5) attr Sonoff_ccs811bme280_TVOC_DOIF room Logik

defmod ej8 expandJSON Sonoff_ccs811bme280.*:.*:.{.*}
attr ej8 room Logik

Aktion: Wer den Wemos D1 nicht selber für den CCS811 flashen möchte, kann für 7,95 Euro inkl.Versand unversichert Deutschland den geflashten Wemos D1 bei mir für eine kurze Zeit kaufen.

Wichtig: Eine gute Spannungsquelle nehmen 5V  2A, sonst fährt anfangs der ccs811 nicht richtig hoch und wird von Tasmota nicht erkannt.

19.04.2019 Update: Ihr könnt den CCS811 auch an einem Sonoff TH10 anschließen. Damit der ccs811 stabil funkioniert, sollte nur eine Minimalkonfiguration kompiliert werden.

Ansonsten bei Fragen, ab in die Kommentare.

Die mobile Version verlassen