Aktuelle lokale Wetterdaten ohne eigene Wetterstation und ohne Kosten

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

  1. Gehe auf die Website von Weather Underground.
  2. Suche nach einer Wetterstation (PWS) in deiner Nähe.

Schritt 2: API-Key und Stations-ID extrahieren

  1. Sobald die Seite der Wetterstation geladen ist, öffne den Quellcode der Seite (Rechtsklick → “Seitenquelltext anzeigen” oder ähnlich).
  2. Suche im Quellcode nach dem Begriff "https://api.weather.com/v2/pws/dailysummary/1day".
  3. In dem zugehörigen Code-Abschnitt findest du den apiKey und die stationId 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 im rest-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.

10 „Gefällt mir“

Moin,
passt, super danke. :+1:

Korrektur:
Mit dem Setup und den Sensoren in der configuration.yaml funktionierten einige meiner Stromsensoren (Erzeugung/Verbrauch etc.) nicht mehr.
Nach dem entfernen der Einträge (und Neustart) ging wieder alles. Keine Ahnung warum.

Vielen Dank fürs teilen. Schade, dass AQI und Pollen nicht dabei sind.

hattest du da vielleicht 2x template: oder rest: in der yaml?
YAML ist bei so was sehr empfindlich.

Gäbe es Wetterstationen, die das können? Das mit Pollen und so?

Bingo :slight_smile: C/P ohne weitere Kontrolle kommt nicht gut.

Das probiere ich morgen noch mal, mit Kontrolle.

ich habe über HACS DWD Pollenflug hinzugefügt.
Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

Auf der wunderground.com sind Pollen und AQI angegeben, wenn ich meine nächste Station aufrufe. Beim API-Aufruf leider nicht.

I see…
Wenn du auf der Seite bist, wird dir bei der Station auch eine Forecast angegeben. Das alles sind aber keine Messwerte der Station selbst. Sondern werden “beigemischt”.
Mit diesem REST Abruf bekommst du nur die Werte der Messstation selbst. So als ob du eine auf deinem Dach hättest. Und wenn das eine ist, ohne Regenmesser, dann ist das nicht dabei (so als Beispiel).
Es ersetzt halt die 100 Euro für ein 7in1 Messgerät bei dir selber.

Wozu ist das Hilfreich? In meiner Stadt mag im Schnitt heute ein Wind von 20km sein. Das wäre kein Problem für meine Markise. Aber ich wohne am Stadtrand. Sind hier evtl. Böen von 30km? Dann sollte eine Automatisation am besten mal die Markise zufahren.

Also für eine Markisensteuerung würde ich dann aber doch lieber die 100 Euro investieren. Denn was passiert mit deiner Markise, wenn die ausgewählte fremde Wetterstation mal keine Messwerte überträgt? Sei es aufgrund leerer Batterien, einer (lokalen) Internetstörung, oder was auch immer. Das wäre mir für die Markise zu heikel.

Spannend finde ich die Lösung aber weiterhin, weil es eben die besten lokalen Messwerte ermöglicht ohne eine eigene Station.

NB: es gibt auch eine HACS Integration für die die nicht selbst yaml editieren möchten: GitHub - adamfeldman/Home-Assistant-wundergroundpws-hacs: Home Assistant custom component sensor for Weather Underground personal weather station users WITH HACS CONFIG
@the0bone: das soll aber keineswegs den Wert deines Beitrags schmälern. Ich fand das sehr interessant, auch weil ich so auch mehr über HA lerne.

2 „Gefällt mir“

Cool, die HACS hatte ich nicht gefunden. Und nein, verstehe ich nicht als negativ.
Zum lernen ein paar kleine Ideen und Anmerkungen. Viele der Wetterstationen haben einen Onlinezwang und keine lokale API oder Weboberfläche. Musst mal bei Amazon in den Bewertungen lesen. Das hilft dir dann das auch nicht.

Vom Programmieren her, musst du dann halt eine positiv Prüfung machen. Die automatische Beschattung darf nur fahren wenn: sensor.regen = 0 und sensor.wind_boe < 25
und muss wieder rein, wenn die Werte überschritten werden oder der Sensor unbekannt wird oder keine Update für 30min erhalten hat.

Aber was man mit macht. ist ja dann sowieso noch eine andere Frage. Regen Forecast und aktuelle Regenmessung aus der Nachbarschaft sind halt zwei Paar Schuhe.

1 „Gefällt mir“

Hi zusammen,

hab mir das gerade mal zusammengeklickt.
Funktioniert! :grin:

Vielen dank für die Idee!

Been there, done that. Lange vor meiner Zeit mit HA. Am Ende bin ich bei froggit/ ecowitt gelandet. anfangs nur zu Wunderground hochgeladen, mit HA dann auch lokale Nutzung zusätzlich.

Genau so. Die automatische Markisensteuerung muss halt sehr genau durchdacht sein. Einfach eine Wetterstation einbinden und denken “gut ist”, das ist halt riskant. Egal wem die Station gehört.

Tolle Sache, vielen Dank! Neben eigenem Regensensor (der kann im Prinzip nur J/N) habe ich jetzt noch einen plus Windmesser aus der Nachbarschaft und könnte so die Markise auch automatisiert fahren. Mal schauen…
Bin gespannt wie lange das noch so geht und hoffe, dass der Nachbar keine Nachteile hat durch meine Abfragen.

1 „Gefällt mir“

Danke für den Hack mit dem API-Schlüssel.
In Verbindung mit der oben erwähnten HACS Integration perfekt. :+1::+1::+1:

ich löse das über Netatmo https://weathermap.netatmo.com/

Ich nutze die Netatmo bei uns…bin sehr zufrieden. Evtl mal einen Regenmesser anschaffen dafür