Angestoßen durch eine aktuelle Diskussion zur V4 habe ich mich daran erinnert, dass ich schon immer mal eine Funktion implementieren wollte, die meine Lüftungsanlage im Eigenheim und im Ferienhaus abschaltet, wenn eine offizielle Warnung des BBK (Bundesamt für Bevölkerungsschutz und Katastrophenhilfe) dazu rät.
Beispiel:
Jetzt gerade gibt es eine entsprechend Warnung in Warstein (Warstein habe ich zufällig ausgewählt, weil dort gerade eine entsprechende Warnung anliegt):
Das BKK bietet eine API zu seinen Meldungen an : Die NINA API.
https://nina.api.bund.dev/
Dieser Dienst / Diese Datenbank scheint mir gut geeignet, weil sie mehrere Quellen (Katwarn, MoWaS, D.Wetterdienst,etc) bündelt. Wenn Ihr andere Vorschläge oder Empfehlungen habt, dann gerne her damit.
Ich scheitere aber aktuell noch an der regionalen Zuordnung der Warnungen.
Was meine ich mit regionaler Zuordnung: Der Dienst MoWaS (Modulares Warnsystem des BBK - Link) liefert zu seinen Warnungen beispielsweise eine Polygon-Beschreibung mit GeoKoordinaten, die das betroffene Gebiet umreißen. Wenn ich nur eine solche Information nehme, müsste ich im TWS ja dann prüfen, ob die Koordinaten meines Objektes in der Problemregion liegen...das ist meines Erachtens recht aufwändig und aktuell (V3.0 RC4) nicht direkt im TWS machbar, sondern nur über Zusatzdienste wie z.B. NodeRed.
Bei der NINA API kann man sich jedoch alle Meldungen der verbundenen Dienste für eine sogenannte Amtliche Gebietskennziffer (ähnlich PLZ) abfragen - Meldeübersicht nach AGS. Dabei hat dann das NINA-System nach meinem Verständnis schon die Betroffenheit von Gebiete zu der betroffen Geo-Koordination-Flächenpolygon erledigt. Aber auch das klingt einfacher als es dann in der Realität ist.
Unser Ferienhaus steht in Büsum -> AGS = 010515178013. Der Informationsdiesnt der NINA API "Meldeübersicht nach AGS" lässt aber lediglich die Abfrage nach den ersten 5 Stellen der Gebietskennziffer zu und man muss die detaillierenden Kreiskennzifferen (die letzten 7 Stellen der AGS) mit Nullen auffüllen. Dadurch entstehend teilweise riesige Gebiete, zu denen man Meldungen abfragt. Ich reduziere meinen Request also auf 01051* und erhalte Warnungen und Meldungen für 100!!! Landkreise.
In den Infosätzen der NINA API "Meldeübersicht nach AGS" ist jedoch ein komplexes Datenfeld "area"enthalten, welches dann vielleicht eine genaue Zuordnung zu lässt. Dafür poste ich hier jetzt mal den JSON-Schnippsel zu der oben genannte, aktuellen Meldung aus Warstein:
Warstein hat die Amtliche Gebietskennziffer 059740044044, im Request habe ich also 059740000000 angegeben.
Zunächst erhält man folgende Übersicht, mit aktuell drei Meldeeinträgen:
Code: Alles auswählen
[
{
"id": "mow.DE-NW-BN-SE030-20220407-30-001",
"payload": {
"version": 2,
"type": "ALERT",
"id": "mow.DE-NW-BN-SE030-20220407-30-001",
"hash": "cdf19b1ec70babb99decfad59501b96322dc3f1b8a43c1a364822be786c71fc5",
"data": {
"headline": "Coronavirus: Informationen des Bundesministeriums für Gesundheit",
"provider": "MOWAS",
"severity": "Minor",
"msgType": "Update",
"transKeys": {
"event": "BBK-EVC-040"
},
"area": {
"type": "ZGEM",
"data": "1+11057,100001"
}
}
},
"i18nTitle": {
"de": "Coronavirus: Informationen des Bundesministeriums für Gesundheit"
},
"sent": "2022-04-07T12:30:19+02:00"
},
{
"id": "mow.DE-NW-D-SE020-20220504-20-000",
"payload": {
"version": 2,
"type": "ALERT",
"id": "mow.DE-NW-D-SE020-20220504-20-000",
"hash": "0fb8df40f21a01b19fc5177d282205ae2cf42d78d8329ccc5b511b0b9c33276c",
"data": {
"headline": "Coronavirus: Informationen des Landes Nordrhein-Westfalen",
"provider": "MOWAS",
"severity": "Minor",
"msgType": "Update",
"transKeys": {
"event": "BBK-EVC-081"
},
"area": {
"type": "ZGEM",
"data": "3243+395,100001"
}
}
},
"i18nTitle": {
"de": "Coronavirus: Informationen des Landes Nordrhein-Westfalen"
},
"sent": "2022-05-04T19:19:01+02:00"
},
{
"id": "mow.DE-NW-SO-SE089-20220510-89-000",
"payload": {
"version": 2,
"type": "ALERT",
"id": "mow.DE-NW-SO-SE089-20220510-89-000",
"hash": "6d76feced7a2712c93c99b34648d6958f850b7e066489a0b963bea4e7fd136ea",
"data": {
"headline": "Rauchgase in Großraum Warstein Sichtigvor",
"provider": "MOWAS",
"severity": "Minor",
"msgType": "Alert",
"transKeys": {
"event": "BBK-EVC-077"
},
"area": {
"type": "GRID",
"data": "217161+5,217774+5,218386+7,218999+7,219613+6,220226+5,220841+1,500001"
}
}
},
"i18nTitle": {
"de": "Rauchgase in Großraum Warstein Sichtigvor"
},
"sent": "2022-05-10T12:29:11+02:00"
}
]
Code: Alles auswählen
[
{
"id": "mow.DE-NW-SO-SE089-20220510-89-000",
"payload": {
"version": 2,
"type": "ALERT",
"id": "mow.DE-NW-SO-SE089-20220510-89-000",
"hash": "6d76feced7a2712c93c99b34648d6958f850b7e066489a0b963bea4e7fd136ea",
"data": {
"headline": "Rauchgase in Großraum Warstein Sichtigvor",
"provider": "MOWAS",
"severity": "Minor",
"msgType": "Alert",
"transKeys": {
"event": "BBK-EVC-077"
},
"area": {
"type": "GRID",
"data": "217161+5,217774+5,218386+7,218999+7,219613+6,220226+5,220841+1,500001"
}
}
},
"i18nTitle": {
"de": "Rauchgase in Großraum Warstein Sichtigvor"
},
"sent": "2022-05-10T12:29:11+02:00"
}
]
Code: Alles auswählen
"area": {
"type": "GRID",
"data": "217161+5,217774+5,218386+7,218999+7,219613+6,220226+5,220841+1,500001"
}
Hat jemand eine Idee, wie ich nun aus den Area-Angaben auf den Landkreis der AGS 059740044044 für Warstein schließen kann?
Der nächste Schritt ist dann natürlich das Filtern ob eine Warnmeldung für mein Gebiet auch zur Folge hat, dass die Fenster geschlossen und Lüftungsanlagen ausgeschaltet werden müssen. Das scheint mir eine Fleißarbeit zu sein...bei MoWaS sind das zum Beispiel (nicht abschließend) der Eventcode 077 und Verhaltenscode 026...aber das ist dann der nächste Schritt