Unterstützung des Kanals
Hinweis: Der folgende Link ist ein Affiliate-Link.
Die Erstellung meiner Skripte und Videos ist mit einem erheblichen zeitlichen Aufwand verbunden – von der technischen Vorbereitung über intensive Recherche bis hin zu Tests, Aufnahmen und Nachbearbeitung. Alle Inhalte stelle ich dir dennoch vollständig kostenlos zur Verfügung.
Wenn du meine Arbeit unterstützen möchtest, kannst du das ganz einfach tun: Für deine Amazon-Bestellungen nutze gern meinen Partner-Link. Für dich ändert sich am Preis nichts – ich erhalte lediglich eine kleine Provision. Vielen Dank für deinen Support!
Jetzt über Amazon unterstützen👉 Direkt auf YouTube schauen und abonnieren:
Smart Home & more auf YouTube

Viele Smart-Home-Systeme greifen auf allgemeine Wetterdaten zurück. Diese sind allerdings häufig ungenau oder zu weit vom eigenen Standort entfernt. Ich zeige dir, wie du die Daten einer örtlichen Wetterstation von einer Webseite ausliest und für deine Automatisierungen nutzen kannst – ganz einfach mit Home Assistant!
🔧 Voraussetzungen
Um das Ganze umzusetzen, benötigst du:
- Eine installierte und eingerichtete Instanz von Home Assistant
- Zugriff auf eine Webseite mit Wetterdaten einer lokalen Wetterstation
- Grundkenntnisse in Automatisierungen und Template-Sensoren in Home Assistant
🧩 Wetterdaten abrufen – So funktioniert’s
Wir nutzen die Integration von Wetterdaten über RESTful Sensoren, um Informationen wie:
- Regenstatus
- Windgeschwindigkeit
- Wetterlage (z.B. sonnig, bewölkt)
- Temperatur
auszulesen. Diese Daten werden anschließend in eigene Sensoren überführt, die Home Assistant versteht und in Automatisierungen verwendet.
Zunächst müssen wir uns auf die Seite von Weather Underground begeben. Dort lasst euch den Quelltext anzeigen und kopiert diesen in einen Editor Tool ( z.B. von Windows).
Um den API Eintrag zu finden, sucht nach der Zeichenkette
https://api.weather.com/v2/pws/observations/current
Kopiert euch die gesamte Zeichenkette inklusive apiKey und stationId und passt den Inhalt wie folgt an.
https://api.weather.com/v2/pws/observations/current?apiKey=**deinAPI-KEY**&stationId=**deineStationID**&numericPrecision=decimal&format=json&units=m
die „**“ sind nur zur eindeutigen Identifizierung zu verstehen und nicht dem Key und der StationID hinzuzufügen!
Als nächstes geht mit dem Editor eurer Wahl ( z.B. File Editor oder Studio Code Server ) in eurer Home Assistant Instanz und fügt in der configuration.yaml einen neuen Rest Sensor ein.
rest:
- resource: https://api.weather.com/v2/pws/observations/current?apiKey=**deinAPI-KEY**&stationId=**deineStationID**&numericPrecision=decimal&format=json&units=m
scan_interval: 600
sensor:
- name: Wetterstation Lahr
unique_id: 82413cbe-2261-4d41-a7f4-c271cba75645 #hier musst du eine eigene eindeutige ID erstellen !
value_template: >
{{ value_json.observations[0].metric.temp }}
json_attributes:
- observations
Hinweis: Bitte geht nicht unter 600 Sekunden beim Scan Interval. In der Regel sehen es die Betreiber einer Website nicht gerne , wenn zu viele Abfragen von einer IP – Adresse kommen. Mit den 600 Sekunden solltet ihr auf der sicheren Seite sein.
⚙️ Automatisierung der Markise
Die Logik ist einfach:
- Wenn es regnet oder starker Wind herrscht, fährt die Markise automatisch ein.
- Bei Sonne und angenehmen Bedingungen fährt sie aus.
Die Automatisierung lässt sich natürlich noch weiter verfeinern – zum Beispiel durch Tageszeiten oder Anwesenheit.
Template Helfer Sensoren erstellen
Der nächste wichtige Schritt ist aus den Daten, die nun im Sensor Wetterstation Lahr (obervations) stehen alle relevanten Daten für eine Automatisierung auszulesen.

Dazu legt euch 4 Helfer an vom Typ Template Sensor


Hinweis: Bei mir habe ich die Wetterstation „’sensor.wetterstation_lahr“ genannt. Hier müsst ihr in allen Code Zeilen den von euch vergebenen Namen verwenden!
Wetterstation Lahr Windgeschwindigkeit
{{ state_attr('sensor.wetterstation_Lahr', 'observations')[0]['metric']['windSpeed'] }}
Einheit : km/h
Wetterstation Lahr Wetterlage
{% set obs = state_attr('sensor.wetterstation_Lahr', 'observations')[0] %}
{% set radiation = obs['solarRadiation'] %}
{% set uv = obs['uv'] %}
{% set precip = obs['metric']['precipRate'] %}
{% if precip > 0 %}
regen
{% elif radiation < 100 or uv <= 1 %}
bewölkt
{% elif radiation < 500 or uv < 3 %}
leicht bewölkt
{% else %}
sonnig
{% endif %}
Einheit: keine
Wetterstation Lahr Temperatur
{{ state_attr('sensor.wetterstation_Lahr', 'observations')[0]['metric']['temp'] }}
Einheit: °C
Wetterstation Lahr Regen
{{ state_attr('sensor.wetterstation_Lahr', 'observations')[0]['metric']['precipRate'] > 0 }}
Einheit: keine
Automatisierung Markise steuern
Sobald

Und wenn

Dann

Gesamter Yaml Code
alias: Markise steuern
description: Steuert die Markise basierend auf den Wetterbedingungen
triggers:
- entity_id: sensor.wetterstation_lahr_temperatur
above: 18
id: Temperatur hoch
trigger: numeric_state
- entity_id: sensor.wetterstation_lahr_temperatur
below: 18.1
id: Temperatur niedrig
trigger: numeric_state
- entity_id: sensor.wetterstation_lahr_wetterlage
to: regen
id: Regen
trigger: state
- entity_id: sensor.wetterstation_lahr_wetterlage
to: sonnig
id: Sonnig
trigger: state
- entity_id: sensor.wetterstation_lahr_wetterlage
to: leicht bewölkt
id: Leicht bewölkt
trigger: state
- entity_id: sensor.wetterstation_lahr_wetterlage
to: bewölkt
id: Bewölkt
trigger: state
- entity_id: sensor.wetterstation_lahr_windgeschwindigkeit
above: 22
id: Windgeschwindigkeit hoch
trigger: numeric_state
- entity_id: sensor.wetterstation_lahr_windgeschwindigkeit
below: 22.1
id: Windgeschwindigkeit niedrig
trigger: numeric_state
conditions:
- condition: time
after: "10:00:00"
before: "19:00:00"
actions:
- choose:
- conditions:
- condition: or
conditions:
- condition: state
entity_id: sensor.wetterstation_lahr_wetterlage
state: regen
- condition: numeric_state
entity_id: sensor.wetterstation_lahr_windgeschwindigkeit
above: 22
- condition: numeric_state
entity_id: sensor.wetterstation_lahr_temperatur
below: 18.1
sequence:
- entity_id: switch.markise_markise2
action: switch.turn_on
alias: Markise einfahren
alias: Schlechte Wetterlage -> Markise einfahren
- conditions:
- condition: and
conditions:
- condition: numeric_state
entity_id: sensor.wetterstation_lahr_temperatur
above: 18
- condition: numeric_state
entity_id: sensor.wetterstation_lahr_windgeschwindigkeit
below: 22.1
- condition: or
conditions:
- condition: state
entity_id: sensor.wetterstation_lahr_wetterlage
state: sonnig
- condition: state
entity_id: sensor.wetterstation_lahr_wetterlage
state: leicht bewölkt
- condition: state
entity_id: sensor.wetterstation_lahr_wetterlage
state: bewölkt
alias: Gute Wetterlage -> Markise ausfahren
sequence:
- entity_id: switch.markise
action: switch.turn_on
alias: Markise ausfahren
mode: single
Um die Markise um 19:00 Uhr generell wieder einzufahren habe ich eine separate Automatisierung erstellt. Es wäre auch möglich in jedem „Optionsblock“ die Bedingung zwischen 10:00 Uhr – 19:00 Uhr vorzuschalten, ich fand die Variante mit einer separaten Automatisierung in diesem Fall allerdings sinnvoller.
Automatisierung Markise um 19:00 Uhr einfahren

alias: Markise einfahren
description: ""
triggers:
- trigger: time
at: "19:00:00"
conditions: []
actions:
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.markise_markise2
mode: single
Hinweis: Wie schon im Video erwähnt, ist der Code nicht ausgiebig getestet. Gerne dürft ihr mir in den Youtube Kommentaren erweiterte Varianten oder angepassten Lösungen vorstellen, ich würde diese dann auf meiner Blog Seite veröffentlichen.
Häufige Fragen (FAQ)
Was brauche ich, um die lokalen Wetterdaten zu nutzen?
Eine eingerichtete Home-Assistant-Instanz, Zugriff auf eine Webseite mit den Daten einer lokalen Wetterstation und Grundkenntnisse zu Automatisierungen und Template-Sensoren.
Woher bekomme ich API-Key und Station-ID?
Lass dir auf der Weather-Underground-Seite der Station den Quelltext anzeigen und suche nach der Zeichenkette https://api.weather.com/v2/pws/observations/current. Kopiere die komplette URL mit apiKey und stationId und trage sie als Rest-Sensor in der configuration.yaml ein.
Wie oft darf ich die Wetterdaten abfragen?
Geh beim scan_interval nicht unter 600 Sekunden. Betreiber sehen es nicht gern, wenn zu viele Abfragen von einer IP-Adresse kommen; mit 600 Sekunden bist du auf der sicheren Seite.
Welche Template-Sensoren muss ich anlegen?
Vier Helfer vom Typ Template-Sensor: Windgeschwindigkeit (km/h), Wetterlage (regen, bewölkt, leicht bewölkt, sonnig), Temperatur (°C) und Regen. Verwende dabei überall den Namen, den du deinem Rest-Sensor gegeben hast.
Wann fährt die Markise ein und wann aus?
Einfahren bei Regen, Wind über 22 km/h oder Temperatur unter 18,1 °C; ausfahren bei über 18 °C, wenig Wind und sonnig, leicht bewölkt oder bewölkt. Das gilt zwischen 10:00 und 19:00 Uhr, eine separate Automatisierung fährt die Markise um 19:00 Uhr generell ein.
Ist der Code fertig getestet?
Nein, wie im Video erwähnt ist der Code nicht ausgiebig getestet. Erweiterte Varianten kannst du gern in den YouTube-Kommentaren vorstellen, Tobias veröffentlicht sie dann im Blog.



