Autor Thema: Funksensor mit Bosch sensortec BME680 / Luftgüte  (Gelesen 84653 mal)

Offline juergs

  • Hero Member
  • *****
  • Beiträge: 1573
Antw:Funksensor mit Bosch sensortec BME680 / Luftgüte
« Antwort #510 am: 12 September 2019, 11:27:14 »
Hi twenta,
diese Version arbeitet im Moment nur mit einer Sensoradresse von 0x76 zusammen. Das Blinken bedeutet, dass Dein D1 einen Reset auslöst und neu startet.
Das Verhalten werde ich noch Ändern.

Der Sketch sollte mit nodeMCU und Wemos D1&D2 mini ESP8266  funktionieren.

Dieser Breakout liegt z.B. auf 0x77 (!) : https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/arduino-wiring-test

Also sicherstellen, dass der Adress-Pin auf Gnd liegt.
Du kannst das prüfen, wenn Du erst mal ein BME680-Standard Sketch (z.B. Adafruit/dfrobot) zum Testen benutzt, ob Deine Anordnung funktioniert und überhaupt Werte liefert.
Beobachte auch den Output im Seriellen Monitor.

In Arduino SPIFF = "1M" konfiguriert?
« Letzte Änderung: 12 September 2019, 20:15:09 von juergs »

Offline juergs

  • Hero Member
  • *****
  • Beiträge: 1573
Antw:Funksensor mit Bosch sensortec BME680 / Luftgüte
« Antwort #511 am: 12 September 2019, 19:46:08 »
Etwas "neue" Theorie für den BME + ESP32: https://github.com/G6EJD/BME680-Example

--------------------------------------------------------------
Sensor Readings:
  Temperature = 25.98°C
     Pressure = 1014.88 hPa
     Humidity = 48.6%
          Gas = 361708.56 ohms

Qualitative Air Quality Index  comprised of 21% Humidity and 75% Gas
IAQ Score = 20, air quality is Good
--------------------------------------------------------------
Sensor Readings:
  Temperature = 26.45°C
     Pressure = 1014.88 hPa
     Humidity = 48.0%
          Gas = 363268.66 ohms

Qualitative Air Quality Index  comprised of 21% Humidity and 75% Gas
IAQ Score = 20, air quality is Good
--------------------------------------------------------------
« Letzte Änderung: 14 September 2019, 17:58:01 von juergs »

Offline twenta

  • New Member
  • *
  • Beiträge: 11
Antw:Funksensor mit Bosch sensortec BME680 / Luftgüte
« Antwort #512 am: 13 September 2019, 01:13:32 »

diese Version arbeitet im Moment nur mit einer Sensoradresse von 0x76 zusammen. Das Blinken bedeutet, dass Dein D1 einen Reset auslöst und neu startet.
Also sicherstellen, dass der Adress-Pin auf Gnd liegt.
D
u kannst das prüfen, wenn Du erst mal ein BME680-Standard Sketch (z.B. Adafruit/dfrobot) zum Testen benutzt, ob Deine Anordnung funktioniert und überhaupt Werte liefert.
Beobachte auch den Output im Seriellen Monitor.

Hallo Jürgen,

danke mit diesen Hinweisen habe ich es hinbekommen. Außerdem war mir nicht bewusst, dass die von mir genutzte "post flash action" (WIFI, WIFI passwort) folgenlos waren und der d1 mini im AP modus gestartet ist. Ich beobachte nun mal, was er so an Daten liefert :)

Offline juergs

  • Hero Member
  • *****
  • Beiträge: 1573
Antw:Funksensor mit Bosch sensortec BME680 / Luftgüte
« Antwort #513 am: 13 September 2019, 22:13:14 »
Habe einige Verbesserungen eingebaut:
Jetzt sollte auch die Adresse 0x77 für den BME einsetzbar sein.
Dafür habe ich die Initialiserung des BME an eine passendere Stelle gelegt.
Das hat den Vorteil, dass ein nicht angeschlossener  BME680 in ESPEasy keine Exceptions mehr erzeugt
und sich ESPEasy aufrufen läßt, um über den Device-Konfiguratins-Dialog mittels Adress-Auswahl, Device-ENABLE-Checkbox gesetzt und SUBMIT-Button gedrückt, konfigurieren lässt.
Erst dann läuft erst die Initialisierung des BMEs los.
Die Zykluszeit habe ich von 10 auf 12s hochgesetzt, da dies Bosch in https://ae-bst.resource.bosch.com/media/_tech/media/application_notes/BST-BME680-AN014.pdf
auf Seite 10 vorschlägt. Messwerte werden im 12s Rythmus vom BME gelesen, aber erst nach der konfigurierten Zyklus-Zeit (default=60s) an die ESPEasy-Oberfläche geliefert.
Alle anderen Änderungen wie z.B. Plot + Debugausgabe werden erst nach einem Reset wirksam ...
* Github Repository ist aktualisiert.  :D
« Letzte Änderung: 14 September 2019, 17:28:42 von juergs »

Offline juergs

  • Hero Member
  • *****
  • Beiträge: 1573
Antw:Funksensor mit Bosch sensortec BME680 / Luftgüte
« Antwort #514 am: 14 September 2019, 20:59:05 »
Vergleich der TVOC und IAQ-Berechnung von G6EJD mit IAQ-Bewertungen von 20 (gut) .. 500 (schlecht)

Offenes Fenster  -> geschlossen ...

TVOC vs. IAQ
« Letzte Änderung: 15 September 2019, 13:21:33 von juergs »
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline juergs

  • Hero Member
  • *****
  • Beiträge: 1573
Antw:Funksensor mit Bosch sensortec BME680 / Luftgüte
« Antwort #515 am: 15 September 2019, 12:55:45 »
Verbesserte ESPEasy-Rules mit WS2812B an D5 (GPIO14):

Zitat
//--- red
on bme680#TVoc>=400 do
 if [bme680#TVoc] < 500
   neopixel, 1,255,0,0
 endif
endon

//--- orange
on bme680#TVoc>=300 do
 if [bme680#TVoc] < 400
     neopixel, 1,255,153,0
 endif
endon

//--- yellow
on bme680#TVoc>=200 do
 if [bme680#TVoc] < 300
   neopixel, 1,255,255,0
 endif
endon

//--- green
on bme680#TVoc>=100 do
 if [bme680#TVoc] < 200
   neopixel, 1,0,255,0
 endif
endon

//--- no TVOC activity (blue)
on bme680#TVoc=0 do
 neopixel, 1,0,0,255
endon
« Letzte Änderung: 15 September 2019, 13:19:55 von juergs »

Offline juergs

  • Hero Member
  • *****
  • Beiträge: 1573
Antw:Funksensor mit Bosch sensortec BME680 / Luftgüte
« Antwort #516 am: 15 September 2019, 17:08:17 »
Hat jemand ein Hinweis/Konfiguration für ESPEasy-BMEx80 über mosquitto /MQTT2_SERVER   oder FHEM_HTTP an FHEM?
« Letzte Änderung: 15 September 2019, 17:19:58 von juergs »

Offline juergs

  • Hero Member
  • *****
  • Beiträge: 1573
Antw:Funksensor mit Bosch sensortec BME680 / Luftgüte
« Antwort #517 am: 15 September 2019, 18:37:01 »
Zur Not, geht auch Jörgs SLINK-Protokoll (zusätzliche FHEM-Module für UDP-Broadcast-Empfang) (!) von ESP-Easy über UDP an FHEM!

 ;D :D
« Letzte Änderung: 15 September 2019, 20:28:22 von juergs »

Offline juergs

  • Hero Member
  • *****
  • Beiträge: 1573
Antw:Funksensor mit Bosch sensortec BME680 / Luftgüte
« Antwort #518 am: 15 September 2019, 20:49:32 »
Hier die ESPEasy-Version, um SLINK-UDP-Wahlmöglichkeit ergänzt.

Ohne MQTT oder FHEM_HTTP-Protokoll ...

Achtung: zusätzliche Module (siehe Antwort #517) für FHEM-Datenempfang erforderlich!
« Letzte Änderung: 21 September 2019, 10:38:35 von juergs »

Offline Tobias

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3767
Antw:Funksensor mit Bosch sensortec BME680 / Luftgüte
« Antwort #519 am: 16 September 2019, 08:46:54 »
ohne es getestet zu haben, über CONTROLLER kann man doch eigentlich einen Mosquitto Client definieren..?? Oder hast du es explizit nicht eingebunden?
FHEM auf ASRock J3455-ITX im 19" Rack mit Homematic, MAX, PCA301, Panstamps, RPi für BLE Bodenfeuchtesenoren, Text2Speech.
Maintainer der Module: Text2Speech, TrashCal, MediaList

Meine Projekte auf https://github.com/tobiasfaust
u.a. PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM

Offline juergs

  • Hero Member
  • *****
  • Beiträge: 1573
Antw:Funksensor mit Bosch sensortec BME680 / Luftgüte
« Antwort #520 am: 16 September 2019, 09:18:28 »
Hallo Tobias,

ja habe die Controller-Typ-Definitionen gesehen und auch ausprobiert. (Man sieht es in #518 in der Definition des BME680-Devices ...)
Auf dem Pi habe ich mosquito auf 1883 und MQTT2_FHEM_Server auf 1884 definiert.
Dorthin kann ich auch Messages "manuell" schicken ...

Mir geht es eigentlich um die Konfiguration der Controller ... und des MQTT2_Devices in FHEM und die Übermittlung der vier Messdaten ...
Wenn Du ein Beispiel-Tipp hast?

Grüße,
Jürgen
« Letzte Änderung: 16 September 2019, 22:07:58 von juergs »

Offline juergs

  • Hero Member
  • *****
  • Beiträge: 1573
« Letzte Änderung: 16 September 2019, 22:43:18 von juergs »

Offline twenta

  • New Member
  • *
  • Beiträge: 11
Antw:Funksensor mit Bosch sensortec BME680 / Luftgüte
« Antwort #522 am: 17 September 2019, 00:13:48 »
Hallo Jürgen,

ich bin mir nicht sicher, ob ich Dein Problem verstehe, da zumindest in ESPEasy die Konfig doch recht einfach ist:

Hier eine Beschreibung, wie ich es mosquitto als mqtt2 client in fhem angelegt habe...
Unter Controller Deine IP des mqtt servers (vorzugsweise mosquito) eingeben (siehe mqtt1.png)
Dann unter Devices->Data aquisition->Send to Controller die checkbox der Nummer des gerade erstellten mqtt servers auswählen.

Unter fhem wird es dann ziemlich fummelig ich habe es mit viel trial&error hinbekommen (mqtt2_client, https://fhem.de/commandref.html#MQTT2_CLIENT):
Ich habe ein Device mqtt2_client mit dem Namen mqttBorker angelegt
define <name> MQTT2_CLIENT <host>:<port>und als attribs autocreate simple und subscription # gewählt (siehe mqtt2.png)

Nun fehlt noch das mqtt2_device (https://fhem.de/commandref.html#MQTT2_DEVICE):
Ich bin mir nicht mehr sicher, ob nun das mqtt2_device automatisch angelegt wurde (siehe mqtt3.png).
Hier hilft es dass attrTemplate A_00_MQTT2_CLIENT_general_bridge (oder 0_00_General_Info, bin mir nicht mehr ganz sicher... einfach ausprobieren) auszuwählen.

Ich hoffe das hilft...
Grüße
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline hdgucken

  • Full Member
  • ***
  • Beiträge: 167
Antw:Funksensor mit Bosch sensortec BME680 / Luftgüte
« Antwort #523 am: 17 September 2019, 12:35:25 »
Hat jemand ein Hinweis/Konfiguration für ESPEasy-BMEx80 über mosquitto /MQTT2_SERVER   oder FHEM_HTTP an FHEM?

Hallo Jürgen,

hätte da was:
UniversalSensor V3.3 kann jetzt MQTT auf ESP8266 (WiFi) und natürlich werden jetzt auch CO2 und VOC über die BSEC Lib angezeigt  8)
Hab nur das Webinterface zum konfigurieren nicht ganz fertig, sonst läuft alles !
Wäre was zum testen auf dem NanoLGW  ohne RFM69 ;)
Der Sensor sendet per WLAN die MQTT Daten an meinen RaspberryPi auf dem Mosquitto (und Fhem) als MQTT-Broker läuft.
Fhem holt sich die Daten dann von Mosquitto. Fertig  ;)
Super easy und vor allem sehr einfach erweiterbar !
 
anbei mal ein paar Impressionen ...

Übrigends, Respekt und Hut ab für Deine Arbeit an ESP Easy !!!

Gruß Thomas
« Letzte Änderung: 17 September 2019, 13:14:22 von hdgucken »
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline hdgucken

  • Full Member
  • ***
  • Beiträge: 167
Antw:Funksensor mit Bosch sensortec BME680 / Luftgüte
« Antwort #524 am: 17 September 2019, 13:10:07 »
Hier hab ich mal eine BME280 Konfiguration von mir.
D1 mini mit ESP Easy sendet via MQTT an Mosquitto, fhem holt die Daten von Mosquitto.

siehe Bildchen ...

Gruß Thomas

hier noch die fhem Konfig:
define BME280_mqtt_sensor MQTT_DEVICE
attr BME280_mqtt_sensor IODev MQTT_Broker
attr BME280_mqtt_sensor alias BME280-Sensor
attr BME280_mqtt_sensor autoSubscribeReadings Controller_/BME280/+ <- Diese Zeile sucht und trägt alle Topics automatisch ein, die unter Controller_/BME280/ gefunden werden !
attr BME280_mqtt_sensor group Sensoren
attr BME280_mqtt_sensor room MQTT,Sensoren
attr BME280_mqtt_sensor stateFormat temperature °C, humidity %, pressure mBar


Diese Zeilen werden automatisch von autosubscribeReadings generiert ;o) :

attr BME280_mqtt_sensor subscribeReading_humidity Controller_Tor_Einfahrt/BME280/humidity
attr BME280_mqtt_sensor subscribeReading_pressure Controller_Tor_Einfahrt/BME280/pressure
attr BME280_mqtt_sensor subscribeReading_temperature Controller_Tor_Einfahrt/BME280/temperature
« Letzte Änderung: 17 September 2019, 13:24:42 von hdgucken »
Gefällt mir Gefällt mir x 2 Liste anzeigen