NEWS
[Gelöst] Wasserpegelstände
-
Hallo,
hat schon jemand eine Möglichkeit gefunden bestimmte Pegelstände von der Webseite auszulesen?
https://www.pegelonline.wsv.de/webservi … ement=true
Gruß Marco
-
Vieleicht so:
`var request = require('request'); var url = 'https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json?includeTimeseries=true&includeCurrentMeasurement=true'; request(url, function(err, stat, body) { if(err) log('Error: ' + err, error); else if(body) { var pegelonline; var stand; pegelonline = JSON.parse(body); for(var i = 0; i < pegelonline.length; i++) { if(pegelonline[i].shortname == 'BERLIN-PLOETZENSEE OP') { stand = pegelonline[i].timeseries[0].currentMeasurement.value; } } log('Pegel: ' + stand); } });` [/i][/i]
-
Danke Paul. Ich hab nichts anderes von dir erwartet. Funktioniert prima.
Gruß Marco
-
Wie wäre es denn inzwischen mit dem Parser-Adapter?
-
Hallo Apollon,
das habe ich bereits probiert. Würde mich interessieren, wie du bei dem Fluss "ILM" den Pegelstand parsen tust.
Gruß Marco
P.S. Für die Foscam habe ich per Parser schon den State Record geholt. Das war kein Problem. \s<record>(.+)</record>
-
Hallo Marco,
ich würde nicht den Parser-Adapter verwenden. Die Seite liefert doch Daten in einwandfreiem JSON-Format.
Ruf sie auf (https://www.pegelonline.wsv.de/webservi … ement=true) und Suche nach 'ILM',
dann kannst du sehen, dass der in Pauls Skript verwendete "shortname" eigentlich der Punkt nach "number" (166640) ist in deinem Fall den Wert ILMENAU haben sollte.
Gruß
Pix
PS: Nutzen eigentlich viele (ioBroker Nutzer) diese Seite?
-
Hi Pix,
ich werde es jetzt auch mit ioBroker nutzen. Bisher habe ich es in fhem gelogt und dargestellt.
Tipp: Wenn man eh nur den Pegelstand braucht, kann man auch die UUID der Messstelle in den link einfügen:
Beispiel für die Donau in Ingolstadt https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/824a046b-9ca3-4db8-993d-e755122854e0/W/currentmeasurement.json
UUID für Ingolstadt laut deinem link: "uuid": "824a046b-9ca3-4db8-993d-e755122854e0"
Beispiel für die Ilm in Ilmenau:
https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/003200ab-d138-49d9-aa52-217817941f85/W/currentmeasurement.jsonGruß BA2000
-
@Marcolotti @BA2000 @pix @larsdecker ?
Hi,
es gibt doch den Adapter iobroker.pegelonline, da hat zumindest mal Lars angefangen... -
Hallo,
ich bin total neu bei dem Thema iobroker. Ich habe mit dem obrigem Script probiert einen Pegelstand zu bekommen und habe nur Fehler.
Gibt es inzwischen ein bessere Variante?
Gruß
-
@AlteEnte
der user @bazidibavaria hat einen Adapter für PegelAlarm geschrieben. Damit hat er Zugriff auf sämtliche Pegel Deutschlands, Österreich, Schweiz etc.
Vielleicht hilft das!