Flusspegel: Unterschied zwischen den Versionen
Curt (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
Curt (Diskussion | Beiträge) (→Integration in FHEM: überflüssiges raus) |
||
Zeile 32: | Zeile 32: | ||
attr ElbePegelWittenberg event-on-update-reading Pegel | attr ElbePegelWittenberg event-on-update-reading Pegel | ||
attr ElbePegelWittenberg extractAllJSON 1 | attr ElbePegelWittenberg extractAllJSON 1 | ||
attr ElbePegelWittenberg stateFormat {sprintf("%.0f",ReadingsVal("ElbePegelWittenberg","Pegel",0))} | attr ElbePegelWittenberg stateFormat {sprintf("%.0f",ReadingsVal("ElbePegelWittenberg","Pegel",0))} | ||
attr ElbePegelWittenberg timeout 5 | attr ElbePegelWittenberg timeout 5 | ||
Zeile 46: | Zeile 42: | ||
define FileLog_ElbePegelWittenberg FileLog ./log/ElbePegelWittenberg-%Y.log ElbePegelWittenberg | define FileLog_ElbePegelWittenberg FileLog ./log/ElbePegelWittenberg-%Y.log ElbePegelWittenberg | ||
attr FileLog_ElbePegelWittenberg logtype text | attr FileLog_ElbePegelWittenberg logtype text | ||
</source> | </source> | ||
Zeile 53: | Zeile 48: | ||
<source lang="html"> | <source lang="html"> | ||
define SVG_FileLog_ElbePegelWittenberg SVG FileLog_ElbePegelWittenberg:SVG_FileLog_ElbePegelWittenberg:CURRENT | define SVG_FileLog_ElbePegelWittenberg SVG FileLog_ElbePegelWittenberg:SVG_FileLog_ElbePegelWittenberg:CURRENT | ||
</source> | </source> | ||
Version vom 19. Februar 2019, 21:49 Uhr
An dieser Seite wird momentan noch gearbeitet. |
Der Artikel "Flusspegel" (Autor: curt ]) beschreibt das Vorgehen zur Integration eines amtlichen deutschen Flusspegels in FHEM.
Etwas Theorie
Ein Pegel ist eine willkürliche amtliche Höhenfestlegung. Der Nullpunkt des Pegels sagt wenig über die reale Gewässertiefe. Pegelstände werden oft bei Hochwassersituationen interessant. Für die Vorhersage ist aber die sogenannte Abflussmenge (in Kubikmeter je Sekunde) eines höher gelegenen Pegels von Interesse. Pegelhöhen sind lediglich indirekte Indizien.
Datenlieferant
Es gibt mehrere Bundesämter, die die Daten der offiziellen deutschen Flusspegel vorhalten. Von Interesse sind die Daten der Wasserstraßen- und Schifffahrtsverwaltung des Bundes: Sie werden im json-Format bereitgestellt. Damit ist die Integration in FHEM problemlos möglich. Zudem kann Pegelonline mit 200 Millionen Abfragen im Jahr als stabiler, langfristig verfügbarer Dienst angesehen werden.
Pegeldaten finden
Einen konkreten amtlichen Pegel findet man, indem man im ersten Schritt die UUID des gewünschten Pegels in https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json herausfindet. Für den Pegel Elbe, Lutherstadt Wittenberg ist das die UUID "5c47b0ce-f33f-769b-1a02-89bf7772cb0d2878". Im zweiten Schritt wird die URL-Vorlage
https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/[UUID]/W/currentmeasurement.json
mit der gefundenen UUID konkretisiert. Im Ergebnis erhält man eine URL mit den Daten (mehr als nur die Pegelhöhe selbst) des gewünschten Pegels, beispielsweise für den Pegel Elbe, Lutherstadt Wittenberg, den man im Browser testweise aufruft:
https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/070b1eb4-3872-4e07-b2e5-e25fd9251b93/W/currentmeasurement.json
Da sich Flußpegel nicht sprunghaft ändern, sollte die Abfragehäufigkeit eine Stunde (3600) nicht unterschreiten.
Integration in FHEM
define ElbePegelWittenberg HTTPMOD https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/070b1eb4-3872-4e07-b2e5-e25fd9251b93/W/currentmeasurement.json 3600
attr ElbePegelWittenberg alias Pegel Wittenberg
attr ElbePegelWittenberg enableControlSet 1
attr ElbePegelWittenberg event-on-change-reading Pegel,stateMnwMhw,stateNswHsw,timestamp,trend
attr ElbePegelWittenberg event-on-update-reading Pegel
attr ElbePegelWittenberg extractAllJSON 1
attr ElbePegelWittenberg stateFormat {sprintf("%.0f",ReadingsVal("ElbePegelWittenberg","Pegel",0))}
attr ElbePegelWittenberg timeout 5
attr ElbePegelWittenberg userReadings Pegel { ReadingsVal("ElbePegelWittenberg","value",0) }
Ein dazugehöriges Logfile könnte so definiert sein:
define FileLog_ElbePegelWittenberg FileLog ./log/ElbePegelWittenberg-%Y.log ElbePegelWittenberg
attr FileLog_ElbePegelWittenberg logtype text
Die grafische Darstellung ließe sich dann so realisieren:
define SVG_FileLog_ElbePegelWittenberg SVG FileLog_ElbePegelWittenberg:SVG_FileLog_ElbePegelWittenberg:CURRENT
Eine vollständige Dokumentation der WebServices findet man unter https://www.pegelonline.wsv.de/webservice/guideRestapi .
Dank
Der Autor dieses Artikels dankt den Mitarbeitern des Informationstechnikzentrum Bund (ITZBund), die schnell, kompetent und freundlich Fragen beantworteten.