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
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!
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.
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:
Produktempfehlungen
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:
@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
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?
@olli Vielen lieben Dank,
es hat funktioniert. Echt geil.ย
ย
LG Sven
@sven Sehr cool! 👍