Echte Wettervorhersagen mit Home Assistant seit 2024.3

Der erhältst in Home Assistant die Reparatur-Meldung „Verwendung des veralteten Dienstes „weather.get_forecast““ und deine Automatisierungen mit Bezug zu Wettervorhersagen funktionieren nicht mehr richtig? Seit Home Assistant 2024.3 gibt es eine wesentliche Änderung, wie man echte Wettervorhersagen erhält und ich zeige dir in diesem Beitrag, wie auch du in wenigen Schritten wieder Wettervorhersagen „wie früher“ nutzen kannst.

Ja, diesen Beitrag hätte ich vermutlich schon im Februar 2024 schreiben können, da hier bereits bekannt war, dass der Dienst weather.get_forecast ab Home Assistant 2024.3 wesentliche Änderungen erfahren wird. Um ehrlich zu sein, habe ich diese Info schlichtweg übersehen und dann war auch irgendwann schon das Update da.

In Abhängigkeit von dem von dir genutzten Wetterdienst (bspw. DWD über HACS oder Met.no, den ich nutze) wurden dir vor der Version 2024.3 in den Attributen des Sensors nützliche Informationen zur Wettervorhersage bereitgestellt. Diese wurden dafür im Hintergrund mittels weather.get_forecast automatisch ermittelt (also ohne, dass du etwas tun musstest) und standen dir somit zur Verfügung.

Hier ein Screenshot aus Mai 2023, wie das aussehen konnte:

Die Vorhersagen der kommenden Tage wurden innerhalb des Attributs des Wetter-Sensors automatisch mitgeliefert und konnten ausgelesen und für Automatisierungen beispielsweise genutzt werden.

Du magst Home Assistant? Dann abonniere kostenlos meine Beiträge mit Tipps, Tricks und Anleitungen rund um Home Assistant:

Follow Home Assistant
( 402 Followers )
X

Follow Home Assistant

E-mail : *
* Ich stimme der Datenschutzerklärung zu!

Garantiert kein Spam, keine Werbung und immer mit Abmelde-Link, solltest du es dir anders überlegen!

Seit 2024.3 kann es aber sein, dass du in Home Assistant folgende Fehlermeldung erhältst:

Verwendung des veralteten Dienstes „weather.get_forecast“ erkannt

Verwende stattdessen „weather.get_forecasts“, das mehrere Entitäten unterstützt.

Bitte ersetze diesen Dienst, passe deine Automatisierungen und Skripte an und wähle Senden, um dieses Problem zu schließen.

Home Assistant

Oder hier nochmal die Warnmeldung als Screenshot:

Fehlermeldung „Verwendung des veralteten Dienstes „weather.get_forecast“ erkannt“ beheben

Damit du auch weiterhin auf Daten der Wettervorhersage über das Sensor-Attribut zugreifen kannst, musst du in deiner configuration.yaml mittels eines Templates und des neuen Dienstes weather.get_forecasts (wichtig: mit einem „s“ am Ende!) dafür sorgen, dass die gewünschten Daten weiterhin ermittelt und bereitgestellt werden.

Wie das geht, erkläre ich dir nun Schritt für Schritt!

In meinem Code-Beispiel nutze ich den Sensor weather.forecast_home. Dieser Sensor kann bei dir anders benannt sein, so dass du dies anpassen musst. Wie du den für dich korrekten Sensor ermittelst, zeige ich dir weiter unten im Beitrag.

Um mit unserem Template-Dienst nicht unnötig Last zu generieren, ermitteln wir mit folgendem Code 1x pro Stunde die gewünschte Wettervorhersage:

  - trigger:
      - platform: time_pattern
        hours: "/1"

Da sich das Wetter nicht grundlegend so oft ändert, wird hier keine höhere Frequenz benötigt. Theoretisch kannst du diese aber natürlich beliebig anpassen. In der offiziellen Doku findest du bei Bedarf weitere Beispiele, wie du time_pattern nutzen kannst.

Übernimmst du den Code, wird 1x pro Stunde die action ausgeführt. Die Ausführung findet dann jeweils zur vollen Stunde statt.

Wenn du also um 20:30 Uhr den Code in deiner configuration.yaml übernimmst und die YAML-Dateien neulädst, kann es leider so wirken, als würde der Code nicht funktionieren. Warte in diesem Fall bis zur vollen Stunde (also 21:00 Uhr), da dann die action ausgeführt werden sollte!

Die eigentliche action ist der Aufruf des (neuen) Dienstes weather.get_forecasts für deinen Wetter-Sensor. Die hierbei ermittelten Daten merken wir uns in einer temporären Variable response_variable um diese dann wiederum einem neuen Sensor Wettervorhersage als Attribut zuzuweisen:

    action:
      - service: weather.get_forecasts
        target:
          entity_id:
            - weather.forecast_home
        data:
          type: daily
        response_variable: vorhersage
    sensor:
      - name: Wettervorhersage
        unique_id: weather_entity_forecast
        state: "{{ now().isoformat() }}"
        icon: mdi:calendar-range
        attributes:
          forecast: "{{ vorhersage['weather.forecast_home'].forecast }}"

Als Ergebnis erhalten wir (nach der ersten vollen Stunde!) in dem neuen Sensor sensor.wettervorhersage in den Attributen die gewohnten Daten der Wettervorhersage.

Wenn du einen anderen Namen für den neuen Sensor wünschst, kannst du diesen in der Zeile „- name: Wettervorhersage“ ändern.

Der komplette Code zum Einfügen in die configuration.yaml sieht dann wie folgt aus:

template:
  - trigger:
      - platform: time_pattern
        hours: "/1"
    action:
      - service: weather.get_forecasts
        target:
          entity_id:
            - weather.forecast_home
        data:
          type: daily
        response_variable: vorhersage
    sensor:
      - name: Wettervorhersage
        unique_id: weather_entity_forecast
        state: "{{ now().isoformat() }}"
        icon: mdi:calendar-range
        attributes:
          forecast: "{{ vorhersage['weather.forecast_home'].forecast }}"

Wenn du den Code in deiner configuraton.yaml ergänzt hast, navigierst du erneut zu den Entwicklerwerkzeugen und führst hier im Reiter/Tab YAML das Neuladen für ALLE YAML-KONFIGURATIONEN aus:

Und nun heißt es warten, bis die nächste volle Stunde erreicht ist (sofern du den Code mit 1x/Stunde übernimmst),

Sobald der neue Sensor unter Attribute die gewünschte Wettervorhersage bereitstellt, kannst du diese Daten für deine Automatisierungen etc. nutzen. Der Zugriff hierauf erfolgt dann wie gewohnt.

Hier ein Beispiel, wie du prüfen kannst, ob es am aktuellen Tag wärmer als 23 Grad wird:

{{ states.sensor.wettervorhersage.attributes.forecast[0].temperature > 23 }}

Dein neuer Sensor Wettervorhersage liefert dir nun in den Attributen die gewünschten und gewohnten Informationen. In deinen Automatisierungen und Skripten musst du natürlich noch den alten Sensor gegen den neuen austauschen.

Hast du dies gemacht, sollte alles wieder (wie früher) funktionieren und du kannst die Korrektur/Reparatur der ursprünglichen Warnmeldung „Verwendung des veralteten Dienstes „weather.get_forecast““ in Home Assistant quittieren:

Drüben auf simon42.com hat Simon noch weitere Code-Beispiele, wie man den Dienst weather.get_forecasts nutzen kann.

Genutzten Wetter-Sensor ermitteln

Wenn dir nicht bekannt ist, wie dein aktueller Wetter-Sensor heißt, zeige ich dir hier noch kurz, wie du den Namen herausfinden kannst.

Am einfachsten gehst du wie folgt vor: Rufe die Entwicklerwerkzeuge auf und wechsle hier auf den Reiter/Tab Zustände.

Im Suchfeld der Tabellenüberschrift (neben der Lupe) gibst du als Suchbegriff weather. ein.

In der Ergebnisliste sollten dir nun alle aktiven Wetter-Sensoren aufgelistet werden:

Dieser Beitrag ist Teil einer Beitrags-Serie rund um Home Assistant.

Schreibe einen Kommentar