im Osten Österreichs gab es heute eine Sturmwarnung der ZAMG / GeoSphere Austria. Eine gute Gelegenheit deren API zu testen und auf dieser Basis ein Plugin zu erstellen.
Die Docu der "Warn API" ist hier zu finden https://openapi.hub.geosphere.at/warnapi/v1/
Eine Lösung mittels Node-Red von @maxw hier https://www.loxforum.com/forum/faqs-...xone-einbinden
Mein Ziel ist es, mit Python die "Warn API" abzufragen, wobei die geographischen Koordination (Breiten- und Längengrad) als Parameter übergeben werden. Das Ergebnis der Abfrage wird über MQTT weitergegeben.
Beispiel Url
https://warnungen.zamg.at/wsapp/api/getWarningsForCoords?lon=16.328&lat=48.233&lang=de
warnstufeid: 1=yellow, 2=orange, 3=red
warntypid : 1=storm, 2=rain, 3=snow, 4=black ice, 5=thunderstorm, 6=heat, 7=cold
Logs
GET request: Status code 200
aWarningType 1 , Stufe 1 , Text Gelbe Windwarnung von So, 10.03.2024 10:00 bis So, 10.03.2024 18:00
aTopic test/GeoSphereAustriaWarnings , aResultJson {'Timestamp': '16:08:09', 'Gewitter': 0, 'Hagel': 0, 'Hitze': 0, 'Sturm': 1, 'Regen': 0, 'Glatteis': 0, 'Kälte': 0}
MQTT: Try to connect to MQTT Broker: 192.168.1.43
MQTT get_mqtt_client done
ERROR:root:MQTT: MQTT disconnected
MQTT disconnected done
GET request: Status code 200
aWarningType 1 , Stufe 1 , Text Gelbe Windwarnung von So, 10.03.2024 10:00 bis So, 10.03.2024 18:00
aTopic test/GeoSphereAustriaWarnings , aResultJson {'Timestamp': '17:08:19', 'Gewitter': 0, 'Hagel': 0, 'Hitze': 0, 'Sturm': 1, 'Regen': 0, 'Glatteis': 0, 'Kälte': 0}
MQTT: Try to connect to MQTT Broker: 192.168.1.43
MQTT get_mqtt_client done
ERROR:root:MQTT: MQTT disconnected
MQTT disconnected done
GET request: Status code 200
aTopic test/GeoSphereAustriaWarnings , aResultJson {'Timestamp': '18:08:29', 'Gewitter': 0, 'Hagel': 0, 'Hitze': 0, 'Sturm': 0, 'Regen': 0, 'Glatteis': 0, 'Kälte': 0}
MQTT: Try to connect to MQTT Broker: 192.168.1.43
MQTT get_mqtt_client done
ERROR:root:MQTT: MQTT disconnected
MQTT disconnected done