Funksensor mit Bosch sensortec BME680 / Luftgüte

Begonnen von juergs, 28 Oktober 2017, 18:05:43

Vorheriges Thema - Nächstes Thema

juergs

#555
Hallo Jörg,

wie könnte ich da "NEIN" sagen ...  ;D :)

juergs

#556
Hier mal wieder  mal eine Gegenüberstellung CSS811/BME680.
Der CSS811 und der BME680 laufen unter ESPEasy MQTT/SLINK.

Interessant das SensorVerhalten nach dem Schliessen den hereingestellten Fensters.
Der SW-Filter den ich auf den BME680 aufgeschalten reagiert in der Art einens Tiefpasses mit verzögerten Flanken und geringerem Ausschwingen.
Dieses Verhalten ist aber von mir so gewünscht.  ;) ;)

Die Ausreißer, die Pah meldet, passieren so bei mir nicht.
Allerdings habe ich bei mir auch keine externe Temperaturkompensation mit NTC auf den CCS811 geschalten.

herrmannj


juergs

#558
Zitatwar 10:10 einmal lüften ?

Tja, leider der umgekehrte Fall, allerdings reagiert der Sensor sehr sensibel
und das Schwingen des Fensters könnte das über den Luftzug mit "frischer" Luft schon erklären.
Allerdings steht da der CCS811 dagegen, der ca. 20 cm entfernt und 10 cm tiefer liegt.
Allerdings ist das Verhalten mit Heizungs-Luft  (Fenstersims) etc. auch etwas Störgrößen behaftet.

Aber, wie Jörg schon sagte, über das Verhalten der Sensoren kann man sich so seine Gedanken machen ...  :o

/edit: der CSS811 (Breakout-Board, nicht von Locutus) läuft im Gegensatz zum BME680 ohne weiteren Tiefpassfilter bis auf die letzten 10% erstaunlich koherent!
Um das genauer beurteilen zu wollen müsste ich den Filter allerdings beim BME680 ausschalten.
Das zweite Bild zeigt die Werte über die LGW und PeMues BME680-Sensor  "geringer" gefiltert.

Prof. Dr. Peter Henning

Hm,
Zitatbezahlte Vorträge darüber zu halten
Ich darf Dir versichern, das ist ein schwieriger Markt...
ZitatAlterung
Das heißt nur, dass die Eichung in regelmäßigen Abständen wiederholt werden müsste.

Ich habe selbst mehrere Metalloxidsensoren in der Werkstatt herumliegen und hatte vor, mehrere Sensoren unterschiedlichen Typs zu kombinieren. Wegen der unterschiedlichen Empfindlichkeiten auf CO2, NOx und weitere Gase lässt sich bei einer gescheiten Betrachtung der Kennlinien tatsächlich herausfieseln, welches Gas in welcher Konzentration vorhanden ist.

Ich habe aber aktuell das Problem, dass ich wegen verschiedener beruflicher Anforderungen kaum die Zeit habe, mich mit solchen Details zu befassen - deshalb wollte ich es mir einfach machen und habe mir eben die beiden Dinger von locutus kommen lassen. Tja, denkste mit einfach.


LG

pah

juergs

#560
Hallo pah,
meine CSS811-Firmware-Version:
https://github.com/juergs/CSS811_Slink/blob/master/README.md
für den Esp8266.

Erforderlich: zusätzliche FHEM-Module für UDP-Empfang:
https://forum.fhem.de/index.php/topic,78619.msg974768.html#msg974768
einfach in den fhem-Ordner kopieren und ggf. Berechtigungen entsprechend setzen.

Die Definition des SLINK-Devices:

define slink SLink

Der Rest sollte FHEM dann per autocreate regeln.


Prof. Dr. Peter Henning

Danke, werde ich bei Gelegenheit ausprobieren. Sehe ich das richtig, dass ich diese Firmware nicht wieder Over The Air loswerden kann, so wie das bei Tasmota der Fall ist?

LG

pah

juergs

Wenn Du mit "... diese Firmware ..." meine Version meinst:
Nein, ist nicht OTA fähig. Also gesamten Speicher per Flasher löschen, dann FW flashen.

juergs

#563
Noch einige Infos:

Tasmota hat wohl doch die statische BSEC-Lib für den BME680 integriert:
https://github.com/arendst/Tasmota/tree/development/lib/BME680_driver-bme680_v3.5.9

https://github.com/arendst/Tasmota/tree/development/lib

Flash CCS811-Chip:
https://github.com/maarten-pennings/CCS811/tree/master/examples/ccs811flash
ZitatSince most Chinese boards come with firmware 1.1.0, and ams has released firmware 2.0.0 (around april 2018), I have written this example: it flashes 2.0.0 into a CCS811.

Locutus-Infos zum CCS811:
https://forum.fhem.de/index.php/topic,103754.msg975523.html#msg975523
https://forum.fhem.de/index.php/topic,28905.360.html

Nighthawk

Hallo Jürgen,

bei meinem letzten Versuch BME680 mit Tasmota zu betreiben habe ich nur die Wiederstanswerte gesehen, daher bin ich mir ziemlich sicher dass die lib leider nicht in Tasmota enthalten ist.


Gruß
Alex

juergs

Hallo Alex,
die Funktionpointer sind die der statischen BSEC-Lib.
Sieht man auch Anhand der Versionierung.
Aber ohne tiefere Kenntnisse um die Installation der Lib wird das schwierig zu kompilieren sein....
Die Infos dazu stehen aber hier im Thread.  :D

Grüße,
Jürgen

Prof. Dr. Peter Henning

Hmmm. Ich denke, ich werde im kommenden Sommersemester mal einen Studenten an die Korrektur der Tasmota-Software setzen.

LG

pah

PeMue

Hallo zusammen,

ich habe mal wieder probiert die BSEC Software einzubinden und mir ist folgendes aufgefallen:
- auf der Bosch Seite bekommt man die v1.4.74 und
- im Library Manager bekommt man die v1.5.1474 von github angeboten
Ich habe jetzt mal für ESP8266 die Anweisungen aus dem PDF der v1.4.74 (BSEC_1.4.7.4_Generic_Release\integration_guide\BST-BME680-Integration-Guide-AN008-47.pdf) befolgt und auch die binaries aus dieser Version reinkopiert.
Damit habe ich den Universalsensor Sketch für ESP8266 kompiliert -> funktioniert.

Generell ist das Ganze ein bisschen umständlich gemacht  :o :o :o.
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

papa

Schaut mal hier https://homematic-forum.de/forum/viewtopic.php?f=76&t=49422&p=560287#p559575
Da hat sich jemand umfangreich mit dem Sensor und dessen Kalibrierung beschäftigt. Vielleicht hilft das ja.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

peterk_de

#569
Ich habe jetzt auch ein paar von den Dingern und will sie direkt per I2C an meinen eh schon vorhandenen Raspberry-Roomnodes betreiben. Das läuft soweit, ich hänge gerade - natürlich - an der IAQ-Berechnung. Die BSEC-Library will ich nicht - u.A. möchte ich einen eigenen IAQ-Algorithmus, den ich auch nachvollziehen und genauer steuern kann, z.B. indem ich dem Sensor rückmelde, wenn das Fenster offen/geschlossen ist).

Offenbar niemand (außer Bosch in Library) hat sich bislang wohl mal genauer um die Kompensation der Widerstandswerte des VOC-Sensors gekümmert. Daher sehen auch die selbsterrechneten IAQ-Werte aus den ganzen Drittanbieter-Librarys (z.B. die Python-Library von Pimoroni) teilweise irgendwie schrottig aus.

Ich hab daher mal einen unprofessionellen Versuchsaufbau gemacht. Ergebnis: Der Ohm-Wert schießt mit abnehmender Luftfeuchte deutlich in die Höhe. Das deckt sich mit dem, wie sich solche Sensoren eben verhalten. Ist aber doof, wenn man nur den VOC-Anteil messen will und die Luftfeuchte ja eh separat hat. Die Temperatur hat (in einer anderen Messreihe ermittelt) offenbar kaum einen Einfluss (möglicherweise wegen einer guten Temperaturregelung der Sensorheizung).

Anbei ein Screenshot von meiner Messreihe Luftfeuchte (X-Achse) vs. Widerstand (Y-Achse) und meine erste simple Kompensationsformel inkl. Ergebnis. Falls jemand ein paar Beutel Silicagel o.Ä. und eine Plastiktüte zur Hand hat, würde ich mich freuen wenn ihr die Formel mal mit euren Sensoren testet (vor allem niedrige Luftfeuchtigkeitswerte sind spannend, die konnte ich noch nicht untersuchen)

Sensorparameter: 320 Grad - 150ms Heizzeit - 1Hz Abtastrate --> für andere Parameter wird man eine andere Formel brauchen
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...