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.
| 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 | ✅ |
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.
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.
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 |
| 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.
- HACS → Integrationen →
+ Hinzufügen - „Custom repositories" → diese Repo-URL eingeben → Kategorie: Integration
- „GeoSphere Austria Plus" installieren
- Home Assistant neu starten
- Einstellungen → Geräte & Dienste →
+ Integration hinzufügen→ GeoSphere Austria Plus
| 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.
| 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
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.
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.
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_altitudeist die Schneefallgrenze in Metern – hochrelevant im Bergland. Im Tagesforecast wird das Tagesminimum geliefert (= tiefstes Niveau, auf das Schneefall reicht).capequantifiziert das Gewitterpotenzial. Werte >1000 J/kg deuten auf Gewitter hin, >2500 auf schwere Gewitter. Im Tagesforecast wird das Tagesmaximum geliefert.uv_indexist 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-Standardfelderapparent_temperature,dew_point,cloud_coverage,pressure,precipitation_probabilityaus Open-Meteo befüllt.
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).
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).
Die Integration wird typischerweise eingesetzt für:
- Lokale Wetteranzeige am Smart-Display (Lovelace
weather-forecast-Karte mit stündlicher Vorhersage). - Unwetter-Alerts via Notification: Automation, die bei
sensor.geosphere_warning_level >= 2(orange/rot) eine Push-Nachricht versendet. - PV-Steuerung mit Globalstrahlung (
sensor.geosphere_global_radiation) und CAPE (state_attr('weather.geosphere', 'cape')) — z. B. Wechselrichter-Standby vor Gewittern. - Schneefall-Trigger im Bergland:
forecast.snow_altitude < ele_hausaktiviert Schneeräum-Reminder. - Luftqualitäts-Display im Dashboard mit AQI-Sensor + Pollen-Sensoren aus anderen Integrationen.
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."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 }}"- 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:
rh2mfehlt in den Ensemble-Parametern → die Wetterentität liefert in dem Modell keinhumidity-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.atsind ausschließlich deutsch.
| 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).
- Einstellungen → Geräte & Dienste → GeoSphere Austria Plus → Löschen
- HACS → Integrationen → GeoSphere Austria Plus → "Deinstallieren"
- Home Assistant neu starten
Beim Löschen des Config-Entry werden alle zugehörigen Entities, das Gerät und gecachte Daten automatisch entfernt.
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.