NEWS
Gedanken zur Feinstaubmessung
-
MOD-Edit:
**Dieses ist eine Abspaltung des Threads zu Problemen mit dem Luftdaten-AdapterHier geht es um allgemeine Überlegungen und Möglichkeiten die Feinstaub Immissionen sinnvoll zu messen**
@Homoran sagte in wrong type of...:
Issue beim Luftdaten-Adapter ist erstellt.
[Teil-OT]
Betreibst Du einen eigenen Feinstaub-Sensor oder holst Du Dir die Daten aus der Cloud?
Vor letzterem würde ich warnen. Ich betreibe einen eigenen, basierend auf dem SDS011. Und der ist bei H>70% out of Spec und zeigt dort wahrscheinlich zu hohe Werte an. Dennoch schicken die verteilten Feinstaubfreunde diese unzuverlässigen Daten weiter ins Netz. So etwas ist meiner Meinung nach irgendwas zwischen unseriös, irreführend oder Schlimmeren.
Deshalb habe ich mein Gerät mit einem T-/H-Sensor gekoppelt und logge die Daten nur für H<70% und -10°C<=T>=50°C mit.
Das führt dann auch dazu, daß ich seit dem 16.12.19 keine neuen Werte mehr bekommen habe. Natürlich kann ich welche manell abfragen, das sieht dann aber so aus:Feinstaub PM10: 12.00 µg/m^3; PM2,5 :10.80 µg/m^3 !!! ACHTUNG Feinstaubwerte ungueltig - T oder H out of Spec
Aufgezeichneit wird in den "out of spec" Zeiten bei mir nichts.
Und man sieht recht gut, daß die Feinstaubwerte kurz vor und nach dem Aussetzen nach oben gehen. -
@klassisch sagte in wrong type of...:
holst Du Dir die Daten aus der Cloud?
im Moment noch aus der cloud.
Die Teile sind in D doch relativ teuer. Meine Meinung zu Ali kennst du ja.@klassisch sagte in wrong type of...:
Dennoch schicken die verteilten Feinstaubfreunde diese unzuverlässigen Daten weiter ins Netz
Danke für die Warnung - der DHT scheint bei den Stationen nicht mit verbaut zu sein, dann muss ich das über meine Außen-H-Werte korrigieren
ich habe jetzt aktuell nur deswegen damit angefangen um mal zu sehen, wie es über Sylvester wieder hoch geht
Hier sind zwei Stationen in der Nähe, jede "in der Nähe" einer anderen Autobahn und eine in dem Ex-Schutzgebiet der Shell -
@Homoran sagte in wrong type of...:
Danke für die Warnung - der DHT scheint bei den Stationen nicht mit verbaut zu sein, dann muss ich das über meine Außen-H-Werte korrigieren
Die DHT gehören auch nicht zu den besseren Sensoren. Ich habe an dieser Stelle einen SHT31. Und zwar so, daß man ihn einfach austauschen kann. Im Freien leiden die Feuchtesensoren leider etwas.
ich habe jetzt aktuell nur deswegen damit angefangen um mal zu sehen, wie es über Sylvester wieder hoch geht
Das wollte ich letztes Jahr auch. Allerdings war Sylvester 2018 ebenfalls zu feucht, so daß ich keine Daten übermittelt und gespeichert habe. So wie es aussieht wird es dieses Jahr wieder so. Und wenn es regnet oder nebelt, wird ein großer Teil der Partikel gebunden und weggespült. Nach einem Regen ist ja bekanntlich die Fernsicht sehr gut.
Hier sind zwei Stationen in der Nähe, jede "in der Nähe" einer anderen Autobahn und eine in dem Ex-Schutzgebiet der Shell
Wenn das offizielle Stationen sind, kann das anders aussehen. Da muß man in D zwar den Aufstellungsort genauer anschauen, aber die zugelassenen Stationen sollten Trockner vorgeschaltet haben. Aber Trocknen ohne den Meßwert zu verfälschen ist auch nicht so einfach. Ich habe das vor langer Zeit bei Prozeßgasen beruflich gemacht. Aber hier und heute hätte ich nicht die Meßmittel, um nachzuweisen, daß die Trocknung nichts verfälscht. Deshalb logge ich in den out of spec Zeiten einfach nicht mit. Und die Luftdaten-Freunde mit den Billigdingern sollten das meiner Meinung auch nicht tun. Und schon gar nicht irgendwelche Langzeitauswerungen. Und so lange sie es dennoch tun, bleibt da ein "Geschmäckle" von - s.o.
-
@klassisch sagte in wrong type of...:
Wenn das offizielle Stationen sind,
Nee, das sind luftinfo-Stationen.
Es gibt eine offizielle Station von der Site des Umweltbundesamts - etwa 3 km weg weg.Zum abrufen der UBA-Stationen gibt es ein Skript hier im Forum
-
[/Teil-OT]
Gerade mal nachgeschaut: SDS011- Reichelt 30 EUR
- Pollin 30 EUR heute (26.12.) noch praktisch versandkostenfrei
- Banggood (seriös und nimmt PayPal) 18.04 EUR
- ebay 272657389015 aus China, 19 EUR
- Der Vollständigkeit halber: ali (823 verkauft, 224 Reviews, sieht also seriös aus) 15.83
Dazu empfehle ich einen ESP32 weil der 2 Serielle Schnittstellen hat.
-
@klassisch
Das hatte ich gestern schon durch, hatte noch Völkner, Eckstein und EXP-Tech als Lieferanten, bei denen ich ab und zu kaufe.Banggood war für mich erste Wahl mit Lager GB (solange das noch EU ist )
[Heute nur noch CN Warehouse]Ich wollte dann "ein paar" ESP8266 mitnehemen, daber da waren gestern nur noch 4 - heute 3 und der Preis aus UK ist mit 6,xx doch nicht unbedingt günstig
Kann ich für den ESP32 den gleichen Sketch nehmen wie für den 8266?
EDIT: Sehe gerade dass bei Berrybase (LINK bei Luftdaten.info (https://www.berrybase.de/bauelemente/sensoren-module/gas-staub/nova-fitness-sds011-feinstaub-sensor-inkl.-usb-adapter) der sds011 auch nicht zu teuer, und das ganze Set für knapp 36€ zu bekommen ist
-
@Homoran Die Luftleute machen das mit dem ESP8266 und haben einen eigenen Sketch, der die Daten bei denen auf der Website abliefert. So war das zumindest als ich mir das angeschaut habe.
Der ESP8266 hat aber nur eine HW-Serial, die man gemeinhin als Diagnose/Programming etc. nutzt. Deshalb nutzen die Luftleute eine SW-Serial, was wohl auch im Großen Ganzen funktioniert und mit 9600Bd ist der Sensor auch langsam genug.
Ich hatte das mal mit einem Fingerprintsensor eine SW Serial eingesetzt, was mir aber tricky in Erinnerung blieb. Vielleicht weil das einer meiner ersten Versuche mit dem ESP8266 war.
Deshalb habe ich was mit dem ESP32 gemacht - wollte ohnehin mal was mit dem ESP32 machen. Verwendet habe ich https://github.com/sensebox/SDS011-select-serial forked from https://github.com/sensebox/SDS011-select-serial forked from https://github.com/ricki-z/SDS011 was man wohl mit HWSerial und SWSerial betreiben kann. Und angeblich https://github.com/ricki-z/SDS011/blob/master/library.properties kann man das mitarchitectures=esp8266,avr,esp32
betreiben. Bei ESP32 mit HW-Serial.
Das habe ich in meinen Monstersketch hineneingequetscht und kann so auch T-H Messen - mit BME280 oder SHT31.
Übertragen werden die Daten direkt an ioBroker über simpleApi. -
@klassisch
Ich werde da ganz bestimmt auf dich zukommen wenn ich meinen eigenen Sensor bauen will.In der Zwischenzeit logge ich die Werte zweier Stationen der Luftinfo und einer des UBA:
Auch die rH logge ich mit
Danke fürs Anschubsen
-
@Homoran gerne, auch wenn das bei mir schon wieder einige Zeit her ist. März 2018 war wohl der letzte Compilerlauf, Sensor kam Ende Februar 2018 an.
Habe heute den Sketch noch so modifiziert, daß ich alternativ CO2 messen kann, wenn denn der MH-Z19 Sensor mal ankommt.
Offizielle Meßstationen gibt es 3 in ca. 20 bis 25km Entfernung, Zwei nach Norden, wobei eine davon direkt an einer Staustraße ist, die andere an einer strak befahrenen Bundesstraße und eine nach Süden hin, an einer mäßig befahrenen Bundesstraße. Die paßt für mich eher, hat auch einen realistischeren Abstand zur Straße.
Ist das das passende Skript zum Auslesen https://forum.iobroker.net/post/303043 ?
https://forum.iobroker.net/post/303043 -
@klassisch sagte in wrong type of...:
Ist das das passende Skript zum Auslesen
Ja!
Du musst einmal die Abfrage der Stationen manuell machen und "deine" Station irgendwie finden. Da dann die ID raussuchen und in dem Skript eintragen.
-
@Homoran Habe ich gemacht, funktioniert aber nicht wirklich. Die Messwerte sind 1 Tag alt und kommen im Bundle und ein Messwert wird als "null" geschickt.
Frage ich die Station manuell über die Webseite des LandesUmweltamtes ab, kommen die Daten im Klartext auf der Webseite eingebettet an. Also man kann sie als Mensch lesen und es gibt alle Meßwerte, die die Station kann. einigermaßen aktuell. Jetzt, um 11:40 werden die 11:00 Werte angezeigt.
Von der Bundesamt-Seite gezogen kommen die Werte von gestern und das auch noch lückenhaft.
Wahrscheinlich gibt es da einen Großrechner Nachtlauf, der die Daten vom Vortag überträgt.
Das Suchen der Station ging am besten so: Über die Karte eine Station picken und dann gabs bei mir irgendwann die Site des Landesamtes. Dort kann man auch auf Diagramm klicken und dann weren Meßstelleninformationen angezeigt. Darunter eine EU-Kennung.
Dann öffnet man den Suchlink, der im Skript referenziert ist, wartet ewig und sucht dann nach dieser EU-Kennung. Dann sieht man auch die Zahl. -
@klassisch
Das ist mir noch nicht aufgefallen!Habe mich gestern wegen der Skalierung der Flot-Achsen ein wenig mit dem BImSchG beschäftigt.
Die angegeben Grenzen beziehen sich immer auf das maximale Tagesmittel, das wiederum maximal x mal im Jahr überschritten werden darf und einem maximalen Jahresmittel.Deshalb erstelle ich jetzt auch einen fließenden Mittelwert über den Tag und trage diesen zum Tagesende in einen anderen Datenpunkt ein.
Daher ergibt es schon einen Sinn, wenn nur das Tagesmittel angegeben wird. Das geht natürlich erst am Folgetag.
Ich sehe mir das gleich nochmal an!
Hatte auch schon versucht die Seite des UBA über den parser zauszulesen . auf die Schnelle ohne Erfolg -
@Homoran Neinein, bekommen kein Tagesmittel. Ich bekomme 10 Arrays mit gestrigem Datum und zwar von 00:00 bis 09:00 Uhr. In den Arrays stecken nochmals Arrays drin und da drin Daten. Ich vergleiche das mal mit dem Format der "633" aus dem Thread.
-
-
@Homoran Also bei mir hat die "633" ein ähnlicher Format wie meine. Und auch die Daten sind ein Tag alt. Irgendwas mache ich also falsch.
-
@klassisch
Nur das wir vom gleichen reden.Hier das Skript:
In Zeile 7 steht ein Link.
Diesen aufrufen - und ja, das dauert ewig - dann in der Liste (ARRAY) die Nummer deiner Station suchen.
Dazu uf der Karte des UmweltBUNDESamtes https://www.umweltbundesamt.de/daten/luft/luftdaten/luftqualitaet/eJzrWJSSuMrIwNBS19BI18h8UUnmIkODRXmpCw0XFZcsNjIyWZziVoRQYLA4JSQfWX1uFcei3OSmxTmJJacdPPxn1vE1PF6ck5d-2kFxFf-EabvnAQCejCSuDeine Station suchen und den Stationsnamen in dem Array suchen.
Die dort befindliche Stationsnummer im Skript in Zeile 16 eintragen
-
Bin ein wenig weiter.
Habe noch die Seite vom LANUV (Landesamt für Natur, Umwelt und Verkehr, NRW) über den Parser ausgelesen.
Hier neben PM10 auch die Werte für NO2 und O3, was das Skript über die API vom UBA auch ermittelt.Langsam glaube ich an nichts mehr:
Da passt nichts zusammen
-
@Homoran So, jetzt habe ich auch wieder her gefunden. Ja, bei mir passt das auch nicht. Die Webseite des Landes sagt etwas anderes als das Skript.
Habe jetzt das Skript neu geladen - und er holt wieder Werte von gestern.
Vielleicht mittelt das Skript, ich habe es nicht verstanden. Ausserdem zeigt es nicht alle Werte an.
Wie hast Du die Seite Deines Landes geparst?
Ich habe mal als Beispiel die Meßstation in der Nähe des ioBroker Headquarter genommen. Da gibt es z.B. diese "Karlsruhe Reinhold Frank-Straße":https://www.umweltbundesamt.de/daten/luft/luftdaten/luftqualitaet
https://www.lubw.baden-wuerttemberg.de/luft/messwerte-immissionswerte#karte
Aber da muß man noch irgendwelche Menues bedienen. Das wird wohl nichts.
-
@klassisch
habe mich gerade zdurch den Code gewühlt und @piForscher in dem Thread zum Skript angepingt:
https://forum.iobroker.net/topic/6777/luftdate-info-per-skript-einlesen/26Ich sehe mir mal deine Links an, ob ich da was machen kann.
Auch in der Website des LANUV muss man den Quelltext des Tabellen-Frames analysieren. -
@klassisch sagte in Gedanken zur Feinstaubmessung:
Wie hast Du die Seite Deines Landes geparst?
Nachdem ich die Seiten des Landesamts BaWü gesehen habe muss ich sagen ich habe Glück:
https://www.lanuv.nrw.de/umwelt/luft/immissionen/aktuelle-luftqualitaetIm linken Menü dann den Parameter auswählen und mit der rechten Maustaste in der Tabelle den frame-Quelltext anzeigen.
Da kann man dann parsen.z.B. PM10:
Frame-Link: https://www.lanuv.nrw.de/fileadmin/lanuv/luft/immissionen/aktluftqual/eu_pm10_akt.htm
RegEx:RODE<\/td><td class="eins">[<\d]*<\/td><td class="zwei">([<\d]*)<