ℹ️ 1. Überblick & Grundlagen
Hinweis
Hier im Wiki findest du möglicherweise eine bessere Lösung als reines PHP-Programm (siehe: dwdWetter.php), besonders dann, wenn du die JSON-Wetterdaten für andere Systeme wie z.B. ein Smarthome benötigst.
Info
Dieses Buch dokumentiert eine freie DWD Wettervorhersage-Integration für MODX Revolution auf Basis der DWD OpenData MOSMIX-Vorhersagedaten – ohne Anmeldung oder APIs.
Getestet mit:
- MODX 2.8.4 (PHP 7.4.16)
- MODX 3.0.1 (PHP 8.1.5)
- MODX 3.1.2 (PHP 8.4.12)
⚠️ Update 2022
Der DWD leitet alte Links leider nicht auf neue/korrekte Ziele um.
In der Linkliste sind diese Einträge als (RIP) markiert.
Demos
💡 Tipp
Die Demos zeigen typische Ausgabevarianten (Direktausgabe und Kalender).
OpenData & DWD — Linksammlung
- README DWD OpenData
- MOSMIX (Allgemein)
- MOSMIX-Elemente (RIP)
- OpenData: Inhaltsübersicht (RIP)
- Parameter-Beschreibungen „Wetter (ww…)“
- FAQ MOSMIX-Vorhersagedaten
- Stationskatalog (Vorhersagepunkte)
- ww-Code (Hintergrund & Beschreibung)
- Testdatei (Bitburg, K428) — MOSMIX_L_LATEST_K428.kmz
🗺️ Stationsbeispiele
- 10609 = Trier
- 10513 = Köln/Bonn
- K428 = Bitburg
Datensätze & Aktualisierung
MOSMIX_L (verwendet)
- Enthält ca. 115 Wettervariablen pro Vorhersage.
- Maximale Vorhersagezeit: +240 Stunden (10 Tage).
- Aktualisierung 4× täglich: 03, 09, 15, 21 UTC.
- Das Snippet holt 19 Variablen stündlich per
cURL(nur bei Seitenaufruf) und setzt diese in Platzhalter bzw. rendert ein Chunk-Template (10-Tage-Trend).
MOSMIX_S (als Hinweis)
- Enthält ~40 Parameter.
- Updatefrequenz: 24× für den ersten Tag, danach 4× täglich (bis +240h).
- Sehr große Dateien: alle Stationen in einer Datei, ~37 MB.
Bei stündlichem Laden: ~900 MB/Tag → nicht empfohlen.
🔧 Praxis
Für eine schlanke, stationbasierte Integration ist MOSMIX_L sinnvoller als MOSMIX_S.
Zentrale Idee des Snippets
Das Snippet dwdWeather:
- lädt die MOSMIX_L-KMZ der gewünschten Station via
cURL. - extrahiert die KML-Inhalte.
- berechnet/normalisiert ausgewählte 19 Wetterparameter (u. a. Temperatur, Taupunkt, Windrichtung/-geschwindigkeit, Bewölkung, Luftdruck, Niederschlag, Sichtweite, Sonnenschein, „Significant Weather“).
- generiert Platzhalter (z.B.
[[+fc_V_E]]) für:- V = Vorhersage-Index (0–19) → 10 Tage bei 2 Werten/Tag bzw. 24/Tag für
fcAll. - E = Element (0–18) → s. Referenz ab Seite 5.
- V = Vorhersage-Index (0–19) → 10 Tage bei 2 Werten/Tag bzw. 24/Tag für
- stellt die Ausgabe optional über ein Chunk-Template (z.B.
dwdWetterTPL) bereit.
🧩 Platzhalter (Auszug)
- Ort/Datum:
[[+location]][[+pubDate]][[+pubDateDay]]- Sonne:
[[+sunrise]][[+sunset]][[+dayduration]]- Luftdrucktendenz:
[[+pTendenz]][[+pDelta]]- Vorhersage-Elemente (Index-basiert):
[[+fc_V_E]]
(Details & Mapping siehe Seite 5)
Beispielausgabe per Chunk (Vorschau)
📦 Beispiel-Chunk
dwdWetterTPL
(Wird ab Seite 3 vollständig erläutert. Hier nur als Vorschau zur Orientierung.)
<div>
<div>
<h4>[[+fc0]] [[+fc2]] [[+fc1]]</h4>
<img src="[[+fc17]]" title="[[+fc16]]" alt="">
</div>
[[+fc5:gte=`0.1`:then=`<span class="label blue">[[+fc5]]</span>`:else=`<span class="label red">[[+fc5]]</span>`]]
<br>
<small>Sonnenschein: [[+fc14]]</small><br>
<small>Wolkendecke: [[+fc10]]</small><br>
<small>Niederschlag: [[+fc13]]</small><br>
<small>Wind (Richtung): [[+fc8]] ([[+fc7]])</small><br>
<small>Max. Windböe: [[+fc9]]</small><br>
<small>Luftdruck: [[+fc11]]</small><br>
<small>Luftfeuchte: [[+fc18]]</small><br>
<small>Sichtweite: [[+fc15]]</small><br>
</div>
