Wettervorhersage von Wunderground

Wettervorhersage von Wunderground
wunderground.com

Nachdem mein Beitrag „Wetterdaten von Wunderground“ bei vielen Lesern auf großes Interesse gestoßen ist und es dazu viele Anregungen gab, möchte ich mich heute einem Programm für die Wettervorhersage von Wunderground zuwenden.

Das Skript stammt ursprünglich aus dem HomeMatic-Forum. Es wertet mittels HomeMatic-Script eine XML-Datei von wunderground.com aus und schreibt die gefundenen Inhalte in Systemvariablen.

Update 30.07.18: Wunderground vergibt inzwischen keine API-Keys mehr.

Wunderground schreibt dazu auf der Website: „To improve our services and enhance our relationship with our users, we will no longer provide free weather API keys as part of our program. If you have been directed to download our Weather Underground free API key by a third party provider, please contact your vendor for resolution.“

Wer sich ein bisschen in HomeMatic-Script eingelesen hat, kann sehr einfach auch weitere Daten aus dem XML-File in Systemvariable schreiben oder evtl. auch an der Datenaufbereitung „schrauben“ um die Wettervorhersage von Wunderground für die Steuerung von HomeMatic-Komponenten zu nutzen.

Hinweis: Ich gehe davon aus, dass du CUxD bereits installierst hast! Falls dies noch nicht geschehen ist, findest du hier eine Anleitung.

Hier in aller Kürze, wie du das Script zum Laufen bringst:

  • Einen Account bei wunderground.com anlegen und einen API-Key erstellen, eine detaillierte Anleitung dazu findest du hier.
  • Alle 7 Systemvariablen anlegen, Schreibweise und Feldtyp bitte beachten. Achtung: Beim kleinsten Schreibfehler, oder wenn du eine Systemvariable vergisst anzulegen, läuft das Script NICHT!
  • Im Script deinen API-Key und die von dir präferierte Wetterstation in der URL-Zeile eintragen. Am besten dir zusammengebaute URL zum Test direkt im Browser ausprobieren. Hast du alles richtig gemacht, erscheint beim Testen ein kompletter XML-File deiner präferierten Wetterstation im Browser.
  • Anschliessend ein Programm (siehe unten) erstellen und das Script an entsprechende Stelle kopieren, um die Wettervorhersage von Wunderground in Systemvariablen zu schreiben.

Wettervorhersage von Wunderground

Wettervorhersage von Wunderground

Der XML-Datenstrom der Wettervorhersage von Wunderground enthält die Vorhersage für den aktuellen Tag und die kommenden drei Tage. Am Anfang des Skriptes kannst du den gewünschten Tag über „period x“ definierten. „period 2“ liefert z.B. die Wettervorhersage für den nächsten Tag. Falls du die Daten für eine grafische Anzeige nutzen willst, kannst du die mitgelieferte URL für das Wettersymbol nutzen.

Falls du auch die aktuellen Wetterdaten in deiner HomeMatic-Installation verarbeiten möchtest, findest du alles dazu Notwendige in meinem Betrag „Wetterdaten von Wunderground„.

Autor: Erhard Simdorn

Am 1. September 2014 habe ich mir meine erste CCU2 gekauft und war von den Möglichkeiten der Hausautomation sofort begeistert. Am 22. November 2014 folgte dann die zweite CCU2 für einen weiteren Standort und bis heute sind es schon acht CCU2 für die ich der "Auslöser" war.

21 Gedanken zu „Wettervorhersage von Wunderground“

  1. Hallo

    die aktuellen Wetterdaten konnte ich mit Ihrer Anleitung bereits bei mir einbinden. Jetzt würde ich gerne auch die Vorhersage nutzen. Wenn ich es richtig sehe können sie im Skript nur einen Tag auswählen, hier die Periode 2. Gibt es eine Möglichkeit mir alle Tage der Vorhersage (Periode 2-4) auslesen zu lassen?

    Viele Grüße, Claus

    1. Hallo Claus,

      die Vorhersage für mehrere Tage kannst du leider nur über eine Schleife im Skript oder über mehrere Skripte abfragen. Beides ist nicht optimal für die CCU2, da diese String-Verarbeitung die CCU2 stark belastet. Ich setzte inzwischen ioBroker in meiner Hausautomation ein, dort ist die String-Verarbeitung gar kein Problem und es gibt bereits für Wunderground Konnektoren die alle Daten in Variablen bereitstellt. Ich kann dir ioBroker nur wärmstens empfehlen, habe allerdings noch keine Zeit gefunden hier entsprechende Beiträge zu veröffentlichen.

      Gruß Erhard

  2. Habe händisch das veruscht:

    dom.GetObject(„W_Test“).State(„“);

    das funktioniert….. es werden zwei icons nebeneinander in der varaivle dargestellt.
    Nur reicht mein Wissen nicht, um jetzt die icons für heute, morgen und übermorgen per script von wunderground auszuelesen 😉

    lg Richard

    1. Hallo Richard,

      ich stehe auf dem Schlauch, was hast du mit „dom.GetObject(„W_Test“).State(„“); versucht?

      Wenn du mehr als eine Vorhersage abrufen möchtest, muss das Script entweder in zwei Versionen mit unterschiedlichen Systemvariablen aufgerufen werden oder man baut in das Script eine Schleife ein.

      Was möchtest du konkret erledigen?

      Gruß Erhard

  3. Hallo Erhard,
    ioBroker habe ich auch schon in meiner Überlegung will mich jedoch vorerst nur mit der HM beschäftigen. Denk aber das der ioBroker bald bei mir Einzug halten wird.
    Grüße, Claus

    1. Hallo Mario,

      du rufst https://www.wunderground.com auf und klickst in den Suchschlitz:
      Wunderground Suchschlitz

      Dann klickt du auf „Find nearest Station“:
      Wunderground - Find nearest Station

      Falls das nicht funktioniert, gib deinen Heimatort in dem Suchschlitz ein. Anschliessend klickst du auf den Namen der gefundenen Wetterstation:
      Wunderground - Weather Station

      Dann sieht du den Namen der Wetterstation den du im Skript verwenden kannst:
      Wunderground - Name der Station

      Bin gespannt, ob dir mein Tipp weiterhilft.

      Gruß Erhard

  4. Hallo,
    gibt es die Möglichkeit ebenfalls aus dem Bereich simpleforcast die „low“ Temperatur auszulesen und mit der TempMax in eine Systemvariable vom Typ „Text“ mit den Werten „TempLow – TempMax“ abzulegen?

    Ich nutze die Abholung der aktuelle Bedingungen und der Vorhersage um die aktuelle Temperatur, die zu erwartende Temperatur und die Regenwahrscheinlichkeit im E-Paper Display anzeigen zu lassen. Ebenso im EasyHome-Tablet. Da wäre es einfacher dies als eine Variable zu verwenden.

    1. Hallo Christof,

      seit ich ioBroker für die Visualisierung und die Steuerung meiner Hausautomation nutze, verwende ich das Programm „Wettervorhersage von Wunderground“ nicht mehr in meiner CCU2-Installation. ioBroker ist wirklich sehr empfehlenswert und der Wunderground-Adapter liefert alle Werte.

      Gruß Erhard

    2. So hole ich mir die Min-Temperatur aus dem WU-XML (XPath für Arme 😉 ):

      string segment = „low“;
      integer segment_laenge = segment.Length();
      integer segment_position = wetter_xml.Find(segment);
      string wetter_low_xml= wetter_xml.Substr((segment_position + segment_laenge +1), 200);
      string word = „celsius“;
      integer word_laenge = word.Length();
      integer word_position = wetter_low_xml.Find(word);
      string daten = wetter_low_xml.Substr((word_position + word_laenge +1), 100);
      integer word_position = daten.Find(word);
      daten = daten.Substr(0, (word_position -2));
      real zahl = daten.ToFloat();
      dom.GetObject(„WV_TempMin“).State(zahl);

  5. Bei mir sind die Variablen leer. Der Test im Browser mit der URL und meiner API ist allerdings positiv.
    Ich habe noch ein älteres Wonderground-Programm mit aktuellen Wetterdaten. Dieses funktioniert.
    Hat jemand einen Tipp für mich?

    1. Hallo Michael,

      schaue bitte mal in den XML-Stream deiner Wetterstation, dort müsste ein Abschnitt mit dem Schlüsselwort „fcttext_metric“ sein. Anscheinend hat Wunderground den XML-Stream umgestellt, bei mir kommt jetzt statt „fcttext_metric“ die „forecast_url“. In diesem Abschnitt steht jetzt leider nur dir URL zur Seite mit der Wettervorhersage. Ich selbst nutze das Wunderground-Skript auf der CCU2 seit ca. 1 Jahr nicht mehr, da habe ich ioBroker in Betrieb genommen und lasse darüber jetzt alle Skripte laufen. Das ist die nächste Stufe der Hausautomation auf Basis von HomeMatic, kann ich nur wärmstens empfehlen.

      Gruß Erhard

    1. Hallo Michael,

      super dass du den Lösungshinweis gepostet hast, in meinem XML-Stream taucht dieser Abschnitt allerdings nicht auf.

      Gruß Erhard

  6. Hallo !
    Zunächst DANKE für das Script und die Mühe. Wirklich klasse.
    Bei mir funktioniert soweit alles.
    Allerdings eine Frage:
    WV-TempMax weicht z. B. von WV_Text ab.
    Bsp: WV-TempMax 17 Grad, Text… Teilweise bedeckt… 22 Grad.
    Warum ist das s0?

    Danke. Gruss

Schreibe einen Kommentar

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