Skip to content

coding-pagro/GeoSphere-Austria-Plus

Repository files navigation

GeoSphere Austria Plus

Tests Validate codecov HACS Quality Scale

Custom Integration für Home Assistant mit vollständiger Wetterbedingungen (Conditions) und Vorhersage (Forecast) Unterstützung – basierend auf dem öffentlichen GeoSphere Austria DataHub API.

Die offizielle zamg-Integration liefert weder Conditions noch Forecasts. Diese Integration schließt beide Lücken.


Features

Feature Status
13 TAWES-Sensoren (Temperatur, Feuchte, Druck, Wind, Strahlung, Bodentemperatur, …)
Wetterbedingungen (condition) inkl. Gewitter-Erkennung über GeoSphere-Symbolcode
Stündliche Vorhersage (hourly forecast, 48 h) mit Solarstrahlung, Schneefallgrenze, CAPE, Böen
Tägliche Vorhersage (2–3 Tage GeoSphere, optional 3–14 Tage via Open-Meteo-Verlängerung)
Wetterwarnungen (Unwetterwarnungen)
Luftqualitätsindex (NO₂, O₃, PM10, PM2.5 + AQI)
UV-Index (Open-Meteo-Tagesverlängerung) als Forecast-Attribut
0–3 Vorhersagemodelle pro Station wählbar
Robust gegen API-Ausfälle (Last-known-good-Cache + Fibonacci-Backoff-Retry)
Keine API-Key erforderlich

TAWES-Sensoren

Die Integration fragt die TAWES-Station alle 10 Minuten ab – dieselbe Anfrage, die auch die aktuellen Wetterbedingungen liefert. Weil die Rohdaten damit ohnehin vorhanden sind, werden sie als 13 einzelne Sensor-Entitäten direkt im Gerät exponiert, ohne einen einzigen zusätzlichen API-Call:

Sensor Parameter Einheit
Temperature TL °C
Dew Point TP °C
Humidity RF %
Wind Direction DD °
Wind Speed FF m/s
Wind Gust FX m/s
Pressure P hPa
Pressure (Reduced) PRED hPa
Precipitation RR mm
Sunshine Duration SO s / 10 min
Snow Height SH cm
Global Radiation GLOW W/m²
Soil Temperature (10 cm) TB1 °C

Alle Sensoren teilen sich dasselbe Gerät (Wetterstation) mit der Wetterentität und stehen sofort in Automationen, Dashboards und dem Energiemanagement zur Verfügung.

Die TAWES-Station ist optional. Ohne Station werden Temperatur, Feuchte, Windgeschwindigkeit, Windrichtung und Niederschlag aus dem ersten Vorhersagepunkt des gewählten Modells abgeleitet. Taupunkt, Luftdruck und Böen haben kein Modell-Äquivalent und bleiben in diesem Fall leer.

Wetterwarnungen

Der Warnungs-Sensor zeigt die höchste aktive Warnstufe (0 = keine, 1 = gelb, 2 = orange, 3 = rot). Als Attribute werden alle aktiven Warnungen mit Typ, Stufe, Zeitraum, Auswirkungen und Empfehlungen aufgelistet.

Unterstützte Warntypen: Sturm, Regen, Schnee, Glatteeis, Gewitter, Hitze, Kälte.

Luftqualitätssensoren

Vier stündliche Schadstoffsensoren (NO₂, O₃, PM10, PM2.5 in µg/m³) sowie ein aggregierter EU-Luftqualitätsindex (AQI, Stufe 1–6) aus dem GeoSphere Chemie-Modell (chem-v2-1h-3km). Jeder Sensor enthält zusätzlich eine 24-Stunden-Vorhersage als Attribut.

Stufe Bedeutung
1 Gut
2 Mäßig
3 Empfindlichen Gruppen schädlich
4 Ungesund
5 Sehr ungesund
6 Extrem schlecht

Unterstützte Vorhersagemodelle

Modell-ID Auflösung Zeitraum Beschreibung
nwp-v1-1h-2500m 1 h / 2,5 km ~48–72 h Numerische Wettervorhersage (Standard). Physikalisches Atmosphärenmodell – gute Gesamtgenauigkeit für Temperatur, Wind und Niederschlag.
ensemble-v1-1h-2500m 1 h / 2,5 km ~48–72 h Ensemble-Vorhersage. Dasselbe Modell, mehrfach mit leicht unterschiedlichen Startwerten gerechnet. Robuster als ein einzelner NWP-Lauf, glättet aber Extremereignisse ab.
nowcast-v1-15min-1km 15 min / 1 km 2–3 h Nowcast. Keine Modellrechnung, sondern Radarextrapolation – aktuell gemessene Niederschlagszellen werden fortgeschrieben. Sehr präzise für unmittelbar bevorstehenden Regen oder Gewitter, danach rapider Qualitätsverlust. Liefert nur stündliche Vorhersage (kein Daily-Forecast).

Empfehlung: Für den Alltagseinsatz empfiehlt sich NWP (Standard). Ensemble liefert verlässlichere Tendenzen mit weniger Ausreißern. Nowcast ist sinnvoll, wenn es primär darum geht, ob es in den nächsten 1–2 Stunden regnet.

Es können auch 0 Modelle gewählt werden – in diesem Fall wird keine Wetterentität angelegt.


Installation via HACS

  1. HACS → Integrationen → + Hinzufügen
  2. „Custom repositories" → diese Repo-URL eingeben → Kategorie: Integration
  3. „GeoSphere Austria Plus" installieren
  4. Home Assistant neu starten
  5. Einstellungen → Geräte & Dienste → + Integration hinzufügenGeoSphere Austria Plus

Konfiguration

Parameter Beschreibung Beispiel
Name Anzeigename des Geräts Wien
Breitengrad Geografische Breite des Standorts 48.249
Längengrad Geografische Länge des Standorts 16.356
TAWES-Station Nächste Wetterstation (optional) 11035 (Wien/Hohe Warte)
Vorhersagemodelle 0–3 Modelle (NWP, Ensemble, Nowcast) NWP (Standard)
Wetterwarnungen Warnungs-Sensor aktivieren ✅ (Standard)
Luftqualität Luftqualitäts-Sensoren aktivieren ✅ (Standard)
Open-Meteo-Verlängerung Tagesvorhersage über GeoSphere hinaus verlängern ❌ (opt-in)
Tage Open-Meteo Anzahl Tage im Daily-Forecast (3–14) 7

Pro Standort wird ein Gerät angelegt. Jedes gewählte Vorhersagemodell erscheint als eigene Wetterentität darunter; die TAWES-Sensoren (sofern Station gewählt), der Warnungs-Sensor und die Luftqualitäts-Sensoren werden einmalig pro Gerät angelegt.

Alle Parameter können nach der Ersteinrichtung über Einstellungen → Geräte & Dienste → Konfigurieren geändert werden.

Wichtige österreichische Stationen

Station-ID Name
11035 Wien / Hohe Warte
11036 Wien / Schwechat (Flughafen)
11389 St.Pölten
11190 Linz / Hörsching
11150 Salzburg Flughafen
11101 Innsbruck Flughafen
11240 Graz Flughafen
11010 Bregenz
11060 Klagenfurt Flughafen

Alle Stations-IDs: https://dataset.api.hub.geosphere.at/v1/station/current/tawes-v1-10min/metadata


Wetterbedingungen (Conditions)

Die Condition wird aus den TAWES-Echtzeitdaten abgeleitet (Priorität höchste zuerst):

Priorität Bedingung Quelle
1 snowy-rainy (Schneeregen) SH > 0,1 cm + RR ≥ 0,2 mm/10min
2 pouring (Starkregen) RR ≥ 1 mm/10min
3 rainy (Regen) RR ≥ 0,2 mm/10min
4 snowy (Schnee) SH > 0,1 cm
5 fog (Nebel) RF ≥ 97 % + FF < 2 m/s
6 cloudy / windy-variant SO < 12,5 % der möglichen Sonnenscheindauer
7 partlycloudy SO < 50 %
8 windy FF ≥ 10 m/s
9 sunny / clear-night Default

Ist keine TAWES-Station konfiguriert, werden alle aktuellen Werte (Condition, Temperatur, Feuchte, Wind, Niederschlag) aus dem ersten verfügbaren Vorhersagepunkt abgeleitet. Taupunkt, Luftdruck und einzelne abgeleitete Felder bleiben leer, da die Modelle diese Größen nicht alle liefern.

Für die Vorhersage werden vorrangig der GeoSphere-Symbolcode (sy, alle 32 Codes inkl. Gewitter), sowie Wolkenbedeckung (tcc), Niederschlag (rain_acc, snow_acc) und Wind aus dem NWP-Modell verwendet. Bei stündlichen Vorhersagen wird sy direkt verwendet; für Tagesvorhersagen wird der ungünstigste (signifikanteste) sy-Code der Tagesstunden herangezogen. Akkumulierte Niederschlagssummen können die symbolbasierte Bedingung überschreiben, jedoch nicht lightning-rainy abstufen. Hohe Windgeschwindigkeiten (≥ 10 m/s) ergeben windy bzw. windy-variant bei klaren oder bewölkten Bedingungen.


Vorhersage

Die GeoSphere-Modelle NWP und Ensemble liefern stündliche Daten für rund 60 Stunden; die Integration exponiert daraus die nächsten 48 Stunden als hourly-Forecast und 2–3 Tage als daily-Forecast. Optional kann in den Einstellungen Open-Meteo aktiviert werden — das verlängert den Daily-Forecast auf 3 bis 14 Tage (konfigurierbar, Default 7). Die ersten Tage stammen dabei weiterhin von GeoSphere; Open-Meteo füllt ausschließlich den Bereich, den GeoSphere nicht mehr abdeckt.

Attribute

Zusätzlich zu den HA-Standardfeldern (Temperatur, Niederschlag, Wind, Böen, Luftfeuchtigkeit) liefert die Integration je Forecast-Slot folgende Zusatzattribute, die in Dashboards (z. B. via state_attr()) verwendet werden können:

Attribut Einheit Quelle Stündlich Täglich
solar_irradiance W/m² NWP grad, Ensemble grad_p50 ✅ je Stunde
snow_altitude m NWP snowlmt, Ensemble snowlmt_p50 ✅ je Stunde ✅ Tagesminimum
cape m²/s² NWP cape, Ensemble cape_p50 ✅ je Stunde ✅ Tagesmaximum
uv_index dimensionslos (WMO 0–11+) Open-Meteo uv_index_max ✅ Tagesmaximum (nur bei aktivierter Open-Meteo-Verlängerung)
  • snow_altitude ist die Schneefallgrenze in Metern – hochrelevant im Bergland. Im Tagesforecast wird das Tagesminimum geliefert (= tiefstes Niveau, auf das Schneefall reicht).
  • cape quantifiziert das Gewitterpotenzial. Werte >1000 J/kg deuten auf Gewitter hin, >2500 auf schwere Gewitter. Im Tagesforecast wird das Tagesmaximum geliefert.
  • uv_index ist das WMO-UV-Tagesmaximum. Wird nur befüllt, wenn die Open-Meteo-Verlängerung aktiviert ist, und nur für die Tage, die Open-Meteo abdeckt (d. h. nach Ablauf der GeoSphere-Daten). Zusätzlich werden für diese Tage die HA-Standardfelder apparent_temperature, dew_point, cloud_coverage, pressure, precipitation_probability aus Open-Meteo befüllt.

Robustheit gegen API-Ausfälle

Die GeoSphere-API ist gelegentlich nicht erreichbar. Damit Sensoren nicht für Stunden auf „nicht verfügbar" fallen, hat jeder Coordinator einen Last-known-good-Cache: Bei einem temporären API-Fehler werden die zuletzt erfolgreichen Daten weiter geliefert (eingefroren bis zum nächsten erfolgreichen Refresh).

Zusätzlich planen die Coordinatoren bei einem Fehler beschleunigte Wiederholversuche mit Fibonacci-Abständen: 1 → 2 → 3 → 5 → 8 → 13 → 21 → 30 min (Maximum). Sobald die API wieder antwortet, fällt der Backoff zurück auf das reguläre Polling-Intervall (10 min für TAWES, 60 min für Vorhersage).


Data Updates

Die Integration ist ein reines Cloud-Polling-Modul — sie hält keine offene Verbindung, sondern fragt die GeoSphere-Endpunkte in festen Intervallen ab:

Datenquelle Intervall Wann sinnvoll
TAWES (aktuelle Messwerte) 10 Minuten Stationsdaten ändern sich nicht häufiger
NWP/Ensemble/Nowcast (Vorhersage) 60 Minuten Modellläufe werden stündlich aktualisiert
Wetterwarnungen 15 Minuten Reaktiver Push für neue Warnungen ist nicht verfügbar
Luftqualität (chem-v2-1h-3km) 60 Minuten Modell publiziert stündlich
Open-Meteo (optional) 60 Minuten Tagesverlängerung

Bei API-Fehlern liefern alle Koordinatoren die letzten erfolgreichen Daten weiter und versuchen einen beschleunigten Refresh mit Fibonacci-Backoff (siehe Robustheit).


Anwendungsfälle

Die Integration wird typischerweise eingesetzt für:

  1. Lokale Wetteranzeige am Smart-Display (Lovelace weather-forecast-Karte mit stündlicher Vorhersage).
  2. Unwetter-Alerts via Notification: Automation, die bei sensor.geosphere_warning_level >= 2 (orange/rot) eine Push-Nachricht versendet.
  3. PV-Steuerung mit Globalstrahlung (sensor.geosphere_global_radiation) und CAPE (state_attr('weather.geosphere', 'cape')) — z. B. Wechselrichter-Standby vor Gewittern.
  4. Schneefall-Trigger im Bergland: forecast.snow_altitude < ele_haus aktiviert Schneeräum-Reminder.
  5. Luftqualitäts-Display im Dashboard mit AQI-Sensor + Pollen-Sensoren aus anderen Integrationen.

Beispiel-Automation: Gewitter-Voralarm

automation:
  - alias: Gewitter-Vorwarnung
    trigger:
      - platform: numeric_state
        entity_id: weather.geosphere_nwp
        attribute: cape
        above: 1500
    action:
      - service: notify.mobile_app
        data:
          title: "Gewitter möglich"
          message: "CAPE > 1500 J/kg in der Vorhersage."

Beispiel-Automation: Reaktion auf rote Warnung

automation:
  - alias: Rote-Warnung-Push
    trigger:
      - platform: state
        entity_id: sensor.geosphere_warning_level
        to: "3"
    action:
      - service: notify.alle_geraete
        data:
          title: "{{ trigger.to_state.attributes.warnings[0].type }}"
          message: "{{ trigger.to_state.attributes.warnings[0].text }}"

Bekannte Einschränkungen

  • Geographischer Geltungsbereich: GeoSphere DataHub liefert nur Daten für Österreich. Außerhalb des österreichischen Bundesgebiets sind die Vorhersagen ungenau oder leer.
  • Nowcast hat kein Daily-Forecast: Das Nowcast-Modell liefert nur 2–3 h Voraus — die Entität exponiert daher nur die stündliche Vorhersage, kein forecast.daily.
  • Ensemble bietet keine relative Feuchte: rh2m fehlt in den Ensemble-Parametern → die Wetterentität liefert in dem Modell kein humidity-Feld in der Vorhersage.
  • API-Rate-Limits unbekannt: GeoSphere veröffentlicht keine harten Rate-Limits. Die Polling-Intervalle sind konservativ gewählt; bei produktivem Einsatz keine Reduzierung empfohlen.
  • Warnungs-API ist deutsch-only: Die Warntexte aus warnungen.zamg.at sind ausschließlich deutsch.

Troubleshooting

Symptom Ursache Lösung
Sensoren bleiben auf "Nicht verfügbar" API hat noch keinen erfolgreichen Refresh geschafft Im Log nach geosphere_austria_plus filtern; Fibonacci-Retry läuft automatisch (max. 30 min)
Wetter-Entität fehlt 0 Modelle in Konfiguration ausgewählt In Optionen mindestens ein Forecast-Modell wählen
TAWES-Sensoren fehlen Keine TAWES-Station konfiguriert In Optionen Station auswählen
Forecast hat keine Daten API-Modell antwortet zu langsam beim ersten Setup Integration neu laden — ConfigEntryNotReady triggert automatischen Retry
"Pressure (Reduced)" / "Global Radiation" / "Snow Height" / "Sunshine Duration" fehlen Standardmäßig deaktiviert seit v2.10 Im Entity-Register aktivieren (Einstellungen → Geräte & Dienste → Entität → Aktivieren)
Repair-Hinweis "Veraltete Einzel-Modell-Konfiguration" Eintrag stammt aus älterer Plugin-Version In den Optionen einmal speichern → migriert automatisch

Für tiefergehende Analyse: Einstellungen → Geräte & Dienste → GeoSphere Austria Plus → Diagnose herunterladen liefert ein JSON mit Coordinator-Status, Retry-Counter und Endpunkt-Erreichbarkeit (ohne präzise Koordinaten).


Entfernen

  1. Einstellungen → Geräte & Dienste → GeoSphere Austria Plus → Löschen
  2. HACS → Integrationen → GeoSphere Austria Plus → "Deinstallieren"
  3. Home Assistant neu starten

Beim Löschen des Config-Entry werden alle zugehörigen Entities, das Gerät und gecachte Daten automatisch entfernt.


Lizenz

Die GeoSphere Austria API-Daten stehen unter CC BY 4.0 — © GeoSphere Austria.

Die optionale Tagesverlängerung nutzt Daten von Open-Meteo, ebenfalls unter CC BY 4.0 lizenziert. Attribution-String der Integration: „Daily forecast extension by Open-Meteo (CC-BY 4.0)".

Der Code dieser Integration steht unter der MIT-Lizenz.

About

Home Assistant custom integration that fetches real-time weather data and forecasts from the Austrian GeoSphere DataHub API. Replaces the built-in zamg integration with derived weather conditions and 48 h hourly / 7-day daily forecasts via NWP, Ensemble or Nowcast models. No API key required.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages