Hallo zusammen,
ich möchte euch zeigen, wie ihr die Daten von Weather Underground in Home Assistant nutzen könnt, ohne euch anmelden zu müssen oder eine eigene Wetterstation zu betreiben. Diese Methode greift auf öffentliche Daten zu, die von privaten Wetterstationen (PWS) bereitgestellt werden.
Schritt 1: Eine Wetterstation in deiner Nähe finden
- Gehe auf die Website von Weather Underground.
- Suche nach einer Wetterstation (PWS) in deiner Nähe.
Schritt 2: API-Key und Stations-ID extrahieren
- Sobald die Seite der Wetterstation geladen ist, öffne den Quellcode der Seite (Rechtsklick → “Seitenquelltext anzeigen” oder ähnlich).
- Suche im Quellcode nach dem Begriff
"https://api.weather.com/v2/pws/dailysummary/1day"
. - In dem zugehörigen Code-Abschnitt findest du den
apiKey
und diestationId
der gewählten Wetterstation. Notiere dir diese Werte.
Schritt 3: Konfiguration in Home Assistant
Füge die folgenden Einträge in deine configuration.yaml
-Datei ein. Achte darauf, die Platzhalter __hier_der_key__
und __hier_die_ID__
durch die tatsächlichen Werte zu ersetzen, die du im vorherigen Schritt gefunden hast.
rest:
- resource: https://api.weather.com/v2/pws/observations/current?apiKey=__hier_der_key__&stationId=__hier_die_ID__&numericPrecision=decimal&format=json&units=m
scan_interval: 600 # alle 10 Minuten
sensor:
- name: Wetterstation Aktuell Rohdaten
value_template: >
{{ value_json.observations[0].metric.temp }}
json_attributes:
- observations
template:
- sensor:
- name: Wetter Temperatur
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].metric.temp }}
- name: Wetter Hitzeindex
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].metric.heatIndex }}
- name: Wetter Taupunkt
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].metric.dewpt }}
- name: Wettergefühl (Windchill)
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].metric.windChill }}
- name: Wetter Windgeschwindigkeit
unit_of_measurement: "km/h"
device_class: wind_speed
state_class: measurement
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].metric.windSpeed }}
- name: Wetter Windböe
unit_of_measurement: "km/h"
device_class: wind_speed
state_class: measurement
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].metric.windGust }}
- name: Wetter Luftdruck
unit_of_measurement: "hPa"
device_class: pressure
state_class: measurement
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].metric.pressure }}
- name: Wetter Niederschlagsrate
unit_of_measurement: "mm/h"
device_class: precipitation
state_class: measurement # oder total_increasing, je nach API-Verhalten
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].metric.precipRate }}
- name: Wetter Niederschlag gesamt
unit_of_measurement: "mm"
device_class: precipitation
state_class: measurement # oder total_increasing, je nach API-Verhalten
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].metric.precipTotal }}
- name: Wetter UV Index
unit_of_measurement: "UV Index"
icon: "mdi:sun-wireless-outline"
state_class: measurement
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].uv }}
- name: Wetter Solarstrahlung
unit_of_measurement: "W/m²"
device_class: illuminance # Annäherung
state_class: measurement
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].solarRadiation }}
- name: Wetter Luftfeuchtigkeit
unit_of_measurement: "%"
device_class: humidity
state_class: measurement
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].humidity }}
- name: Wetter Windrichtung
unit_of_measurement: "°"
icon: "mdi:compass-outline"
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].winddir }}
- name: Wetter Ortsteil
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].neighborhood }}
- name: Wetter Software Version
state: >
{{ state_attr('sensor.wetterstation_aktuell_rohdaten', 'observations')[0].softwareType }}
Schritt 4: Home Assistant neu starten
In den Entwicklungswerkzeugen prüfen, ob irgendwelche Probleme mit der YAML bestehen. Leerzeichen, doppelte Einträge… yaml mag das alles nur ganz speziell. Starte Home Assistant neu, damit die Änderungen in der configuration.yaml
übernommen werden.
Schritt 5: Sensoren nutzen
Nach dem Neustart solltest du die verschiedenen Wettersensoren in Home Assistant zur Verfügung haben und sie in deinem Dashboard oder in Automatisierungen nutzen können.
Hinweise
- Ich übernehme keine Schuld, wenn du dir deine yaml zerhaust!
- Der
scan_interval
imrest
-Sensor ist auf 600 Sekunden (10 Minuten) eingestellt. Du kannst diesen Wert anpassen, aber beachte, dass zu häufige Abfragen möglicherweise gegen die Nutzungsbedingungen von Weather Underground verstoßen könnten. - Die hier gezeigten Sensoren sind nur Beispiele. Je nach den von der Wetterstation bereitgestellten Daten kannst du weitere Sensoren hinzufügen oder die bestehenden anpassen.
- Bitte beachte, dass sich die API von Weather Underground ändern könnte. Diese Anleitung basiert auf dem aktuellen Stand und könnte in Zukunft angepasst werden müssen.
Ich hoffe, diese Anleitung hilft euch weiter! Wenn ihr Fragen oder Anregungen habt, lasst es mich wissen.