Feinstaubsensor - alternative Firmware (luftdaten.info)

Begonnen von JoWiemann, 03 Juli 2017, 16:09:14

Vorheriges Thema - Nächstes Thema

Burny4600

#270
Ich habe nochmals die nachgebesserte Firmware eingespielt und https nicht aktiviert.
Dennoch wird ein Neustart ausgeführt.

Vielleicht hängt es damit zusammen das die SSL Version nicht vorhanden ist oder eine alte Version verwendet wird.
Ich hatte gerade mit einer Linux Box das Problem, dass ich keine Netzwerkverbindung aufbauen konnte, weil ich die SMB Version nicht angegeben hatte.

Früher war es nicht notwendig, aber es werden jetzt permanent die Sicherheitsbedienungen hoch geschraubt. Viele Anbieter lassen nur mehr Version ab 2.0 zu. Wenn nichts angegeben wird versuchen die Geräte nur mit keiner aoder SMB Version 1.0 sich anzumelden.

Welche SMB Version hast die für https definiert?
Vielleicht wäre unter https auch eine Auswahl der SMB Version nicht schlecht um je nach Anwendungsfall diese auswählen zu können.
Es wird auch zunehmend in Privaten Netzwerken die Angabe der SMB Version notwendig, was bei künftigen Firmware Versionen berücksichtigt werden sollte.

Folgende Fehlermeldungen sind mir im Log aufgefallen:
2019.01.05 13:50:07.357 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/59_LuftdatenInfo.pm line 248, <$fh> line 100.
2019.01.05 14:10:40.467 2: LuftdatenInfo (SDS011) - error while request: 192.168.17.132: Keine Route zum Zielrechner


list Feinstaubsensor
Internals:
   ADDRESS    192.168.17.132
   CFGFN      /media/hdd/fhem/mycfg/wetter/wetterstation_rasp04.cfg
   CHANGED   
   DEF        local 192.168.17.132
   INTERVAL   300
   MODE       local
   NAME       SDS011
   NR         1148
   STATE      PM 10: 3.7 µg/m³  <br> PM 2.5: 3.4 µg/m³  <br> Temperatur: 23.4 °C  <br> Feuchte: 46.1 % <br> Luftdruck Wels: 995.6 hPa <br> Luftdruck Meereshöhe: 992.8 hPa <br> WLAN Signal: -47.0 dBm
   TIMEOUT    5
   TYPE       LuftdatenInfo
   READINGS:
     2019-01-03 14:15:48   PM10            3.70
     2019-01-03 14:15:48   PM2.5           3.40
     2019-01-03 14:15:48   altitude        314.10
     2019-01-03 14:15:48   date            3.01.2019
     2019-01-03 14:15:48   humidity        46.06
     2019-01-03 14:15:48   latitude        48.151177
     2019-01-03 14:15:48   longitude       14.003094
     2019-01-03 14:15:48   pressure        992.7566
     2019-01-03 14:15:48   pressureNN      1032.57
     2019-01-05 14:15:40   relpressure     995.5563
     2019-01-03 14:15:48   signal          -47
     2019-01-04 16:30:47   softwareVersion NRZ-2018-111-AF-061
     2019-01-05 14:15:40   state           error
     2019-01-03 14:15:48   temperature     23.39
     2019-01-03 14:15:48   time            14:12:34
Attributes:
   alias      AB Wetterstation - Feinstaub Sensor
   devStateStyle style="text-align:left;;font-weight:bold;;"
   event-min-interval .*:600
   event-on-change-reading time,date,altitude,latitude,longitude,PM10,PM2.5,humidity,pressure,relpressure,pressureNN,signal,temperature
   group      .Sensoren Feinstaubmessung
   icon       time_graph
   interval   60
   room       AB-Wetterstation
   sortby     01
   stateFormat {sprintf("PM 10: %.1f µg/m³  <br> ",ReadingsVal("$name","PM10",0))
.sprintf("PM 2.5: %.1f µg/m³  <br> ",ReadingsVal("$name","PM2.5",0))
.sprintf("Temperatur: %.1f °C  <br> ",ReadingsVal("$name","temperature",0))
.sprintf("Feuchte: %.1f %% <br> ",ReadingsVal("$name","humidity",0))
.sprintf("Luftdruck Wels: %.1f hPa <br> ",ReadingsVal("$name","relpressure",0))
.sprintf("Luftdruck Meereshöhe: %.1f hPa <br> ",ReadingsVal("$name","pressure",0))
.sprintf("WLAN Signal: %.1f dBm ",ReadingsVal("$name","signal",0))}
   userReadings relpressure { ReadingsVal("$name","pressureNN",0)-37.0137; }
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

Morgennebel

Ich habe zwei NodeMCU mit der alternativen Firmware vom 3. Januar geflasht. Beide machen nach dem Reboot dieses auf der Console:


wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
vbb28d4a3
~ld
   
ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
vbb28d4a3
~ld
   
ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
vbb28d4a3
~ld
   
ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
vbb28d4a3
~ld
   
ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
vbb28d4a3
~ld

Bei beiden wurde der Flash gelöscht und der gesamte Speicher mit 0x00 überschrieben.

Was mache ich wohl flasch?

Danke, -MN
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

JoWiemann

Zitat von: Burny4600 am 05 Januar 2019, 11:03:21
Vielleicht hängt es damit zusammen das die SSL Version nicht vorhanden ist oder eine alte Version verwendet wird.
Ich hatte gerade mit einer Linux Box das Problem, dass ich keine Netzwerkverbindung aufbauen konnte, weil ich die SMB Version nicht angegeben hatte.

Früher war es nicht notwendig, aber es werden jetzt permanent die Sicherheitsbedienungen hoch geschraubt. Viele Anbieter lassen nur mehr Version ab 2.0 zu. Wenn nichts angegeben wird versuchen die Geräte nur mit keiner aoder SMB Version 1.0 sich anzumelden.

Welche SMB Version hast die für https definiert?
Vielleicht wäre unter https auch eine Auswahl der SMB Version nicht schlecht um je nach Anwendungsfall diese auswählen zu können.
Es wird auch zunehmend in Privaten Netzwerken die Angabe der SMB Version notwendig, was bei künftigen Firmware Versionen berücksichtigt werden sollte.

Folgende Fehlermeldungen sind mir im Log aufgefallen:
2019.01.05 13:50:07.357 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/59_LuftdatenInfo.pm line 248, <$fh> line 100.
2019.01.05 14:10:40.467 2: LuftdatenInfo (SDS011) - error while request: 192.168.17.132: Keine Route zum Zielrechner



Hm, schwierig. Der gesamte Übertragungsteil stammt aus der originalen Firmware von Luftdaten.info. Ich habe in der Alternativen nur Sensoren hinzugefügt und die Konfigurationsseiten geändert. Spiel doch bitte einmal die originale Firmware auf.

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

JoWiemann

Zitat von: Morgennebel am 07 Januar 2019, 16:14:32
Ich habe zwei NodeMCU mit der alternativen Firmware vom 3. Januar geflasht. Beide machen nach dem Reboot dieses auf der Console: ...

Sorry, aber ist mir ein Rätsel. Verhält sich die originale Firmware von luftdaten.info genauso?

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

Christoph Morrison

Zitat von: Burny4600 am 05 Januar 2019, 11:03:21
Folgende Fehlermeldungen sind mir im Log aufgefallen:
2019.01.05 13:50:07.357 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/59_LuftdatenInfo.pm line 248, <$fh> line 100.
2019.01.05 14:10:40.467 2: LuftdatenInfo (SDS011) - error while request: 192.168.17.132: Keine Route zum Zielrechner


Hast du den Sensor, bzw. die konfigurierte IP 192.168.17.132, mal händisch vom FHEM-Rechner aus angepingt?

Morgennebel

Zitat von: JoWiemann am 07 Januar 2019, 17:12:32
Sorry, aber ist mir ein Rätsel. Verhält sich die originale Firmware von luftdaten.info genauso?

Nein, die latest-de lief gerade ohne Mucken durch. Danach habe ich WiFi konfiguriert und gerade Deine Version übergebügelt ohne den Flash (Konfig) zu löschen. Meldet sich aber nach gut 10 Minuten immer noch nicht...

Danke, -MN
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

Morgennebel

Nach original latest.de hat Deine alternative Firmware dann auch funktioniert.

Ich habe gemäß https://github.com/opendata-stuttgart/sensors-software/blob/master/airrohr-firmware/Readme.md einen PMS7003 verkabelt und diesen auf /sensors hinzugefügt. Das führt jedoch zu einem Timeout bzw. Absturz...

(*seufz*)

Danke, -MN
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

JoWiemann

Zitat von: Morgennebel am 07 Januar 2019, 19:54:49
Nach original latest.de hat Deine alternative Firmware dann auch funktioniert.

Ich habe gemäß https://github.com/opendata-stuttgart/sensors-software/blob/master/airrohr-firmware/Readme.md einen PMS7003 verkabelt und diesen auf /sensors hinzugefügt. Das führt jedoch zu einem Timeout bzw. Absturz...

(*seufz*)

Danke, -MN

Den PMS7003 kann ich leider nicht testen. Wenn er  mit der original Firmware läuft, dann muss ich nochmal ein source walk through machen.

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

Morgennebel

Zitat von: JoWiemann am 07 Januar 2019, 19:59:30
Den PMS7003 kann ich leider nicht testen. Wenn er  mit der original Firmware läuft, dann muss ich nochmal ein source walk through machen.

Ich wechsle mal zurück und prüfe auf einen PEBCAK....

Danke, -MN
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

Morgennebel

Mit der originalen latest-de kann ich einen PMS 7003 und ein NEO 6M konfigurieren - ohne Absturz.

Daten erhalte ich noch nicht (nach 5 Messungen). Ich lasse den Sensor mal ein wenig vor sich hin laufen...

Danke, -MN
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

Morgennebel

Also...

die originale latest-de läuft bei mir erfolgreich mit SDS011, einem Display und einem Neo-6M zusammen.

Nehme ich diese NodeMCU und bügle Deine alternative Firmware drauf, ohne den Flash zu löschen, sind alle konfigurierten Sensoren weg.

Einen SDS011 kann ich nicht neu hinzufügen. Bei Klick auf "Hinzufügen" rebootet die NodeMCU bzw. reagiert nicht mehr.
Ein BME680 (0x77) kann ich hinzufügen, nach dem Klick auf "Hinzufuegen" erscheint eine zusätzliche Zeile mit Konfig-Daten.

Die Weboberfläche funktioniert nur sporadisch, obwohl auf dem Display Statusdateien und WiFi-Daten angezeigt werden. Häufige Timeouts.

Werden die Sensoren abweichend zu der originalen FW verkabelt?

Danke, -MN
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

magentouser

Hallo, bin auch grad dabei etwas zu basteln, mit der übergabe an fhem ist schon mal sehr gut..
ich habe hier noch einen MQ135 rumliegen, bekommt ma den in die Konfig mit rein? habe mich zwar dran versucht aber so richtig mag er nicht. (komme dann ins config menü nicht mehr rein.)

JoWiemann

Zitat von: Morgennebel am 08 Januar 2019, 17:27:11
Also...

die originale latest-de läuft bei mir erfolgreich mit SDS011, einem Display und einem Neo-6M zusammen.

Nehme ich diese NodeMCU und bügle Deine alternative Firmware drauf, ohne den Flash zu löschen, sind alle konfigurierten Sensoren weg.

Einen SDS011 kann ich nicht neu hinzufügen. Bei Klick auf "Hinzufügen" rebootet die NodeMCU bzw. reagiert nicht mehr.
Ein BME680 (0x77) kann ich hinzufügen, nach dem Klick auf "Hinzufuegen" erscheint eine zusätzliche Zeile mit Konfig-Daten.

Die Weboberfläche funktioniert nur sporadisch, obwohl auf dem Display Statusdateien und WiFi-Daten angezeigt werden. Häufige Timeouts.

Werden die Sensoren abweichend zu der originalen FW verkabelt?

Danke, -MN

Zunächst danke für Deine Rückmeldung. Die Sensoren werden nicht unterschiedlich verkabelt. Das mit dem SDS011 hinzufügen werde ich am Wochenende noch mal testen. Die Latenzen mit der Weboberfläche habe ich selber nicht. Läuft den der Neo-6M?

Die Konfiguration kann nicht übernommen werden, da die abgelegten Daten sich unterscheiden.

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

Morgennebel

Zitat von: JoWiemann am 08 Januar 2019, 19:29:13
Zunächst danke für Deine Rückmeldung. Die Sensoren werden nicht unterschiedlich verkabelt. Das mit dem SDS011 hinzufügen werde ich am Wochenende noch mal testen. Die Latenzen mit der Weboberfläche habe ich selber nicht. Läuft den der Neo-6M?

Der Neo-6M läuft mit mittelmässiger Genauigkeit mit der originalen FW nach 2-3 Minuten, mit Deiner kann ich ihn nicht hinzufügen.

Mein Setup ist: NodeMCU v3 mit CH340 USB Treiber (das ist ein Rechteck mit zwei Reihen PINs), 4MB Flash auf einem NodeMCU DEV Board. Dieses hat eine 9V 1.5A Stromversorgung und viele Stecker für die Dupont-Kabel. Flashen klappt über USB tadellos. Die Verkabelung wurde zwischen der originalen FW und Deiner nicht angefasst.

Zum flashen nehme ich den NodeMCU PyFlasher für Mac OS X. Das NodeMCU Board meldet sich unter /dev/cu.wchusbserial146430 an. Flash Mode ist Dual IO (DIO) mit 230.400 Baud. Der Output beim flashen:


Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 230400
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Erasing flash (this may take a while)...
Chip erase completed successfully in 6.7s
Compressed 541248 bytes to 367608...
Wrote 541248 bytes (367608 compressed) at 0x00000000 in 16.8 seconds (effective 258.3 kbit/s)...
Hash of data verified.

Leaving...

Done.


Nutzen wir evtl. verschiedene NodeMCU Boards und für meines fehlt ein Treiber in Deiner FW?

Danke für Deine Hilfe und Deine Arbeit,

Ciao, -MN
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

JoWiemann

Zitat von: Morgennebel am 08 Januar 2019, 21:41:57
Nutzen wir evtl. verschiedene NodeMCU Boards und für meines fehlt ein Treiber in Deiner FW?

Danke für Deine Hilfe und Deine Arbeit,

Ciao, -MN

Nein, so etwas wie Treiber gibt es nicht. Gebaut habe ich mit der Arduino IDE für ein NodeMCU 1.0 (ESP-12E Modul). Das sollte bei Dir funktionieren. Das Problem wird wohl irgendwo in meinen Änderungen liegen.

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