Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. DWD Adapter - Modifizieren für Auflösung Gemeinden?

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    459

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

DWD Adapter - Modifizieren für Auflösung Gemeinden?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
2 Beiträge 1 Kommentatoren 1.3k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Offline
    D Offline
    dwm
    schrieb am zuletzt editiert von
    #1

    Servus,

    ich habe gerade auf der Seite des DWD eine interessante Beschreibung eines "WFS" Dienstes gefunden …

    http://www.dwd.de/DE/wetter/warnungen_a ... onFile&v=2

    Im Grunde kann man die Wetterwarnungen auf Gemeindebasis abfragen, sowohl als Bild, als auch als XML oder JSON.

    Hab grade etwas experimentiert, mit dem Aufruf

    https://maps.dwd.de/geoserver/dwd/ows?s ... 172111%27)

    erhält man:

    ! { "type": "FeatureCollection", "totalFeatures": 3, "features": [{ "type": "Feature", "id": "Warnungen_Gemeinden.fid-41da0a5e_15d5b2d5ffc_480c", "geometry": { "type": "Polygon", "coordinates": [[[6.854347, 51.084607], [6.820931, 51.073513], [6.828339, 51.056378], [6.773913, 51.064462], [6.798142, 51.036982], [6.823121, 51.038557], [6.834904, 51.018578], [6.839252, 50.982512], [6.818349, 50.965211], [6.814996, 50.940875], [6.823938, 50.926992], [6.841227, 50.924576], [6.857899, 50.904548], [6.878066, 50.910576], [6.917799, 50.89255], [6.911754, 50.882869], [6.91798, 50.860817], [6.930764, 50.839276], [6.956805, 50.835633], [6.982252, 50.840551], [7.023078, 50.839192], [7.032761, 50.849061], [7.057782, 50.849149], [7.062588, 50.829764], [7.090368, 50.833186], [7.163219, 50.868467], [7.137477, 50.882946], [7.139383, 50.919237], [7.14517, 50.945226], [7.114339, 50.943359], [7.086736, 50.957928], [7.100483, 50.966896], [7.09578, 50.985313], [7.068983, 50.989723], [7.075967, 51.002017], [7.068278, 51.018733], [6.984916, 51.011275], [6.957072, 51.034955], [6.896984, 51.064375], [6.856213, 51.076522], [6.854347, 51.084607]]] }, "geometry_name": "THE_GEOM", "properties": { "AREADESC": "Köln", "NAME": "Stadt Köln", "WARNCELLID": 805315000, "IDENTIFIER": "2.49.0.1.276.DWD.PVW.1500473245453.40", "SENDER": "CAP@dwd.de", "SENT": "2017-07-19T14:08:00Z", "STATUS": "Actual", "MSGTYPE": "Alert", "SOURCE": "PVW", "SCOPE": "Public", "LANGUAGE": "de-DE", "CATEGORY": "Met", "EVENT": "VORABINFORMATION SCHWERES GEWITTER", "RESPONSETYPE": "Prepare", "URGENCY": "Future", "SEVERITY": "Severe", "CERTAINTY": "Observed", "EC_PROFILE": "2.1", "EC_LICENSE": "Geobasisdaten: Copyright Bundesamt für Kartographie und Geodäsie, Frankfurt am Main, 2013", "EC_II": "40", "EC_GROUP": "THUNDERSTORM", "EC_AREA_COLOR": "255 128 128", "EFFECTIVE": "2017-07-19T07:08:00Z", "ONSET": "2017-07-19T12:00:00Z", "EXPIRES": "2017-07-20T04:00:00Z", "SENDERNAME": "DWD / Nationales Warnzentrum Offenbach", "HEADLINE": "VORABINFORMATION UNWETTER vor SCHWEREM GEWITTER", "DESCRIPTION": "Ab heute Nachmittag bis in die Nacht zum Donnerstag hinein können SCHWERE GEWITTER mit lokal HEFTIGEM STARKREGEN bis 40 mm in kurzer Zeit, großem HAGEL mit Korngrößen bis 4 cm und SCHWEREN STURMBÖEN bis 100 km/h (55 kt, Bft 10), lokal ORKANARTIGEN BÖEN bis 115 km/h (62 kt, BFT 11) auftreten.", "INSTRUCTION": "Dies ist ein erster Hinweis auf erwartete Unwetter. Er soll die rechtzeitige Vorbereitung von Schutzmaßnahmen ermöglichen. Die Prognose wird in den nächsten 6 Stunden konkretisiert. Bitte verfolgen Sie die weiteren Wettervorhersagen mit besonderer Aufmerksamkeit.", "WEB": "http://www.wettergefahren.de", "CONTACT": "Deutscher Wetterdienst", "PARAMETERNAME": null, "PARAMATERVALUE": null, "ALTITUDE": 0, "CEILING": 9842.5197, "bbox": [6.773913, 50.829764, 7.163219, 51.084607] } }, { "type": "Feature", "id": "Warnungen_Gemeinden.fid-41da0a5e_15d5b2d5ffc_480d", "geometry": { "type": "Polygon", "coordinates": [[[6.854347, 51.084607], [6.820931, 51.073513], [6.828339, 51.056378], [6.773913, 51.064462], [6.798142, 51.036982], [6.823121, 51.038557], [6.834904, 51.018578], [6.839252, 50.982512], [6.818349, 50.965211], [6.814996, 50.940875], [6.823938, 50.926992], [6.841227, 50.924576], [6.857899, 50.904548], [6.878066, 50.910576], [6.917799, 50.89255], [6.911754, 50.882869], [6.91798, 50.860817], [6.930764, 50.839276], [6.956805, 50.835633], [6.982252, 50.840551], [7.023078, 50.839192], [7.032761, 50.849061], [7.057782, 50.849149], [7.062588, 50.829764], [7.090368, 50.833186], [7.163219, 50.868467], [7.137477, 50.882946], [7.139383, 50.919237], [7.14517, 50.945226], [7.114339, 50.943359], [7.086736, 50.957928], [7.100483, 50.966896], [7.09578, 50.985313], [7.068983, 50.989723], [7.075967, 51.002017], [7.068278, 51.018733], [6.984916, 51.011275], [6.957072, 51.034955], [6.896984, 51.064375], [6.856213, 51.076522], [6.854347, 51.084607]]] }, "geometry_name": "THE_GEOM", "properties": { "AREADESC": "Köln", "NAME": "Stadt Köln", "WARNCELLID": 805315000, "IDENTIFIER": "2.49.0.1.276.DWD.PVW.1500473245453.3", "SENDER": "CAP@dwd.de", "SENT": "2017-07-19T14:08:00Z", "STATUS": "Actual", "MSGTYPE": "Alert", "SOURCE": "PVW", "SCOPE": "Public", "LANGUAGE": "de-DE", "CATEGORY": "Met", "EVENT": "SCHWERES GEWITTER mit ORKANBÖEN, HEFTIGEM STARKREGEN und HAGEL", "RESPONSETYPE": "Prepare", "URGENCY": "Immediate", "SEVERITY": "Severe", "CERTAINTY": "Observed", "EC_PROFILE": "2.1", "EC_LICENSE": "Geobasisdaten: Copyright Bundesamt für Kartographie und Geodäsie, Frankfurt am Main, 2013", "EC_II": "48", "EC_GROUP": "THUNDERSTORM;WIND;RAIN;HAIL", "EC_AREA_COLOR": "255 0 0", "EFFECTIVE": "2017-07-19T14:08:00Z", "ONSET": "2017-07-19T13:05:00Z", "EXPIRES": "2017-07-19T14:30:00Z", "SENDERNAME": "DWD / Nationales Warnzentrum Offenbach", "HEADLINE": "Amtliche UNWETTERWARNUNG vor SCHWEREM GEWITTER mit ORKANBÖEN, HEFTIGEM STARKREGEN und HAGEL", "DESCRIPTION": "Von Westen ziehen Gewitter auf. Dabei gibt es orkanartige Böen mit Geschwindigkeiten bis 115 km/h (32m/s, 63kn, Bft 11) sowie heftigen Starkregen mit Niederschlagsmengen zwischen 25 l/m² und 40 l/m² pro Stunde und Hagel mit Korngrößen um 4 cm.", "INSTRUCTION": "ACHTUNG! Hinweis auf mögliche Gefahren: Bei Blitzschlag besteht Lebensgefahr! Es sind unter anderem verbreitet schwere Schäden an Gebäuden möglich. Bäume können entwurzelt werden und Dachziegel, Äste oder Gegenstände herabstürzen. Überflutungen von Kellern und Straßen sowie örtliche Überschwemmungen an Bächen und kleinen Flüssen sind möglich (Details: www.hochwasserzentralen.de). Es können zum Beispiel Erdrutsche auftreten. Schließen Sie alle Fenster und Türen! Sichern Sie Gegenstände im Freien! Halten Sie insbesondere Abstand von Gebäuden, Bäumen, Gerüsten und Hochspannungsleitungen! Vermeiden Sie möglichst den Aufenthalt im Freien!", "WEB": "http://www.wettergefahren.de", "CONTACT": "Deutscher Wetterdienst", "PARAMETERNAME": "Böen", "PARAMATERVALUE": "<115 [km/h]", "ALTITUDE": 0, "CEILING": 9842.5197, "bbox": [6.773913, 50.829764, 7.163219, 51.084607] } }, { "type": "Feature", "id": "Warnungen_Gemeinden.fid-41da0a5e_15d5b2d5ffc_480e", "geometry": { "type": "Polygon", "coordinates": [[[6.854347, 51.084607], [6.820931, 51.073513], [6.828339, 51.056378], [6.773913, 51.064462], [6.798142, 51.036982], [6.823121, 51.038557], [6.834904, 51.018578], [6.839252, 50.982512], [6.818349, 50.965211], [6.814996, 50.940875], [6.823938, 50.926992], [6.841227, 50.924576], [6.857899, 50.904548], [6.878066, 50.910576], [6.917799, 50.89255], [6.911754, 50.882869], [6.91798, 50.860817], [6.930764, 50.839276], [6.956805, 50.835633], [6.982252, 50.840551], [7.023078, 50.839192], [7.032761, 50.849061], [7.057782, 50.849149], [7.062588, 50.829764], [7.090368, 50.833186], [7.163219, 50.868467], [7.137477, 50.882946], [7.139383, 50.919237], [7.14517, 50.945226], [7.114339, 50.943359], [7.086736, 50.957928], [7.100483, 50.966896], [7.09578, 50.985313], [7.068983, 50.989723], [7.075967, 51.002017], [7.068278, 51.018733], [6.984916, 51.011275], [6.957072, 51.034955], [6.896984, 51.064375], [6.856213, 51.076522], [6.854347, 51.084607]]] }, "geometry_name": "THE_GEOM", "properties": { "AREADESC": "Köln", "NAME": "Stadt Köln", "WARNCELLID": 805315000, "IDENTIFIER": "2.49.0.1.276.DWD.PVW.1500473245453.10", "SENDER": "CAP@dwd.de", "SENT": "2017-07-19T14:08:00Z", "STATUS": "Actual", "MSGTYPE": "Alert", "SOURCE": "PVW", "SCOPE": "Public", "LANGUAGE": "de-DE", "CATEGORY": "Met", "EVENT": "STARKES GEWITTER", "RESPONSETYPE": "Prepare", "URGENCY": "Immediate", "SEVERITY": "Moderate", "CERTAINTY": "Observed", "EC_PROFILE": "2.1", "EC_LICENSE": "Geobasisdaten: Copyright Bundesamt für Kartographie und Geodäsie, Frankfurt am Main, 2013", "EC_II": "38", "EC_GROUP": "THUNDERSTORM;WIND;RAIN;HAIL", "EC_AREA_COLOR": "255 153 0", "EFFECTIVE": "2017-07-19T13:49:00Z", "ONSET": "2017-07-19T13:49:00Z", "EXPIRES": "2017-07-19T15:30:00Z", "SENDERNAME": "DWD / Nationales Warnzentrum Offenbach", "HEADLINE": "Amtliche WARNUNG vor STARKEM GEWITTER", "DESCRIPTION": "Es treten Gewitter auf. Dabei gibt es schwere Sturmböen mit Geschwindigkeiten bis 100 km/h (28m/s, 55kn, Bft 10) sowie Starkregen mit Niederschlagsmengen zwischen 15 l/m² und 25 l/m² pro Stunde und Hagel.", "INSTRUCTION": "ACHTUNG! Hinweis auf mögliche Gefahren: Örtlich kann es Blitzschlag geben. Bei Blitzschlag besteht Lebensgefahr! Vereinzelt können beispielsweise Bäume entwurzelt und Dächer beschädigt werden. Achten Sie besonders auf herabstürzende Äste, Dachziegel oder Gegenstände. Während des Platzregens sind kurzzeitig Verkehrsbehinderungen möglich.", "WEB": "http://www.wettergefahren.de", "CONTACT": "Deutscher Wetterdienst", "PARAMETERNAME": "Böen", "PARAMATERVALUE": "<100 [km/h]", "ALTITUDE": 0, "CEILING": 9842.5197, "bbox": [6.773913, 50.829764, 7.163219, 51.084607] } }], "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::4326" } }, "bbox": [6.773913, 50.829764, 7.163219, 51.084607] } !

    Man bekommt da also die Gemeindegrenzen als Polygon und die Wettersituation als "Properties".

    … sprich, man könnte damit den DWD Adapter für die Auflösung auf Gemeindebasis modifizieren. Mir persönlich käme das (im Landkreis-Norden) schon ganz gelegen, nicht immer die Warnungen zu sehen wenn im Landkreis-Süden ein Gewitter durchzieht ...

    Die Frage ist halt, ändert/erweitert man den bestehenden Adapter oder ist es schlauer, einen zweiten DWD Adapter aus dem jetzigen abzuleiten? Oder zusätzliche Daten einbauen? Oder????????

    Wie geht man das am schlauesten an?

    CU

    Werner

    1 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      dwm
      schrieb am zuletzt editiert von
      #2

      Proof of concept als javascript …

      ! ```
      `var debuglevel = 4;
      var debugchannel = 'info';
      ! function dwmlog( message, level, channel) {
      if (typeof channel === 'undefined') {
      channel = debugchannel;
      }
      if ( typeof level === 'undefined')
      {
      level = debuglevel;
      }
      if ( debuglevel >= level ) {
      log (message, channel );
      }
      }
      ! var AdapterId = "javascript.0";
      var ChannelId = "dwd";
      ! var forceInitStates = false;
      var numOfWarnings = 3;
      ! var url='https://maps.dwd.de/geoserver/dwd/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=dwd:Warnungen_Gemeinden&outputFormat=application/json&CQL_FILTER=WARNCELLID IN ('XXXAREAXXX')';
      var warncellid = 809175127;
      ! url=url.replace("XXXAREAXXX",warncellid);
      ! function createStates(n){
      for (var i=0; i<n; i++)/{/createstate(channelid+".warning."+i+".name","",forceinitstates,{type:/'string'});/createstate(channelid+".warning."+i+".text","",forceinitstates,{type:/createstate(channelid+".warning."+i+".headline","",forceinitstates,{type:/createstate(channelid+".warning."+i+".description","",forceinitstates,{type:/createstate(channelid+".warning."+i+".object","",forceinitstates,{type:/createstate(channelid+".warning."+i+".begin",0,forceinitstates,{type:/'number'});/createstate(channelid+".warning."+i+".end",0,forceinitstates,{type:/createstate(channelid+".warning."+i+".severity",0,forceinitstates,{min:0,/max:/4,/type:/'number',/states:["none","minor","moderate","severe","extreme"]});/createstate(channelid+".warning."+i+".urgency",0,forceinitstates,{min:0,/2,/states:["n/a","future","immediate"]});/createstate(channelid+".warning."+i+".category",0,forceinitstates,{min:0,/a","health","met"]});/createstate(channelid+".warning."+i+".eventcode",0,forceinitstates,{type:/createstate(channelid+".warning."+i+".color",0,forceinitstates,{type:/createstate(channelid+".warning."+i+".htmllong","",forceinitstates,{type:/}/**/parse/cap/profile/*/according/to/https:/werdis.dwd.de/tools/cap-dwd-profil.pdf/function/processcap(w)/this.name="w.NAME;" this.begin="new" date(w.onset).gettime();/this.end="new" date(w.expires).gettime();/this.text="w.EVENT;" this.headline="w.HEADLINE;" this.description="w.DESCRIPTION;" this.instruction="w.INSTRUCTION;" this.object="JSON.stringify(w);" switch/(w.severity)/case/"minor":/this.severity="1;" break;/"moderate":/"severe":/"extreme":/default:/(w.urgency)/"future":/this.urgency="1;" "immediate":/(w.category)/"health":/this.category="1;" "met":/cols="w.EC_AREA_COLOR.split("" ");/this.color="cols[0]*65536+cols[1]*256+cols[2]*1;" this.eventcode="parseInt(w.EC_II);" this.htmllong="<div style="background: #" +this.color.tostring(16)+'"="">';
      this.HTMLlong += '
      ! ### '+this.headline+'
      ! ';
      this.HTMLlong += '
      ! Zeitraum von: '+formatDate(this.begin,"DD.MM.YYYY hh:mm")+' bis: '+formatDate(this.end,"DD.MM.YYYY hh:mm")+"
      ! ";
      this.HTMLlong += '
      ! '+this.description+'
      ! ';
      this.HTMLlong += w.SENDERNAME;
      }
      ! function processData(data) {
      if (!data) {
      return;
      }

      var thedata = JSON.parse(data);
      var warnings= [];
      var warn = null;
      
      if (thedata.totalFeatures>0) {
          for (i=0; i<thedata.totalfeatures; 3/10/i++)/{/warn="new" processcap(thedata.features[i].properties);/dwmlog/(json.stringify(warn),4);/warnings.push(warn);/}/warnings.sort(function(a,b){/var/asort="a.urgency*1000+a.category*100+a.severity;" bsort="b.urgency*1000+b.category*100+b.severity;" return/bsort-asort;/});/dwmlog(json.stringify(warnings));/for/(i="0;" i<numofwarnings;/if/(i<warnings.length)/setstate(channelid+".warning."+i+".name",warnings[i].name);/setstate(channelid+".warning."+i+".text",warnings[i].text);/setstate(channelid+".warning."+i+".headline",warnings[i].headline);/setstate(channelid+".warning."+i+".description",warnings[i].description);/setstate(channelid+".warning."+i+".object",warnings[i].object);/setstate(channelid+".warning."+i+".begin",warnings[i].begin);/setstate(channelid+".warning."+i+".end",warnings[i].end);/setstate(channelid+".warning."+i+".severity",warnings[i].severity);/setstate(channelid+".warning."+i+".urgency",warnings[i].urgency);/setstate(channelid+".warning."+i+".category",warnings[i].category);/setstate(channelid+".warning."+i+".eventcode",warnings[i].eventcode);/setstate(channelid+".warning."+i+".color",warnings[i].color);/setstate(channelid+".warning."+i+".htmllong",warnings[i].htmllong);/else/setstate(channelid+".warning."+i+".name","");/setstate(channelid+".warning."+i+".text","");/setstate(channelid+".warning."+i+".headline","");/setstate(channelid+".warning."+i+".description","");/setstate(channelid+".warning."+i+".object","{}");/setstate(channelid+".warning."+i+".begin",0);/setstate(channelid+".warning."+i+".end",0);/setstate(channelid+".warning."+i+".severity",0);/setstate(channelid+".warning."+i+".urgency",0);/setstate(channelid+".warning."+i+".category",0);/setstate(channelid+".warning."+i+".eventcode",0);/setstate(channelid+".warning."+i+".color",0);/setstate(channelid+".warning."+i+".htmllong","");/function/requestdwd(){/request="require('request');" request({/uri:/url,/method:/"get",/timeout:/10000,/followredirect:/true,/maxredirects:/},/function(error,/response,/body)/dwmlog("dwd/error/"/+/error,2);/response:/json.stringify(response),4);/body:/body,4);/(error="==" null)/processdata(body);/createstates(numofwarnings);/requestdwd();/schedule/("*/*/*",/function(){/<e=""></thedata.totalfeatures;></n;>`
      

      ! ... leider sind hier ein Teil der Datenpunkte (severity, urgency, category) ... ich sag mal, eingeschränkt kompatibel.
      ! Andererseits fände ich eh hier eine Struktur besser, die mehrere Warncell-Id's (Also Gemeinden) unterstützt, man muss "nur" die Warncellid mit einer Komma-Separierten Liste übergeben ...
      ! Ich grübel mal weiter ...[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]

      1 Antwort Letzte Antwort
      0
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate
      FAQ Cloud / IOT
      HowTo: Node.js-Update
      HowTo: Backup/Restore
      Downloads
      BLOG

      637

      Online

      32.7k

      Benutzer

      82.5k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      logo
      • Anmelden

      • Du hast noch kein Konto? Registrieren

      • Anmelden oder registrieren, um zu suchen
      • Erster Beitrag
        Letzter Beitrag
      0
      • Home
      • Aktuell
      • Tags
      • Ungelesen 0
      • Kategorien
      • Unreplied
      • Beliebt
      • GitHub
      • Docu
      • Hilfe