{"id":1034,"date":"2026-06-19T23:12:30","date_gmt":"2026-06-19T21:12:30","guid":{"rendered":"https:\/\/www.coremind.ch\/wordpress\/?p=1034"},"modified":"2026-06-19T23:12:30","modified_gmt":"2026-06-19T21:12:30","slug":"weather-get_forecasts-vorhersage-als-ausloeser","status":"publish","type":"post","link":"https:\/\/www.coremind.ch\/wordpress\/weather-get_forecasts-vorhersage-als-ausloeser\/","title":{"rendered":"weather.get_forecasts: Vorhersage als Ausl\u00f6ser"},"content":{"rendered":"<p>Ein Bewegungsmelder reagiert auf das, was <em>jetzt<\/em> passiert. Richtig clever wird ein Smart Home aber erst, wenn es auf das reagiert, was <em>gleich<\/em> passiert. Genau daf\u00fcr liefert jede Wetter-Integration in Home Assistant eine Vorhersage \u2013 nur l\u00e4sst sie sich seit einigen Releases nicht mehr so einfach abgreifen wie fr\u00fcher. Das alte <code>forecast<\/code>-Attribut der Wetter-Entit\u00e4t ist abgel\u00f6st. Wer 2026 mit Prognosedaten automatisieren will, nutzt die Aktion <code>weather.get_forecasts<\/code>. So holen Sie die Vorhersage sauber ab und steuern damit Storen, Bew\u00e4sserung oder Heizung vorausschauend.<\/p>\n<h2>Das Problem: Prognose ist kein Zustand<\/h2>\n<p>Eine Entit\u00e4t wie <code>weather.forecast_home<\/code> hat einen Zustand (<code>sunny<\/code>, <code>cloudy<\/code> \u2026) und ein paar Attribute. Die eigentliche Vorhersage \u2013 die n\u00e4chsten Stunden und Tage \u2013 ist aber kein statisches Attribut mehr, sondern wird auf Anfrage geliefert. <code>weather.get_forecasts<\/code> ist eine Aktion mit R\u00fcckgabewert: Sie fragt die Vorhersage aktiv ab und legt das Ergebnis in einer Variablen ab, die Sie anschliessend auswerten.<\/p>\n<h2>Schritt 1: Vorhersage in einen Sensor giessen<\/h2>\n<p>Am praktischsten ist ein trigger-basierter Template-Sensor, der st\u00fcndlich die Tagesvorhersage abruft und die Werte bereitstellt, die Sie sp\u00e4ter brauchen \u2013 etwa H\u00f6chsttemperatur und Regenwahrscheinlichkeit von morgen.<\/p>\n<pre><code>\u2029template:\u2029  - trigger:\u2029      - trigger: time_pattern\u2029        hours: \"\/1\"\u2029    action:\u2029      - action: weather.get_forecasts\u2029        target:\u2029          entity_id: weather.forecast_home\u2029        data:\u2029          type: daily\u2029        response_variable: daily\u2029    sensor:\u2029      - name: \"H\u00f6chsttemperatur morgen\"\u2029        unique_id: forecast_tmax_morgen\u2029        unit_of_measurement: \"\u00b0C\"\u2029        state: &gt;\u2029          {{ daily['weather.forecast_home'].forecast[1].temperature }}\u2029      - name: \"Regenwahrscheinlichkeit morgen\"\u2029        unique_id: forecast_regen_morgen\u2029        unit_of_measurement: \"%\"\u2029        state: &gt;\u2029          {{ daily['weather.forecast_home'].forecast[1].precipitation_probability }}\u2029<\/code><\/pre>\n<p>Der Index <code>[0]<\/code> steht f\u00fcr heute, <code>[1]<\/code> f\u00fcr morgen. F\u00fcr st\u00fcndliche Prognosen setzen Sie <code>type: hourly<\/code> und greifen entsprechend auf die n\u00e4chsten Stunden zu. Der grosse Vorteil dieses Ansatzes: Der Wert wird nur einmal pro Stunde abgefragt und steht danach als ganz normaler Sensor in jeder Automation, jedem Dashboard und jeder Vorlage zur Verf\u00fcgung \u2013 ohne dass Sie die Wetter-Aktion immer wieder neu aufrufen m\u00fcssen. Ein zentraler Prognose-Sensor ist damit oft sauberer als viele verstreute Einzelabfragen.<\/p>\n<h2>Schritt 2: Damit automatisieren<\/h2>\n<p>Sobald die Werte als Sensoren vorliegen, sind klassische Automationen m\u00f6glich. Ein Beispiel: Die Gartenbew\u00e4sserung soll nur laufen, wenn f\u00fcr morgen wenig Regen erwartet wird \u2013 das spart Wasser und schont die Pflanzen.<\/p>\n<pre><code>\u2029automation:\u2029  - alias: \"Bew\u00e4sserung bei Regenprognose aussetzen\"\u2029    trigger:\u2029      - trigger: time\u2029        at: \"06:00:00\"\u2029    condition:\u2029      - condition: numeric_state\u2029        entity_id: sensor.regenwahrscheinlichkeit_morgen\u2029        below: 60\u2029    action:\u2029      - action: switch.turn_on\u2029        target:\u2029          entity_id: switch.water_control\u2029<\/code><\/pre>\n<p>Wer das Gardena-Ventil bereits eingebunden hat, kombiniert diese Logik elegant mit der bestehenden Steuerung aus dem Beitrag <a href=\"https:\/\/www.coremind.ch\/wordpress\/gardena-smart-water-control-in-home-assistant\/\">Gardena Smart Water Control in Home Assistant<\/a>.<\/p>\n<h2>Schritt 3: Vorhersage direkt in der Automation nutzen<\/h2>\n<p>Sie m\u00fcssen nicht zwingend den Umweg \u00fcber einen Sensor gehen. <code>weather.get_forecasts<\/code> l\u00e4sst sich auch mitten in einer Automation aufrufen und das Ergebnis sofort auswerten \u2013 ideal, wenn der Wert nur an einer Stelle gebraucht wird:<\/p>\n<pre><code>\u2029automation:\u2029  - alias: \"Storen schliessen bei Hitzeprognose\"\u2029    trigger:\u2029      - trigger: time\u2029        at: \"08:00:00\"\u2029    action:\u2029      - action: weather.get_forecasts\u2029        target:\u2029          entity_id: weather.forecast_home\u2029        data:\u2029          type: daily\u2029        response_variable: daily\u2029      - if:\u2029          - condition: template\u2029            value_template: &gt;\u2029              {{ daily['weather.forecast_home'].forecast[0].temperature | float &gt; 28 }}\u2029        then:\u2029          - action: cover.close_cover\u2029            target:\u2029              entity_id: cover.wohnzimmer_storen\u2029<\/code><\/pre>\n<p>So fahren die Storen morgens automatisch herunter, bevor die Sonne die Wohnung aufheizt \u2013 ein echter Komfortgewinn an Hitzetagen. Dasselbe Muster l\u00e4sst sich umgekehrt f\u00fcr die Heizung nutzen: Sinkt die prognostizierte Tiefsttemperatur f\u00fcr die kommende Nacht unter einen Schwellenwert, kann die W\u00e4rmepumpe rechtzeitig vorheizen, statt erst zu reagieren, wenn es bereits kalt geworden ist.<\/p>\n<h2>Stolperfallen<\/h2>\n<p>Pr\u00fcfen Sie zuerst in den Entwicklerwerkzeugen unter \u00abAktionen\u00bb, welche Felder Ihre Integration tats\u00e4chlich liefert. Nicht jede Wetterquelle gibt <code>precipitation_probability<\/code> zur\u00fcck \u2013 manche liefern nur <code>precipitation<\/code> in Millimetern. Fangen Sie ausserdem fehlende Werte mit Filtern wie <code>| float(0)<\/code> oder einem <code>default<\/code> ab, damit der Sensor bei einem Aussetzer der Wetter-API nicht auf <code>unknown<\/code> springt. Und denken Sie daran: <code>get_forecasts<\/code> ist eine Aktion mit Antwort, sie funktioniert deshalb nur im <code>action<\/code>-Block, nicht als Trigger.<\/p>\n<h2>Fazit<\/h2>\n<p>Mit <code>weather.get_forecasts<\/code> verwandeln Sie Home Assistant von einem reaktiven in ein vorausschauendes System. Ob Bew\u00e4sserung, Beschattung oder das fr\u00fchere Anheizen vor einem K\u00e4lteeinbruch \u2013 die Vorhersage ist die letzte fehlende Zutat f\u00fcr Automationen, die mitdenken. Beginnen Sie mit einem einzigen Prognose-Sensor, beobachten Sie ihn ein paar Tage gegen das reale Wetter, und bauen Sie darauf Schritt f\u00fcr Schritt Ihre vorausschauenden Routinen auf.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ein Bewegungsmelder reagiert auf das, was jetzt passiert. Richtig clever wird ein Smart Home aber erst, wenn es auf das reagiert, was gleich passiert. Genau daf\u00fcr liefert jede Wetter-Integration in Home Assistant eine Vorhersage \u2013 nur l\u00e4sst sie sich seit einigen Releases nicht mehr so einfach abgreifen wie fr\u00fcher. Das alte forecast-Attribut der Wetter-Entit\u00e4t ist &#8230; <a title=\"weather.get_forecasts: Vorhersage als Ausl\u00f6ser\" class=\"read-more\" href=\"https:\/\/www.coremind.ch\/wordpress\/weather-get_forecasts-vorhersage-als-ausloeser\/\" aria-label=\"Mehr Informationen \u00fcber weather.get_forecasts: Vorhersage als Ausl\u00f6ser\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1034","post","type-post","status-publish","format-standard","hentry","category-ha"],"_links":{"self":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1034","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/comments?post=1034"}],"version-history":[{"count":1,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1034\/revisions"}],"predecessor-version":[{"id":1069,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1034\/revisions\/1069"}],"wp:attachment":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=1034"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=1034"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=1034"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}