Bist du bereit für eine neue Ära des Wetterdaten-Managements in deinem Smart Home? Mit dem kommenden Update 2024.03 von Home Assistant ändern sich einige Dinge in der Art und Weise, wie du Zugang zu den Wettervorhersage-Daten bekommst.
Während du aktuell die Daten direkt als Attribute in der Entität deines Systems siehst, wirst du diese ab dem Update selbst anlegen müssen.
Das klingt kompliziert? Keine Sorge! In diesem Video zeige ich dir, wie du diesen neuen Weg meisterst 🙌
Inhaltsverzeichnis
- Voraussetzungen
- Fokus des Videos
- Ressourcen / Dokus
- Beispiel für Wetter-Dienstaufruf
- Meine Konfigurierten Templates aus dem Video
- Fazit
Voraussetzungen
Home Assistant muss schon installiert sein, auf welcher Hardware spielt keine Rolle.
Templating in Home Assistant sowie die Grundlagen sollten ebenfalls bekannt sein, sind jedoch nicht zwingend erforderlich!
Fokus des Videos
Generell ist nochmal hervorzuheben, dass die angelegten Templates im Video nur für Automationen erforderlich sind, die anhand von Wettervorhersagen auslösen oder Bedingungen prüfen sollen.
Für die simple einrichtung von Wetterdaten in Home Assitant reicht das 1. Drittel des Videos 👍
Ressourcen / Dokus
- https://www.home-assistant.io/blog/2023/09/06/release-20239/#weather-forecast-service
- https://www.home-assistant.io/integrations/weather/
Beispiel für Wetter-Dienstaufruf
service: weather.get_forecasts target: entity_id: - weather.forecast_haus_elisabeth data: type: daily response_variable: weather_forecast
Meine Konfigurierten Templates aus dem Video
Solltest du bereits eine template: Sektion in deiner Configuration.yaml haben, darfst du diese natürlich nicht doppelt anlegen sondern musst den Code an die passende Stelle unterhalb von template: kopieren.
Nicht vergessen, die weather.Entitäten gegen die eigene(n) zu ersetzen 😉
template: # Der neue Weg (forcasts mit s) # Tägliche Wettervorhersagen - trigger: - platform: time_pattern hours: /1 action: - service: weather.get_forecasts target: entity_id: - weather.forecast_haus_elisabeth - weather.forecast_berlin data: type: daily response_variable: tagesvorhersage sensor: # Hier ein Template-Sensor, der verschieden Daten der Täglichen Vorhersage als Attribute gespeichert hat - name: Wetter-Vorhersage des nächsten Tages unique_id: forecast_next_1_day state: "{{ now().isoformat() }}" icon: mdi:hours-24 attributes: condition: "{{ tagesvorhersage['weather.forecast_haus_elisabeth'].forecast[1].condition }}" cloud_coverage: "{{ tagesvorhersage['weather.forecast_haus_elisabeth'].forecast[1].cloud_coverage }}" temperature: "{{ tagesvorhersage['weather.forecast_haus_elisabeth'].forecast[1].temperature }}" datetime: "{{ tagesvorhersage['weather.forecast_haus_elisabeth'].forecast[1].datetime }}" # Die gute, alte Wetterentität (Nur die Vorhersage) - name: Wettervorhersage OldSchool-Entität unique_id: weather_entity_forecast_oldschool state: "{{ now().isoformat() }}" icon: mdi:hours-24 attributes: forecast: "{{ tagesvorhersage['weather.forecast_haus_elisabeth'].forecast }}" # Stündliche Wettervorhersagen - trigger: - platform: time_pattern hours: /1 action: - service: weather.get_forecasts target: entity_id: - weather.forecast_haus_elisabeth data: type: hourly response_variable: stundenvorhersage sensor: # Hier ein Template-Sensor, der verschieden Daten der stündlichen Vorhersage als Attribute gespeichert hat - name: Wetter-Vorhersage der nächsten Stunde unique_id: forecast_next_1_hour state: "{{ now().isoformat() }}" icon: mdi:hours-24 attributes: condition: "{{ stundenvorhersage['weather.forecast_haus_elisabeth'].forecast[1].condition }}" cloud_coverage: "{{ stundenvorhersage['weather.forecast_haus_elisabeth'].forecast[1].cloud_coverage }}" temperature: "{{ stundenvorhersage['weather.forecast_haus_elisabeth'].forecast[1].temperature }}" # Alternativ ein Template-Sensor, der die Temperatur der stündlichen Vorhersage Status hat (Vorteile bei Verlauf, Automationen, etc.) - name: Temperatur-Vorhersage der nächsten Stunde unique_id: temperature_forecast_next_hour state: "{{ stundenvorhersage['weather.forecast_haus_elisabeth'].forecast[1].temperature }}" unit_of_measurement: °C - name: Bedingungs-Vorhersage der nächsten Stunde unique_id: condition_forecast_next_hour state: "{{ stundenvorhersage['weather.forecast_haus_elisabeth'].forecast[1].condition }}"
Danke an Olli von smarterkram.de für dein Hinweis zum Fehler im Template 💙
Nutzen in einer Automation
Hier noch ein Hinweis aus den YouTube-Kommentaren, damit ihr nicht so lange suchen müsst:
Falls wer z.B.: Shelly für Wärmepumpe bei Attribut Tageshöchsttemperatur unter 24 Grad einschalten möchte, braucht nur auf :
https://www.youtube.com/watch?v=GEkQxOC2rdE&lc=UgzIxMzoKEjcehSXa114AaABAgAutomatisieren & Szenen >> Automatisierung erstellen >> Entität: Forecast Home und unter Attribut: Temperatur im Drop-down-Menü aussuchen
Fazit
Zusammengefasst ermöglicht das kommende Update 2024.03 von Home Assistant eine noch individualisierte Nutzung von Wetterdaten und -vorhersagen in deinem Smart Home.
Obwohl sich die Art und Weise ändert, wie du auf diese Daten zugreifst und sie nutzen kannst, bietet das Update letztlich die Chance, deine Hausautomation noch besser auf deine Bedürfnisse abzustimmen.
Mit der Anleitung in diesem Video findest du dich schnell in den Neuerungen zurecht und kannst das volle Potenzial dieser spannenden Funktionen ausschöpfen. Bleib neugierig, tu es selbst und entdecke, was Home Assistant für dich bereithält!
Ich bin dabei und möchte das gerne zu meinem Hass hinzufügen.
Leider scheitere ich an der templates.yaml irgendwie total… wenn ich den Code von dir in meine templates.yaml reinhaue bekomme ich folgenden Fehler.
Invalid config for ‘template’ at templates.yaml, line 9: ‘template’ is an invalid option for ‘template’, check: template
Hi, sinnvoll wäre es, wenn Du deinen Code hier postest.
Also wenn du schon eine ausgelagerte yaml hast (templates.yaml) ist diese wahrscheinlich schon in der configuration.yaml referenziert
so in die Richtung
dann braucht oben in Zeile 1 nicht
stehen, die Zeile 1 löschen und alles ein Tab nach links rücken
jetzt hab ich die ftemplate: Zeile rausgelöscht, und alles einmal nach links gerückt
Nun schauts noch schlimmer aus.