Update 10.04.1019 Bitte beachtet auch meinen Blogbeitrag für Tasmota
Die Überschrift sagt alles: Mein Wochenend-Projekt war diesmal eine Intelli-Cloud. Eine 3d-gedruckte Wolke mit einigen Sensoren drin. Diesmal war es der CCS811-Sensor und ein BME280. Der CCS811 Sensor misst VOC und CO2 in der Luft und der BME 280 die Temperatur, Luftfeuchte und den Luftdruck.
Um die 3D-gedruckte Wolke nicht allzu blass aussehen zu lassen, habe ich ihr einen RGB-LED-Stripe (8 LEDs) spendiert. Alles läuft in einem Wemos D1 Mini zusammen. Je nach Luftqualität ändert sich die Farbe der LEDs. Hier habe ich optisch die LEDs halbiert, die ersten zwei zeigen den CO2 Gehalt an die letzten zwei den VOC.
Parallel dazu werden die Daten noch per MQTT zu Fhem gesendet. Gemessen wird jede Minute. Als Spannungsversorgung wird standardmäßig 5Volt usb verwendet.
Hier nochmal die verwendeten Bauteile zusammengefasst (nachfolgend amazon.de Links):
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=B07G5XD1N9&InstanceId=0&TemplateId=MobileSearchResults&ServiceVersion=20070822&MarketPlace=DE Cache: AAL_5a2ebbc3c8ad3091fb8da39cc8b09259
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=B0754N794H&InstanceId=0&TemplateId=MobileSearchResults&ServiceVersion=20070822&MarketPlace=DE Cache: AAL_d2ae45fb44b1930fed39d5012ef5aaf4
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=B07D8T4HP6&InstanceId=0&TemplateId=MobileSearchResults&ServiceVersion=20070822&MarketPlace=DE Cache: AAL_5adee59708cb182db29f736230962eb1
Software:
Hier habe ich als Basis diese Software genommen. Jedoch um die RGB-Stripe Funktionalität erweitert und einige Bugs entfernt.
Verdrahtung:
Diese ergibt sich eigentlich aus der Software jedoch nochmal kurz aufgeführt.
CCS811:
3,3 V
GND
D1 SDA -> GPIO4
D2 SCL -> GPIO5
Wake an D8 oder GND
BME 280:
5 V
GND
D1 SDA -> GPIO4
D2 SCL -> GPIO5
RGB Stripe:
5 V
GND
D7 Signals
Drucken: 3d Wolke bei Thingiverse
Fhem: Hier sieht das Script eigentlich immer gleich aus.
defmod ccs811bme280 MQTT_DEVICE
attr ccs811bme280 IODev MyBroker
attr ccs811bme280 room MQTT
attr ccs811bme280 stateFormat status
attr ccs811bme280 subscribeReading_altitude /ccs811bme280/altitudev
attr ccs811bme280 subscribeReading_co2 /ccs811bme280/co2
attr ccs811bme280 subscribeReading_humidity /ccs811bme280/humidity
attr ccs811bme280 subscribeReading_pressure /ccs811bme280/pressure
attr ccs811bme280 subscribeReading_status /ccs811bme280/status
attr ccs811bme280 subscribeReading_temperature /ccs811bme280/temperature
attr ccs811bme280 subscribeReading_tvoc /ccs811bme280/tvoc
attr ccs811bme280 userReadings co2SensorLiteral {my $wertlit="";;my $v = ReadingsVal("ccs811bme280","co2","0");; if ($v < 700){ $wertlit = "perfekt";;} elsif (($v >700) && ($v<1400)) {$wertlit = "mäßig";; ;; $wertlit} elsif (($v >1400) && ($v<5000)) {$wertlit = "schlecht";; ;; $wertlit}}
Viel Spaß mit der Intelli-Cloud!
Bei Fragen, ab in die Kommentare!
Mir hat die zwei Farb Lösung gut gefallen, geht das mit Tasmota auch irgendwie?
Tasmota geht.
Hi Robin
tolles Projekt. Meine Sensoren sind endlich gekommen und das sehr fragile Gehäuse so lala gedruckt. Gibt es deinen angepassten Code auch irgendwo zum Download?
Danke
Hans
Hallo Robin,
durch Deinen Blog habe ich es endlich geschafft den ESP8266 so zu konfigurieren, dass ich die Daten des CCS811 zumindest schon mal dort sehe (habe „nur“ den CCS811 am ESP angeschlossen).
Bei der Konfiguration in FHEM habe ich folgendes Problem:
wenn ich
attr ccs811 subscribeReading_altitude /ccs811/altitudev
eingebe, bekomme ich die Meldung:
ccs811: unknown attribute subscribeReading_altitude. Type ‚attr ccs811 ?‘ for a detailed list
dann kommt die nächste Fehlermeldung u. ich komme nicht weiter…
Was mir aufgefallen ist: unter attr gibt es kein subscribeReading_altitude sondern ein „suppressReading“, hat sich da etwas geändert?
Der ESP8266 ist mit tasmota-sensors.bin geflashed.
Viele Grüße
Kalle
Hallo Torben,
danke für die Info. Den EE893 Sensor kenne ich gar nicht.
Ich habe mit dem
https://blog.moneybag.de/fhem-luftqualitaet-messen-mit-dem-mh-z14-mh-z19-co2-sensor-und-espeasy-wemos/
sensor gute Erfahrungen gemacht (co2).
Der obige im Blog-Beitrag kann auch noch tvoc.
LG
/robin
Cooles Projekt. Einzig die relativ teuren Komponenten halten mich davon ab es nachzubauen … Ich nutze aktuell einen EE893. Trotz des nochmal deutlich höheren Preises ist da mein bisher bester Sensor.