Warnungen von warnung.bund.de in FHEM einbinden

Begonnen von oesi, 02 Februar 2016, 19:32:26

Vorheriges Thema - Nächstes Thema

oesi

Hallo,

ich bin immer noch beim Ausloten der Möglichkeiten, die FHEM bietet. Das UWZ modul bietet ja schon mal eine gute Möglichkeit an Wetterwarnungen zu kommen und damit etwas anzustellen. http://warnung.bund.de/ bietet auch Wetterwarnungen, Pegelstände aber auch andere Gefahren (z.B Bombenfunde/Entschärfungen).

Da beim suchen keine sinnvollen Erkenntnisse kamen, dachte ich, dass ich das mal hier eintrage und das Feedback anschaue. Selbst Umsetzen geht mangels Kenntnissen leider nicht! :-( Aber vielleicht findet es ja jemand genau so interessant, wie ich.

VG
Oesi

   

 

Markus M.

Am einfachsten geht das wahrscheinlich über Reverse Engineering der Mobile App, falls es jemand machen möchte.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Darkman

Moin,

da sind schonmal die URLs die wohl so ausgewertet werden koennen:
http://warnung.bund.de/bbk.config/config.json

Und hier findet man z.B. die aktuellen Gefahrenmeldungen (da ist gerade eine aus Essen):
http://warnung.bund.de/bbk.mowas/gefahrendurchsagen.json

An letzerer URL haengt eigentlich noch ein Timestamp dran (?_=unixtimestamp+3 Zahlen), wobei die 3 Zahlen vermutlich Microsekunden sind, aber es tut scheinbar auch ganz ohne.

Falls also jemand sowas als Startpunkt gesucht hat, bitte ;)

Gruss,
Sven

betateilchen

Die Wetterwarnungen kommen vom DWD, die kannst Du einfach mit dem fhem-Modul GDS bekommen.
Pegelstände lassen sich problemlos mit dem Modul HTTPMOD beschaffen.
Vermutlich wird das Abrufen der sonstigen Kategorien auf ähnliche Weise per HTTPMOD funktionieren (ungetestet)

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: Darkman am 02 Februar 2016, 21:56:40
Und hier findet man z.B. die aktuellen Gefahrenmeldungen (da ist gerade eine aus Essen):

lustig... der Inhalt des JSON strings erinnert mich sehr an den Inhalt und das Format der Unwettermeldungen vom Deutschen Wetterdienst. Da stehen fast die gleichen identifier drin.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

herrmannj

bgewehr hat ein modul geschrieben und im forum veröffentlicht das beliebige json quellen parst.

Sollte also vmtl damit gehen

vg
joerg

Init

Hallo zusammen,

konnte zwischenzeitlich jemand diesbezüglich etwas umsetzen?

VG
Marc

Florian_GT

Hallo zusammen,

ich hatte das Thema schon mal unter https://forum.fhem.de/index.php/topic,73019.msg696173.html#msg696173 begonnen, habe aber nie Zeit dafür gefunden, mich mal in die Entwicklung eines Modules einzuarbeiten. Ich habe nur einfache Perl Kentnisse. Wäre jetzt aber daran interessiert.

Ich fände es Cool das zu Entwickeln. Ich fände es cool, wenn sich vielleicht ein Mentor findet, der mir bei Fragen hilft und eine kleine Einführung gibt.
Dann könnte ich später auch das gelernte wiederum an einen anderen weitergeben.
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), Diverse Tasmota MQTT Devices, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera), Zigbee2MQTT, ESPEasy

Development: UBA (Umwelt Bundesamt), BFS (Bundesamt für Strahlenschutz)

CoolTux

Einfach einen Entwickler Deiner Wahl anschreiben und Fragen.
Zum einlesen kannst Du im Wiki das Developer Guide durcharbeiten und Dir mal kleine Module anschauen.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Christoph Morrison

Ich hab das, ein MoWas-Modul für FHEM, schon länger auf meiner Todo-Liste und auch bereits einige Vorarbeiten (Kontakt mit dem BBK, dem hiesigen Kreis als potenzieller Testpartner, generelle Dokumentation, etc.) geleistet.

Florian_GT

Zitat von: Christoph Morrison am 09 September 2018, 12:28:45
Ich hab das, ein MoWas-Modul für FHEM, schon länger auf meiner Todo-Liste und auch bereits einige Vorarbeiten (Kontakt mit dem BBK, dem hiesigen Kreis als potenzieller Testpartner, generelle Dokumentation, etc.) geleistet.

Wenn du willst, können wir da zusammen dran arbeiten. Ich bin ja auch beim FHEM Treffen in GT dabei. Vielleicht findet sich da Zeit, dann könnten wir uns da mal zusammensetzen...
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), Diverse Tasmota MQTT Devices, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera), Zigbee2MQTT, ESPEasy

Development: UBA (Umwelt Bundesamt), BFS (Bundesamt für Strahlenschutz)

Prof. Dr. Peter Henning

Sollte man in der Tat angehen. Ich bin gerne dabei.

LG

pah

Florian_GT

Zitat von: Prof. Dr. Peter Henning am 18 September 2018, 18:23:25
Sollte man in der Tat angehen. Ich bin gerne dabei.

LG

pah

Kannst du dir die Rechtliche Seite noch einmal ansehen? Dürfen wir die Daten von warnung.bund.de verwenden?

Gruß Florian
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), Diverse Tasmota MQTT Devices, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera), Zigbee2MQTT, ESPEasy

Development: UBA (Umwelt Bundesamt), BFS (Bundesamt für Strahlenschutz)

Prof. Dr. Peter Henning

#13
Ist nach Punkt 5 der Nutzungsbedingungen möglich, so lange die Inhalte nicht verändert und die Quelle angegeben werden. Diese Nutzungsbedingungen sind allerdings von 2015 und ziemlich veraltet.

Edit: Ich mach es mal mit der Beschreibung hier: https://github.com/DecentralizedAmateurPagingNetwork/Civilwarnings/issues/1

LG

pah

Prof. Dr. Peter Henning

#14
Also, der Spaß ist ganz einfach. Fangen wir an mit HTTPMOD - um die Struktur etwas besser zu verstehen. Mit

define BBK_Gefahr HTTPMOD https://warnung.bund.de/bbk.mowas/gefahrendurchsagen.json 3600
attr BBK_Gefahr userattr reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading04JSON reading04Name reading05JSON reading05Name reading06JSON reading06Name reading07JSON reading07Name reading08JSON reading08Name reading09JSON reading09Name reading10JSON reading10Name reading11JSON reading11Name reading12JSON reading12Name reading13JSON reading13Name reading14JSON reading14Name reading15JSON reading15Name reading16JSON reading16Name reading17JSON reading17Name reading18JSON reading18Name reading19JSON reading19Name reading20JSON reading20Name reading21JSON reading21Name reading22JSON reading22Name reading23JSON reading23Name reading24JSON reading24Name reading25JSON reading25Name reading26JSON reading26Name reading27JSON reading27Name reading28JSON reading28Name reading29JSON reading29Name reading30JSON reading30Name
attr BBK_Gefahr reading01JSON 01_info_01_headline
attr BBK_Gefahr reading01Name d01headline
attr BBK_Gefahr reading02JSON 01_info_01_area_01_areaDesc
attr BBK_Gefahr reading02Name d01place
attr BBK_Gefahr reading03JSON 01_info_01_severity
attr BBK_Gefahr reading03Name d01severity
attr BBK_Gefahr reading04JSON 02_info_01_headline
attr BBK_Gefahr reading04Name d02headline
attr BBK_Gefahr reading05JSON 02_info_01_area_01_areaDesc
attr BBK_Gefahr reading05Name d02place
attr BBK_Gefahr reading06JSON 02_info_01_severity
attr BBK_Gefahr reading06Name d02severity
attr BBK_Gefahr reading07JSON 03_info_01_headline
attr BBK_Gefahr reading07Name d03headline
attr BBK_Gefahr reading08JSON 03_info_01_area_01_areaDesc
attr BBK_Gefahr reading08Name d03place
attr BBK_Gefahr reading09JSON 03_info_01_severity
attr BBK_Gefahr reading09Name d03severity
attr BBK_Gefahr reading10JSON 04_info_01_headline
attr BBK_Gefahr reading10Name d04headline
attr BBK_Gefahr reading11JSON 04_info_01_area_01_areaDesc
attr BBK_Gefahr reading11Name d04place
attr BBK_Gefahr reading12JSON 04_info_01_severity
attr BBK_Gefahr reading12Name d04severity
attr BBK_Gefahr reading13JSON 05_info_01_headline
attr BBK_Gefahr reading13Name d05headline
attr BBK_Gefahr reading14JSON 05_info_01_area_01_areaDesc
attr BBK_Gefahr reading14Name d05place
attr BBK_Gefahr reading15JSON 05_info_01_severity
attr BBK_Gefahr reading15Name d05severity
attr BBK_Gefahr reading16JSON 06_info_01_headline
attr BBK_Gefahr reading16Name d06headline
attr BBK_Gefahr reading17JSON 06_info_01_area_01_areaDesc
attr BBK_Gefahr reading17Name d06place
attr BBK_Gefahr reading18JSON 06_info_01_severity
attr BBK_Gefahr reading18Name d06severity
attr BBK_Gefahr reading19JSON 07_info_01_headline
attr BBK_Gefahr reading19Name d07headline
attr BBK_Gefahr reading20JSON 07_info_01_area_01_areaDesc
attr BBK_Gefahr reading20Name d07place
attr BBK_Gefahr reading21JSON 07_info_01_severity
attr BBK_Gefahr reading21Name d07severity
attr BBK_Gefahr reading22JSON 08_info_01_headline
attr BBK_Gefahr reading22Name d08headline
attr BBK_Gefahr reading23JSON 08_info_01_area_01_areaDesc
attr BBK_Gefahr reading23Name d08place
attr BBK_Gefahr reading24JSON 08_info_01_severity
attr BBK_Gefahr reading24Name d08severity
attr BBK_Gefahr reading25JSON 09_info_01_headline
attr BBK_Gefahr reading25Name d09headline
attr BBK_Gefahr reading26JSON 09_info_01_area_01_areaDesc
attr BBK_Gefahr reading26Name d09place
attr BBK_Gefahr reading27JSON 09_info_01_severity
attr BBK_Gefahr reading27Name d09severity
attr BBK_Gefahr reading28JSON 10_info_01_headline
attr BBK_Gefahr reading28Name d10headline
attr BBK_Gefahr reading29JSON 10_info_01_area_01_areaDesc
attr BBK_Gefahr reading29Name d10place
attr BBK_Gefahr reading30JSON 10_info_01_severity
attr BBK_Gefahr reading30Name d10severity


holt sich die Kiste alle 60 Minuten die 10 ersten Gefahrenmeldungen und schreibt Überschrift, Ort und Schwere der Gefahr in die Readings dxxheadline, dxxplace, dxxseverity. Wer die komplette Struktur verstehen will, sollte einfach das Attribut extractAllJSON auf 1 setzen und sieht danach Tonnen von Daten.

An einem Modul wird nichts vorbeiführen, weil erstens die obige Definition ziemlich viel Tipparbeit ist, zweitens wir nicht sicher sein können, ob sich unsere Stadt unter den ersten 10 befindet und drittens sowieso eine Nachbearbeitung nötig ist.

Dafür kann man sich das ziemlich brandneue Modul 36_Shelly.pm ansehen - da sind Routinen drin, die zyklisch aufgerufen werden und ein HTTP GET absetzen, sowie das Ergebnis als JSON parsen. Damit kann man sich alle X Minuten den vollen Datensatz holen. Und dann nur im JSON - natürlich umgewandelt in ein Hash - nach dem eigenen Ortsnamen/Kreisnamen suchen und daraus ein Reading bauen. Arbeitsaufwand ca. 2-3 Stunden.

LG

pah