Skip to main content

ℹ️ 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

🗺️ 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/Tagnicht 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.
  • 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>