Feinstaubsensor bauen (luftdaten.info)

Begonnen von igami, 08 Februar 2017, 06:23:27

Vorheriges Thema - Nächstes Thema

zarfld

Hallo,

Ich bin Dominik aus Graz und das ist mein erster Post in diesem Forum.
Ich habe FHEM seit einer Weile am laufen und habe mich nun entschlossen den Feinstaubsensor zu bauen.
der DHT011 wird wohl noch eine weile auf sich warten lassen, aber der WEMOS ist bereits mit der orginalfirmware geflashed und DHT22 sowie BME280 sind verbunden und senden ihre Date bereits an:
https://opensensemap.org/explore/5a01b4ad03a566000f68f8e9


im FHEM habe ich die Box mittels
define myWeatherstation LuftdatenInfo local <IP>

angelegt - soweit so gut.

Nur scheint es das Problem zu geben, dass das Modul die Feuchte und Temperatur werte von DHT und BME nicht außeinander halten kann. (Wie das mit luftdaten.info online sein wird kann ich noch nicht sagen, da der eigentliche Partikelsensor noch fehlt).

Müsste ich hier noch ein paar zusätzliche Einstellungen machen, oder ist im Modul (?noch nicht?) vorgesehen?

Gruß
Dominik

igami

Du musst noch ein weiteres Gerät als slave anlegen
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

zarfld

Danke für den tip

ich habe nun beim master mit get Sensors die Liste der in FHEM zur fefügung gestellten Kanäle abgefragt (dort waren BME280_temperature BME280_pressure BME280_humidity usw enthalten).
und daraus abgeleitet.

define LDI_slave LuftdatenInfo local BME280_temperature BME280_pressure BME280_humidity

seitdem kann ich die werte des DHT22 am master sauber mitloggen und am slave die Werte des BME280 daher scheint es für mich gelöst.

Ist das so gedacht der müsste ich auch für den DHT einen Slave anlegen?

Gruß
Dominik

igami

Nein, das ist so gedacht. Kannst du aber nach belieben noch trennen. Der Gedanke dahinter ist die verschiedenen physikalischen Standorte auch in FHEM zu trennen.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Morgennebel

Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Gernott

#350
Hallo

Vor 10 Tagen habe ich den DHT22 wegen falscher Feuchtigkeitswerte gegen einen BME280 getauscht. Der Nachbau ist Original, die Firmware ebenfalls (NRZ-2017-099).
Nachdem der Sensor vorher einwandfrei gelaufen ist, bekomme ich jetzt wiederholt nach 2,5 Tagen keine Werte vom SDS011 mehr. Der Sensor wird nicht mehr aktiviert (Lüfter läuft nicht an) und die Readings bleiben leer. Der BME liefert dagegen weiter fröhlich Daten.
Ein Reset im Webinterface des Sensors reaktiviert den SDS auch nicht. Nur eine Unterbrechung der Spannungsversorgung bringt ihn wieder für 2,5 Tage zum Laufen.
Hat jemand eine Ahnung, woran das liegen könnte? - Werde nochmal den DHT dranklemmen und schauen, ob der durchläuft.

Gruß
G.

Frank_Huber

Evtl am Netzteil?
Was hast denn dran hängen?

Mit dem Handy online, daher kurz gefasst...


Gernott

Zitat von: Frank_Huber am 26 November 2017, 12:44:37
Evtl am Netzteil?
Was hast denn dran hängen?
Den SDS und nun den BME statt DHT. Netzteil  ist eher nicht der Grund, es läuft ja einige Zeit.

Frank_Huber

Würd ich so nicht sagen. Kann auch am Netzteil liegen.
Sind es immer genau genau 2,5 Tage?
Was für ein Netzteil hast du?

Mit dem Handy online, daher kurz gefasst...


nanocosmos

Ich beobachte den gleichen Fehler in meinem Setup: Habe ebenfalls den selben Aufbau aus Feinstaub Sensor und BME280.
Nach ca. 2-4 Tagen liefert der Feinstaub Sensor keine neuen Werte, der BME hingegen macht fröhlich weiter.
Es hilft bei mir auch nur ein Trennen der Stromversorgung.

Gernott

Zitat von: nanocosmos am 26 November 2017, 22:35:01
Ich beobachte den gleichen Fehler in meinem Setup: Habe ebenfalls den selben Aufbau aus Feinstaub Sensor und BME280.
Nach ca. 2-4 Tagen liefert der Feinstaub Sensor keine neuen Werte, der BME hingegen macht fröhlich weiter.
Es hilft bei mir auch nur ein Trennen der Stromversorgung.
Aha, das klingt gut. Wenn sich noch ein Dritter meldet, haben wir ein systematisches Problem. - Läuft es ohne den BME durch?

Gruß
G.

Frank_Huber

ich habe einen BME und den SD am laufen.
der Sensor läuft in dem Setup seit Monaten durch.

Original-FW auf NodeMCU v3

Gernott

Zitat von: Gernott am 26 November 2017, 12:28:54
Werde nochmal den DHT dranklemmen und schauen, ob der durchläuft.
Update
Mit dem DHT tritt das Problem nicht mehr auf, es läuft jetzt seit Sonntag. Werde im nächsten Schritt mal den BME280 dazuhängen und berichte dann wieder.

jonny62

Hallo Igami
Ich habe einen SDS011, einen VEML und einen BME280 mit der Firmware NRZ-2017-100-AF-020  am Laufen. Alle paar Wochen bekomme ich vom NodeMCU v3 bzw. BME280 dann -1 bzw. 65536 retour.

2017-12-26_12:14:53 Feinstaub_1 PM10: 43.60
2017-12-26_12:14:53 Feinstaub_1 PM2.5: 21.43
2017-12-26_12:14:53 Feinstaub_1 UVIntensity: 4.95
2017-12-26_12:14:53 Feinstaub_1 temperature: 65536
2017-12-26_12:14:53 Feinstaub_1 humidity: -1
2017-12-26_12:14:53 Feinstaub_1 pressure: -1
2017-12-26_12:14:53 Feinstaub_1 pressureNN: 1013
2017-12-26_12:14:53 Feinstaub_1 signal: -75

Vermutlich ein Fehler beim Lesen der Sensordaten über den I2C Bus.  Leider werden die falschen Werte dann auch in der Logdatei gespeichert und die Grafik schaut auch nicht schön aus.  Könntest Du vielleicht die Datei ,,59_LuftdatenInfo.pm" dahingehend anpassen, dass  bei -1 bzw. 65536 ,,error"  als Reading übergeben wird und nicht die falschen Werte. Ich kenne mich mit Perl leider nicht aus. 

Oder hat jemand eine Idee wie man dies über die Attribute abfangen könnte?

Danke
Jonny

JoWiemann

Hallo,

die genannten Werte werden generiert, wenn beim Lesen vom Sensor ein Fehler erkannt worden ist. Das Filtern im Modul halte ich für nicht sinnvoll. Du kannst ja entweder ein UserReading erstellen, in dem die Werte heraus gefiltert werden oder Du machst es über eine Function im GPLOT.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM