Unwetterwarnungen auf Webseiten anzeigen

Für die Internetseite der Freiwilligen Feuerwehr Schieder-Schwalenberg habe ich eine kleine Funktion geschrieben, die Unwetterwarnungen ausgibt. Besucher sind damit auf einen Blick darüber informiert, ob aktuell mit Einschränkungen oder Gefahren durch das Wetter zu rechnen ist.

Mein ursprünglicher Plan war, das Ganze relativ groß aufzuziehen. Man kann sich mittels FTP beim Deutschen Wetterdienst einloggen und sich dort eine Menge Daten beschaffen, unter anderem auch Warnmeldungen. Daraus könnte man, Zeit, Lust und Kenntnisse vorausgesetzt, ein wirklich tolles Unwetterwarnungs-Plugin schreiben. So wie ich sehe, gibt es so etwas bisher nämlich nicht und mindestens auf den Internetseiten von Feuerwehren und Co. wäre das eine interessante Sache.

Nun gut, dieser Ansatz wäre möglich, ist aber relativ komplex. Deutlich einfacher als die Dateien vom DWD sind RSS-Feeds zu verarbeiten. Beispielhaft wäre hier der Feed von deutscher-warndienst.de zu nennen, der die Daten ebenfalls vom DWD bezieht.

Ich wohne bekanntermaßen in Schieder-Schwalenberg, was im Kreis Lippe in NRW liegt. Damit sind für mich die Wetterwarnungen für dieses Gebiet von Interesse. Suche ich auf der Seite deutscher-warndienst.de nach meiner Postleitzahl lande ich auf dieser Seite und bekomme dort rechts angeboten, den RSS-Feed zu abbonnieren, um „ständig auf dem Laufenden“ zu bleiben. Fährt man über die Grafik sieht man, dass an die bereits bekannte Adresse nur ein Parameter angehangen wird, und man so die RSS-Ansicht erhält.

Genau die nutzen wir nun für die Verarbeitung in WordPress. Das Vorgehen ist dabei folgendes:

  • Wir holen uns den gesamten RSS-Feed
  • Schauen, ob überhaupt eine Warnung für unser Gebiet vorhanden ist
  • Wir holen uns den Text der ganzen Warnung
  • Teilen den auf und bereiten ihn so vor, wie wir das gerne hätten
  • Anschließend erzeugen wir eine Ausgabe mit Link zu deutscher-warndienst.de

 
In PHP und für WordPress übersetzt, bedeutet das folgendes:

<?php
   $url = "http://www.deutscher-warndienst.de/unwetter/nordrhein-westfalen/lippe?rss=1";

   $rss = @simplexml_load_file($url);

   $title = $rss->channel->item->title;
   if($title != "Keine Warnungen vorhanden.")
   {
      $warnungstext = $rss->channel->description;
      $teiltexte = explode("ausgegeben", $warnungstext);
      $warnung = $teiltexte[0];

      echo '<div id="wetterbox">';
      echo '<a href="'.$rss->channel->link.'" target="_blank" style="color:#000; font-weight:bold; font-size:14px;">';
      echo $warnung;
      echo '</a>';
      echo '</div>';
   }
?>

Die Ausgabe ist natürlich den individuellen Bedürfnissen anzupassen. Das hier entspricht den Anforderungen der Feuerwehr-Webseite, was zu folgender Ausgabe führt:

Freiwillige Feuerwehr Schieder Schwalenberg

Wer den Feed und die Ausgabe auf der Webseite genauer betrachtet, der wird ein kleines Manko dieser Lösung erkennen. Es wird nur die erste von mehreren Warnmeldungen ausgegeben. Nun gibt es zwar oft nur eine Warnmeldung, aber davon kann man nicht immer ausgehen.

Insofern: Wer das hier weiterentwickeln möchte, ist herzlich eingeladen das zu tun.

Florian Meier

Florian Meier

Florian Meier ist ausgebildeter Mediengestalter und hat sich selbst digitale Fotografie und Webentwicklung beigebracht. Er hat Druck- und Medientechnik studiert und ist wohl das, was man Digital Native nennt. Sein Geld verdient er mit Medien, aktuell als E-Business Print Manager bei der Longo Deutschland GmbH in Augsburg. In diesem Blog schreibt er über private Basteleien und Meinungen.

3 Gedanken zu „Unwetterwarnungen auf Webseiten anzeigen“

  1. Hallo,

    sehr Interessante Idee bzw. Umsetzung.

    An welcher Stelle hast du das ganze implementiert in WordPress?

    Ich würde es gerne in eine Seite integrieren, weiß aber nicht genau wie?

    1. Hallo Sascha!
      In meinem Fall hat es Einzug in die header.php des Themes gefunden, andere Stellen wären aber auch denkbar.

      Hilft dir das weiter oder bist du nicht so ganz tief im Thema drin?

      Gruß
      Florian

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.