Beschreibung
Logikbaustein für Wasserstand und Abfluss von Pegeln der Wasserstraßen- und Schifffahrtsverwaltung des Bundes (WSV) über die REST-API von PEGELONLINE. Bis zu 5 Pegel werden in einer Anfrage abgefragt. Jeder Pegel hat eine eigene Warnschwelle, die Hysterese gilt für alle Pegel gemeinsam. Geeignet ist das z. B. als Hochwasserwarnung für Keller, Garage oder Bootssteg.
Die API braucht keinen Key und keine Anmeldung.
- Gerät
- Gira HomeServer
- Version
- 0.1.0
- Lizenz
- Ein Schlüssel je HomeServer (MAC-Adresse), dauerhaft nutzbar
- Thema
- Daten aus dem Netz
Hinweis zur Schnittstelle: Der Baustein nutzt die Schnittstelle von PEGELONLINE (WSV). Ändert der Anbieter sie oder stellt sie ein, kann der Baustein eingeschränkt oder gar nicht mehr funktionieren, bis er angepasst ist. Wir passen ihn nach Möglichkeit an, einen Anspruch darauf gibt es nicht.
Anleitung
Besonderheiten beim HomeServer
- Die Pegel stehen in festen Eingängen (Pegel-ID, Bezeichnung, Warnschwelle je Pegel 1 bis 5), es gibt keinen Parameter „Anzahl Pegel“. Pegel ab dem ersten leeren Eintrag werden nicht abgefragt.
- „Warnung“, „Veraltet“ und „Eine Warnung aktiv“ sind
0/1. HTTPS läuft direkt über Python (urllib2), nicht über curl.
- Statt Parametern gibt es Eingänge mit Startwert. Auswahllisten des X1 sind Zahlen, Ja/Nein-Werte sind
0und1. - Der Lizenzschlüssel ist der letzte Text-Eingang. Ein neuer Wert an diesem Eingang wird sofort geprüft.
- Eine Prüfung des Schlüssels im Editor und eine Simulation gibt es nicht, der HomeServer prüft immer.
Funktionen und Anschlüsse
Logikbaustein von SMoLabs für Wasserstand und Abfluss von Pegeln der Wasserstraßen- und Schifffahrtsverwaltung des Bundes (WSV) über die REST-API von PEGELONLINE (https://www.pegelonline.wsv.de). Bis zu 5 Pegel werden in einer Anfrage abgefragt. Jeder Pegel hat eine eigene Warnschwelle. Die API braucht keinen Key.
Pegel werden über ihre UUID angegeben, zu finden in der Pegeltabelle von PEGELONLINE oder in der Stationsliste einer Wasserstraße, z. B. https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json?waters=ELBE (uuid und longname). Beispiel Elbe, Pegel Dresden: 70272185-b2b3-4178-96b8-43bea330dcae.
Abgefragt wird, wenn E1 einen Wert ungleich 0 bekommt. Die Pegel melden ihre Messwerte im 15-Minuten-Raster. Ein Trigger weniger als 5 Minuten nach der letzten Abfrage wird ignoriert („Debug“ nennt den Grund).
Der Wasserstand (W) wird in cm über dem Nullpunkt des jeweiligen Pegels gemessen, nicht über dem Meeresspiegel. Die Schwelle muss also je Pegel passend gewählt werden, am besten anhand der Kennwerte auf der Seite des Pegels bei PEGELONLINE, z. B. des mittleren Hochwassers (MHW).
Fehlerverhalten: Bei Verbindungsproblemen oder HTTP-Fehlern bleiben die Ausgänge auf dem letzten Stand, der Grund steht unter „Debug“. Eine unbekannte Pegel-ID beantwortet PEGELONLINE mit einer leeren Liste, „Debug“ nennt dann die nicht gefundene ID. Bei einer veralteten Messung ändert der Baustein die Warnung nicht: weder ein neuer Alarm noch eine Entwarnung aus alten Daten.
Datenquelle: WSV, Datenlizenz Deutschland – Zero – Version 2.0. Ungeprüfte Rohdaten ohne Gewähr für Richtigkeit, Aktualität und Vollständigkeit. Der Baustein darf nur als Zusatzinformation dienen und ersetzt keine amtliche Hochwasserwarnung.
Eingänge
| Nr. | Name | Init | Bedeutung |
|---|---|---|---|
| 1 | E1 Trigger | 0 | Ungleich 0: startet die Abfrage. Sinnvoll ist ein Trigger alle 15 Minuten. |
| 2 | E2 Pegel-ID 1 (UUID) | „“ | UUID des 1. Pegels. Pegel 1 muss gesetzt sein, weitere Pegel folgen ohne Lücke. |
| 3 | E3 Bezeichnung Pegel 1 | „“ | Name für den Ausgang „Name 1“. Leer = Name des Pegels laut WSV. |
| 4 | E4 Warnschwelle Pegel 1 in cm (0 = keine Warnung) | 0 | Wasserstand in cm, ab dem „Warnung 1“ eingeschaltet wird. 0 = keine Warnung. |
| 5 | E5 Pegel-ID 2 (UUID) | „“ | UUID des 2. Pegels. Pegel 1 muss gesetzt sein, weitere Pegel folgen ohne Lücke. |
| 6 | E6 Bezeichnung Pegel 2 | „“ | Name für den Ausgang „Name 2“. Leer = Name des Pegels laut WSV. |
| 7 | E7 Warnschwelle Pegel 2 in cm (0 = keine Warnung) | 0 | Wasserstand in cm, ab dem „Warnung 2“ eingeschaltet wird. 0 = keine Warnung. |
| 8 | E8 Pegel-ID 3 (UUID) | „“ | UUID des 3. Pegels. Pegel 1 muss gesetzt sein, weitere Pegel folgen ohne Lücke. |
| 9 | E9 Bezeichnung Pegel 3 | „“ | Name für den Ausgang „Name 3“. Leer = Name des Pegels laut WSV. |
| 10 | E10 Warnschwelle Pegel 3 in cm (0 = keine Warnung) | 0 | Wasserstand in cm, ab dem „Warnung 3“ eingeschaltet wird. 0 = keine Warnung. |
| 11 | E11 Pegel-ID 4 (UUID) | „“ | UUID des 4. Pegels. Pegel 1 muss gesetzt sein, weitere Pegel folgen ohne Lücke. |
| 12 | E12 Bezeichnung Pegel 4 | „“ | Name für den Ausgang „Name 4“. Leer = Name des Pegels laut WSV. |
| 13 | E13 Warnschwelle Pegel 4 in cm (0 = keine Warnung) | 0 | Wasserstand in cm, ab dem „Warnung 4“ eingeschaltet wird. 0 = keine Warnung. |
| 14 | E14 Pegel-ID 5 (UUID) | „“ | UUID des 5. Pegels. Pegel 1 muss gesetzt sein, weitere Pegel folgen ohne Lücke. |
| 15 | E15 Bezeichnung Pegel 5 | „“ | Name für den Ausgang „Name 5“. Leer = Name des Pegels laut WSV. |
| 16 | E16 Warnschwelle Pegel 5 in cm (0 = keine Warnung) | 0 | Wasserstand in cm, ab dem „Warnung 5“ eingeschaltet wird. 0 = keine Warnung. |
| 17 | E17 Hysterese in cm | 5 | Vorgabe 5, gilt für alle Pegel. Die Warnung geht erst aus, wenn der Wasserstand unter „Schwelle minus Hysterese“ fällt. Verhindert Flackern um die Schwelle. |
| 18 | E18 Messwert veraltet nach Minuten | 60 | Ist eine Messung älter als diese Minuten, gilt sie als veraltet (Vorgabe 60, mindestens 15). |
| 19 | E19 Lizenzschlüssel | „“ | Lizenzschlüssel für diesen HomeServer (von smolabs.de). Ohne gültigen Schlüssel bleibt der Baustein untätig. |
Ausgänge
| Nr. | Name | Init | Bedeutung |
|---|---|---|---|
| 1 | A1 Name 1 | „“ | Bezeichnung oder Name des Pegels 1. |
| 2 | A2 Gewässer 1 | „“ | Name des Gewässers, z. B. ELBE. |
| 3 | A3 Wasserstand 1 in cm | 0 | Aktueller Wasserstand (W) in cm. Fehlt eine Messung, bleibt der letzte Wert stehen und „Veraltet 1“ wird 1. |
| 4 | A4 Abfluss 1 in m³/s | 0 | Aktueller Abfluss (Q) in m³/s, 0 wenn der Pegel keinen Abfluss misst. |
| 5 | A5 Messzeit 1 | „“ | Zeit der Messung, TT.MM.JJJJ HH:mm (Ortszeit). |
| 6 | A6 Warnung 1 | 0 | 1, wenn der Wasserstand die Warnschwelle erreicht hat (bis er unter Schwelle minus Hysterese fällt). |
| 7 | A7 Veraltet 1 | 0 | 1, wenn die Messung älter als „Messwert veraltet nach“ ist oder fehlt. |
| 8 | A8 Zustand 1 (low/normal/high) | „“ | Einordnung laut WSV, wie PEGELONLINE sie liefert: low (niedrig), normal, high (hoch), unknown u. a. Leer, wenn keine Messung vorliegt. |
| 9 | A9 Name 2 | „“ | Bezeichnung oder Name des Pegels 2. |
| 10 | A10 Gewässer 2 | „“ | Name des Gewässers, z. B. ELBE. |
| 11 | A11 Wasserstand 2 in cm | 0 | Aktueller Wasserstand (W) in cm. Fehlt eine Messung, bleibt der letzte Wert stehen und „Veraltet 2“ wird 1. |
| 12 | A12 Abfluss 2 in m³/s | 0 | Aktueller Abfluss (Q) in m³/s, 0 wenn der Pegel keinen Abfluss misst. |
| 13 | A13 Messzeit 2 | „“ | Zeit der Messung, TT.MM.JJJJ HH:mm (Ortszeit). |
| 14 | A14 Warnung 2 | 0 | 1, wenn der Wasserstand die Warnschwelle erreicht hat (bis er unter Schwelle minus Hysterese fällt). |
| 15 | A15 Veraltet 2 | 0 | 1, wenn die Messung älter als „Messwert veraltet nach“ ist oder fehlt. |
| 16 | A16 Zustand 2 (low/normal/high) | „“ | Einordnung laut WSV, wie PEGELONLINE sie liefert: low (niedrig), normal, high (hoch), unknown u. a. Leer, wenn keine Messung vorliegt. |
| 17 | A17 Name 3 | „“ | Bezeichnung oder Name des Pegels 3. |
| 18 | A18 Gewässer 3 | „“ | Name des Gewässers, z. B. ELBE. |
| 19 | A19 Wasserstand 3 in cm | 0 | Aktueller Wasserstand (W) in cm. Fehlt eine Messung, bleibt der letzte Wert stehen und „Veraltet 3“ wird 1. |
| 20 | A20 Abfluss 3 in m³/s | 0 | Aktueller Abfluss (Q) in m³/s, 0 wenn der Pegel keinen Abfluss misst. |
| 21 | A21 Messzeit 3 | „“ | Zeit der Messung, TT.MM.JJJJ HH:mm (Ortszeit). |
| 22 | A22 Warnung 3 | 0 | 1, wenn der Wasserstand die Warnschwelle erreicht hat (bis er unter Schwelle minus Hysterese fällt). |
| 23 | A23 Veraltet 3 | 0 | 1, wenn die Messung älter als „Messwert veraltet nach“ ist oder fehlt. |
| 24 | A24 Zustand 3 (low/normal/high) | „“ | Einordnung laut WSV, wie PEGELONLINE sie liefert: low (niedrig), normal, high (hoch), unknown u. a. Leer, wenn keine Messung vorliegt. |
| 25 | A25 Name 4 | „“ | Bezeichnung oder Name des Pegels 4. |
| 26 | A26 Gewässer 4 | „“ | Name des Gewässers, z. B. ELBE. |
| 27 | A27 Wasserstand 4 in cm | 0 | Aktueller Wasserstand (W) in cm. Fehlt eine Messung, bleibt der letzte Wert stehen und „Veraltet 4“ wird 1. |
| 28 | A28 Abfluss 4 in m³/s | 0 | Aktueller Abfluss (Q) in m³/s, 0 wenn der Pegel keinen Abfluss misst. |
| 29 | A29 Messzeit 4 | „“ | Zeit der Messung, TT.MM.JJJJ HH:mm (Ortszeit). |
| 30 | A30 Warnung 4 | 0 | 1, wenn der Wasserstand die Warnschwelle erreicht hat (bis er unter Schwelle minus Hysterese fällt). |
| 31 | A31 Veraltet 4 | 0 | 1, wenn die Messung älter als „Messwert veraltet nach“ ist oder fehlt. |
| 32 | A32 Zustand 4 (low/normal/high) | „“ | Einordnung laut WSV, wie PEGELONLINE sie liefert: low (niedrig), normal, high (hoch), unknown u. a. Leer, wenn keine Messung vorliegt. |
| 33 | A33 Name 5 | „“ | Bezeichnung oder Name des Pegels 5. |
| 34 | A34 Gewässer 5 | „“ | Name des Gewässers, z. B. ELBE. |
| 35 | A35 Wasserstand 5 in cm | 0 | Aktueller Wasserstand (W) in cm. Fehlt eine Messung, bleibt der letzte Wert stehen und „Veraltet 5“ wird 1. |
| 36 | A36 Abfluss 5 in m³/s | 0 | Aktueller Abfluss (Q) in m³/s, 0 wenn der Pegel keinen Abfluss misst. |
| 37 | A37 Messzeit 5 | „“ | Zeit der Messung, TT.MM.JJJJ HH:mm (Ortszeit). |
| 38 | A38 Warnung 5 | 0 | 1, wenn der Wasserstand die Warnschwelle erreicht hat (bis er unter Schwelle minus Hysterese fällt). |
| 39 | A39 Veraltet 5 | 0 | 1, wenn die Messung älter als „Messwert veraltet nach“ ist oder fehlt. |
| 40 | A40 Zustand 5 (low/normal/high) | „“ | Einordnung laut WSV, wie PEGELONLINE sie liefert: low (niedrig), normal, high (hoch), unknown u. a. Leer, wenn keine Messung vorliegt. |
| 41 | A41 Eine Warnung aktiv | 0 | 1, wenn mindestens eine Warnung eingeschaltet ist. |
| 42 | A42 Höchster Wasserstand in cm | 0 | Höchster Wasserstand der Pegel mit aktueller Messung in cm. |
| 43 | A43 Letzte Abfrage | „“ | Zeit der letzten erfolgreichen Abfrage (deutsche Zeit), TT.MM.JJJJ HH:mm:ss. |
| 44 | A44 JSON | „“ | Alle gefundenen Pegel als JSON-Liste (id, name, gewaesser, wasserstand_cm, abfluss_m3s, messzeit, warnung, veraltet, zustand). Fehlt eine Messung, steht dort null. |
| 45 | A45 Lizenzstatus | „“ | Ergebnis der Lizenzprüfung, z. B. „Lizenz gültig (2026-000123)“. |
| 46 | A46 Debug | „“ | Ergebnis bzw. Fehler der letzten Abfrage. |
Lizenz
Der Lizenzschlüssel wird am letzten Text-Eingang des Bausteins eingetragen. Der Baustein prüft ihn auf dem HomeServer, offline und gebunden an die MAC-Adresse des HomeServers. Der Ausgang „Lizenzstatus“ zeigt das Ergebnis, bei einem Schlüssel für ein anderes Gerät auch die MAC-Adresse dieses HomeServers. Ohne gültigen Schlüssel bleibt der Baustein untätig. Den Schlüssel erhältst du beim Kauf über smolabs.de. Ein Schlüssel für den X1 schaltet keinen HomeServer-Baustein frei und umgekehrt.
Changelog
Version 0.1.0
- Erste Version für den HomeServer auf Basis der X1-Bausteine | SMoLabs.





Rezensionen
Es gibt noch keine Rezensionen.