NEWS
Gedanken zur Feinstaubmessung
-
@Homoran Möglich ist das durchaus. Mein Sensor ist auch ein nach Luftdaten.info gebastelter, aber sowohl bei Luftdaten in der Karte wie auch bei Opensense.
In wie weit andere Ihre Sensoren auf beiden Portalen registriert haben weiss ich nicht. Die Sensorsoftware von Luftdaten bietet ja Opensense in der Config mit an. -
@Beliar_666 danke!
Wenn die Hardware identisch ist erklären sich jedoch nicht die Unterschiede in den Werten, außer die Messungen werden zu unterschiedlichen Zeitpunkten an die beiden Portale gesendet. -
Die Sensemap gefällt mir schon besser. Die Farbe scheint anzuzeigen, ob die Station aktuelle Daten liefert und soll anscheinend nicht eine Feinstaubbelastung aufzeigen.
Habe einige Stationen angeschaut. Bei den meisten werden noch T und H gemessen.
Leider kann man in der Karte nicht erkennen mit welchen Sensoren das gemacht wurde. Um eine differenziertere Analyse zu betreiben wären diese Infos schon hilfreich. Eigentlich müßte das alles in einer Stationsbeschreibung hinterlegt sein.
In der API-Beschreibung gibt es Beispiele aus denen man schließen kann, daß der Sensortyp übertragen werden kann. -
@klassisch sagte in Gedanken zur Feinstaubmessung:
Leider kann man in der Karte nicht erkennen mit welchen Sensoren das gemacht wurde.
Also von denen selbst wird in deren Bausätzen der SDS011 angeboten. Und programmiert wird das ganze wohl per Blockly soweit ich das auf der Seite sehe.
Meine Opensense Daten:
-
@Beliar_666 sagte in Gedanken zur Feinstaubmessung:
@klassisch sagte in Gedanken zur Feinstaubmessung:
Leider kann man in der Karte nicht erkennen mit welchen Sensoren das gemacht wurde.
Also von denen selbst wird in deren Bausätzen der SDS011 angeboten. Und programmiert wird das ganze wohl per Blockly soweit ich das auf der Seite sehe.
Meine Opensense Daten:
Ich habe mich gerade ein wenig mit deren API beschäftigt.
Gehe auf die Karte und wähle die Station deiner Wahl an.
Dann kopierst du aus dem Browser ganz hinten im Adressfeld die 24stellige IDDiese gibst du dann hier hinter ein:
https://api.opensensemap.org/boxes/Dann erhältst du ein json:
{"_id":"5dd2e6674ec04e001aa48f9e","createdAt":"2019-11-18T18:43:51.156Z","updatedAt":"2019-12-31T10:27:20.580Z","name":"station","currentLocation":{"timestamp":"2019-11-18T18:43:51.152Z","coordinates":[6.962196,50.882374],"type":"Point"},"exposure":"outdoor","sensors":[{"title":"PM10","unit":"µg/m³","sensorType":"SDS 011","icon":"osem-cloud","_id":"5dd2e6674ec04e001aa48fa3","lastMeasurement":{"value":"24.95","createdAt":"2019-12-31T10:27:20.543Z"}},{"title":"PM2.5","unit":"µg/m³","sensorType":"SDS 011","icon":"osem-cloud","_id":"5dd2e6674ec04e001aa48fa2","lastMeasurement":{"value":"10.65","createdAt":"2019-12-31T10:27:20.543Z"}},{"title":"Temperatur","unit":"°C","sensorType":"BME280","icon":"osem-thermometer","_id":"5dd2e6674ec04e001aa48fa1","lastMeasurement":{"value":"5.26","createdAt":"2019-12-31T10:27:20.543Z"}},{"title":"rel. Luftfeuchte","unit":"%","sensorType":"BME280","icon":"osem-humidity","_id":"5dd2e6674ec04e001aa48fa0","lastMeasurement":{"value":"67.25","createdAt":"2019-12-31T10:27:20.543Z"}},{"title":"Luftdruck","unit":"Pa","sensorType":"BME280","icon":"osem-barometer","_id":"5dd2e6674ec04e001aa48f9f","lastMeasurement":{"value":"102973.00","createdAt":"2019-12-31T10:27:20.543Z"}}],"model":"luftdaten_sds011_bme280","lastMeasurementAt":"2019-12-31T10:27:20.543Z","loc":[{"geometry":{"timestamp":"2019-11-18T18:43:51.152Z","coordinates":[6.962196,50.882374],"type":"Point"},"type":"Feature"}]}
Da steht alles drin
Und ja, es ist der selbe Sensor wie bei luftdaten.info, die Werte differieren anscheinend wirklich nur wegen unterschiedlicher Aktualisierungszeit der API.
Im MOment sind sie identisch
-
Auf deinem Screenshot sieht man noch weitere Feinstaubsensoren.
ich habe mir mal den Spaß gemacht diese zu suchen:- Plantower PMS verschiedene Versionen (nur PM2.5??) von 9€ - 40€ je nach Händler
- Honeywell PM (2.5) 16,50 (Aliexpress)
- PPD42NS 4-20€
- Sensirion SPS 30 um 55€
Bei den ersten drei kann ich mir nicht vorstellen, dass diese "besser" messen. Der Preis des Sensirion schreckt natürlich für einen bloßen Testkauf erst einmal ab.
-
Klasse, @Homoran , das geht! Und da sind auch die verwendeten Sensoren drin. Das gefällt mir.
Wie hast Du Daten in Deine Objekte bekommen?
Diese Plattform sieht doch schon ganz odentlich aus. Mit diesen Daten kann man schon etwas mehr anfangen.Rajko von Luftdaten.info hat schon auf meine Mail geantwortet.
Er hat gesagt, seit 2018 veröffentliche der DWD recht engmaschig Feuchtewerte, die man ja selbst zu Rate ziehen könne.
Habe ihn mal um den Link dazu gebeten. Das wäre was. Denn die nächte mir bekannte DWD Wetterstation ist >10 km weg und hat wohl ein anderes Kleinklima. Wenn es da jetzt eine nähere DWD-Feuchtestation gäbe, dann könnte ich vielleicht auch etwas mehr Ordnung in meinen Chor von Feuchtesensoren bringen. Seit gestern singt noch ein SHT35 mit - hat sich bisher aber noch keiner der vorhandenen Stimmen angeschlossen.Habe Rajko auch gebeten das Thema "next Level" bzw. Weiterentwicklung in den Führungskreis zu tragen.
Wir werden sehen.
In der Zwischenzeit können wir ja Opensense nutzen.
Da könnte man ja auch seine Werte von ioBroker aus abliefern - wenn man ein passendes Skript oder Adapter hätte. -
@klassisch sagte in Gedanken zur Feinstaubmessung:
Feuchtewerte, die man ja selbst zu Rate ziehen könne
Bei mir sind es nur wenige 100 Meter zu meinem Feuchtemesser:
Ich denke aber, dass man hier den Einfluss um 15:00 gestern gut sieht
@klassisch sagte in Gedanken zur Feinstaubmessung:
Wie hast Du Daten in Deine Objekte bekommen?
Im Moment noch nur den PM10 über den Parser.
Wenn ich dann das json in einen DP bekomme würde ich ein Blockly schreiben um alle Daten auszulesen.Ich warte hier noch auf eine Erleuchtung
https://forum.iobroker.net/topic/28189/gelöst-wie-datei-per-skript-herunterladen/4 -
@Homoran Dazu finde ich das https://www.w3schools.com/js/js_json_parse.asp , was mir aber auch nicht so viel hilft.
Aber wenn es schon ein Skript gibt, das luftinfo melken kann, dann müßte das doch auch auf opensensemap anpassbar sein?
-
@klassisch Geht bestimmt - aber ich nutze solche Gelegenheiten immer um mich selber tiefer in die Materie (hier:javascript) einzuarbeiten und will verstehen wie das geht.
Wenn ich hier nur etwas zu laut rufe wird unser Skriptexperte in Minuten die Lösung zeigen
Ich will aber nur die Hilfe beim ersten Schritt -
@Homoran sagte in Gedanken zur Feinstaubmessung:
Wenn ich hier nur etwas zu laut rufe wird unser Skriptexperte in Minuten die Lösung zeigen
Das hast Du auch verdient!
Ich will aber nur die Hilfe beim ersten Schritt
Könnte in die höheren Weihen einführen: Dynamische Datenstrukturen. Oder sind die Datensätze alle gleich lang?
Guten Rutsch ind Neue Jahr! -
@klassisch sagte in Gedanken zur Feinstaubmessung:
Das hast Du auch verdient!
Aber ich will es doch können.
Er hat mir jetzt tatsächlich nur den Tritt in die richtige Richtung gegeben und ich habe die ersten Ergebnisse;
Es gibt aber anscheinend keinen Parser-Block, der wäre aber nötig weil diese Frage
@klassisch sagte in Gedanken zur Feinstaubmessung:
sind die Datensätze alle gleich lang?
Leider mit NEIN! zu beantworten ist.
Aber ich gebe nicht auf, habe schon eine Idee - das wird aber dauernDie Nacht ist ja etwas länger -
GUTEN RUTSCH!
Hier geht es langsam in die etwas heißere Phase
In unserer vergreisten Siedlung nicht so schlimm, wie in der 20 Jahre jüngeren Siedlung -
@Homoran sagte in Gedanken zur Feinstaubmessung:
und ich habe die ersten Ergebnisse;
Respekt!
sind die Datensätze alle gleich lang?
Leider mit NEIN! zu beantworten ist.
Ich habe es befürchtet. Dynamische Datenstrukturen...
Hier ist noch alles recht ruhig. Die Bodennebel bzw. Dunst haben bisher mehr bewirkt.
Das ist halt Rand der Bebauungszone. -
@klassisch
Das schlimmste ist vorbei
ich musste die Skala gewaltig erhöhen.
Leider ist die Datenrate zu Anfang zu niedrig gewesen.In der Zwischenzeit habe ich am Skript gespielt. @Paul53 würde wahrscheinlich vor Lachen von dem Stuhl fallen. Aber ich bekomme die ersten gewünschten Ergebnisse:
War zu groß - siehe Anhang
Sensemap-Blockly.txtIch muss nur noch die Datenpunkte anlegen und die Daten da hineinschaufeln.
Im Moment kommen sie nur im log -
Meine Messwerte um den Jahreswechsel
-
Hier war es anscheinend nicht so wild. Übertrage derzeit allerdings nur alle 10 min. Dynamische Datenrate, wie es z.B. bei T und H, habe ich noch nicht implementiert.
Gut, eben Ortsrandlage, ländlich, sparsam und heute etwas Wind.
Nicht so heftig wie in der Stadt und kürzer - und zeitversetzt, Peak ist um 01:30.
@Homoran, da hast Du ja die Zeit ganz gut genutzt und bist ganz schön weit gekommen.
Was mich bei der ioBroker Philosophie generell immer wieder stört: Adapter oder JS können Objekte nur in ihrem eigenen Subdirectory erzeugen. Dadurch werden die Daten nach Ursprung verteilt statt nach Inhalt. Wenn die Objekte dann mal (manuell) angelegt sind, können sie von JS auch in andere directories geschrieben werden. -
Erst einmal ein Frohes Neues Jahr euch allen.
@klassisch sagte in Gedanken zur Feinstaubmessung:
und zeitversetzt, Peak ist um 01:30.
Bist du sicher, dass du die richtige Zeitzone auf dem Server hast?
@klassisch sagte in Gedanken zur Feinstaubmessung:
Adapter oder JS können Objekte nur in ihrem eigenen Subdirectory erzeugen.
Bei Adaptern ist das gewollt, bei js im Moment noch ein Bug. Soweit ich das weiß funktioniert create State nicht außerhalb des namespace von JavaScript.
Mit der Einführung von 0_Userdaten.0 sollte natürlich diese Struktur auch nutzbar sein.@klassisch sagte in Gedanken zur Feinstaubmessung:
da hast Du ja die Zeit ganz gut genutzt und bist ganz schön weit gekommen
Das war eine typische Fleißarbeit nach dem Motto geht nicht gibts nicht.
Werde mich heute an eine kürzere Version machen, wollte mich immer schon in Funktionen und automatisiertem createState einarbeiten, aber ich werde die States dann auch unter JavaScript anlegen müssen. -
@Homoran sagte in Gedanken zur Feinstaubmessung:
Erst einmal ein Frohes Neues Jahr euch allen.
Danke, und an alle zurück!
Bist du sicher, dass du die richtige Zeitzone auf dem Server hast?
Hatte ich natürlich gleich geprüft. FLOT Charts enden zur aktuellen Uhrzeit. Die Uhr im info Adapter paßt und der Win 10 host sowieso.
Bei Adaptern ist das gewollt,
ich finde es trotzdem unpraktisch
bei js im Moment noch ein Bug. Soweit ich das weiß funktioniert create State nicht außerhalb des namespace von JavaScript.
Ja, das ist leider so.
Mit der Einführung von 0_Userdaten.0 sollte natürlich diese Struktur auch nutzbar sein.
Ach? Und warum erst jetzt? Ich verwende von Anfang an ein "data.0" Verzeichnis und halte das für sinnvoll und praktisch. Muß ich jetzt alles umarbeiten? Und dann fängt das mit 0 an, das lehnen meine ESP-Eigenbausensoren glaube ich ab. Also data.0 ist doch vieeel einfacher und praktischer,
Ich habe übrigens noch einen Peak gekommen. Aber den ordne ich dem Nebel zu. Wir hatten eine Suppe heute morgen wie ich es nur selten erlebt habe. Stellenweise sah man nicht einmal den Fahrbahnrand.
-
@klassisch sagte in Gedanken zur Feinstaubmessung:
Ach? Und warum erst jetzt?
Muß ich jetzt alles umarbeiten? Und dann fängt das mit 0 an, das lehnen meine ESP-Eigenbausensoren glaube ich ab. Also data.0 ist doch vieeel einfacher und praktischer,Nein, das sollte natürlich auch da gehen.
Aber ich habe das Issue nicht weiter verfolgt, weil ich von js viel zu wenig versteheich glaube es bezieht sich ausschließlich auf CreateState
Setstate habe ich immer schon (mit Blockly) in meine eigene Struktur (Messwerte.0) geschriebenAber das muss dir ein Wissender erklären.
-
@Homoran sagte in Gedanken zur Feinstaubmessung:
ich glaube es bezieht sich ausschließlich auf CreateState
Ja, das funktioniert nich, weshalb ich die Objekte immer manuell anlege
Setstate habe ich immer schon (mit Blockly) in meine eigene Struktur (Messwerte.0) geschrieben
Funktioniert bei meinen (sehr rudimentären) JS Skripten auch auf mein data.0 Verzeichnis.