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
( 476 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:
      - action: 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:
      - action: 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.

Produktempfehlungen

4,29 EUR โ‚ฌ Rabatt SONOFF SNZB-06P Zigbee 3.0 Menschlicher Prรคsenzsensor,...
2,81 EUR โ‚ฌ Rabatt Nous E8 ZigBee Smart Rauchmelder, Austauschbare,...

9 Gedanken zu „Echte Wettervorhersagen mit Home Assistant seit 2024.3“

  1. Sehr schรถner Beitrag,
    der jedoch, mit dem Unwissenden am anderen Ende der Tastatur schnell scheitert.
    Was muss ich eintragen, wenn ich das Ganze mit Openweathermap mache?
    Die entity_id: _Home hab ich zum Beispiel gar nicht.
    Kannst du mir helfen?

    • Vielen Dank fรผr dein Feedback!

      Wie hier im Beitrag unter „Genutzten Wetter-Sensor ermitteln“ beschrieben, mรผsstest du in den Entwicklerwerkzeugen unter Zustรคnde nach „weather.“ suchen, um die fรผr dich relevante Entitรคt angezeigt zu bekommen. Hast du das probiert?

      • Hi Olli,
        danke fรผr deine Antwort.
        Ja, hab ich. Sieht bei mir so aus.
        GruรŸ Sven

        weather.openweathermap:
        forecast:
        – datetime: „2024-08-27T11:00:00+00:00“
        condition: partlycloudy
        temperature: 24.1
        templow: 9.8
        pressure: 1021
        cloud_coverage: 44
        wind_speed: 12.6
        wind_bearing: 116
        uv_index: 5.14
        precipitation_probability: 0
        precipitation: 0
        dew_point: 9.6
        wind_gust_speed: 17.39
        humidity: 43
        – datetime: „2024-08-28T11:00:00+00:00“

        • Sorry, war da nicht unter Dienste nachzuschauen? Du schreibst jetzt, dass ichunter Zustรคnde hรคtte nachschauen mรผssen. In Zustรคnden sind die forcasts-Sensoren ja noch nicht drin. Oder sehe ich das falsch?

          • Was ich meinte:

            Unter Entwicklerwerzeuge -> Zustรคnde kannst du herausfinden, wie deine Wetter-Entitรคt (also „weather.irgendwas“) heiรŸt, da diese bei dir ja nicht wie in meinem Code-Beispiel weather.forecast_home heiรŸt.

            ย 

            Gem. deines vorletzten Kommentares, lautet die Entitรคt aber „weather.openweathermap“, so dass der vollstรคndige Code fรผr dich wie folgt aussehen mรผsste:

            template:
              - trigger:
                  - platform: time_pattern
                    hours: "/1"
                action:
                  - action: weather.get_forecasts
                    target:
                      entity_id:
                        - weather.openweathermap
                    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.openweathermap'].forecast }}"
          • @olli Vielen lieben Dank Olli,
            leider nur, finde ich die Angaben nicht im Bereich „Zustรคnde“, sondern in „Dienste“
            Im Bereich Zustรคnde sind die forecast-Entitรคten nicht aufgefรผhrt.ย 
            Gehe in den Bereich Dienste auf forecast un d die Entitรคt Openweathermap sehe ich die Vorhersage.
            WeiรŸ nur nicht, welche Syntax ich eingeben soll.
            {{ states.weather.openweathermap.forecast[1].temperature }} funktioniert nicht

            image

            Wo ist der Fehler?
            LG Sven

          • @sven Hast du denn in der configuration.yaml den benรถtigten Code aus dem Beitrag bzw. meinem letzten Beitrag ergรคnzt? Weil der macht ja aus der Entitรคt weather.openweathermap erst den neuen Sensor sensor.wettervorhersage

            Nach der ร„nderung an der configuration.yaml, musst du die YAML-Datei(en) einmal neuladen und bis zur nรคchsten vollen Stunde warten (da sensor.wettervorhersage gem. meines Codes nur 1x/Stunde gefรผllt wird).

            In den Entwicklerwerkzeugen unter Zustรคnden solltest du dann den Sensor sensor.wettervorhersage finden.

            Hilfst das weiter?

Kommentare sind geschlossen.