eifel-wetter.de
Kaifenheim. Dein Wetter.

Technik

Info

Inhalt

Im Folgenden werden sowohl die technischen Details der Wetterstation als auch aktuelle Projektvorhaben sowie bereits umgesetzte Erweiterungen und Verbesserungen vorgestellt. Dabei stehen Informationen zu Hard- und Software ebenso im Fokus wie praktische Erfahrungen und Modifikationen der Anlage.

Inbetriebnahme und erste Wetterdaten

Nach erfolgreicher Montage der Wetterstation und Einrichtung der Inneneinheit (Funk), sehen wir dass die Station einwandfrei arbeitet und die Messwerte zum Portal des Herstellers (Davis) sendet.

Hier könnte das Projekt nun bereits abgeschlossen sein!

Praktisch – aber für echte Technikfreaks nur die halbe Wahrheit. Denn spannend wird es erst, wenn man die Daten selbst in die Hand nimmt: auswerten, visualisieren, vergleichen und eigene Ideen umsetzen.

Was bietet uns hier der Hersteller Davis an?
Trotz ihres hohen Anschaffungspreises bieten die Wetterstationen ohne Abonnement lediglich begrenzte Möglichkeiten und einen deutlich reduzierten Bedienkomfort. Die ausgelesenen Daten liegen nicht im metrischen Datenformat vor, was die Weiterverarbeitung unnötig erschwert. Hinzu kommen teils mangelhafte Übersetzungen der Benutzeroberfläche und Texte ins Deutsche, die eher verwirren als helfen.

Durch ein kostenpflichtiges Abonnement, knapp 60€ pro Jahr, erhält man erweiterte Funktionen und den Zugriff auf historische Messdaten. Die Messwerte liegen dabei irgendwo „in der Cloud“ – also verteilt im Internet. Wo genau die Daten gespeichert werden und wie es um Datenschutz und Sicherheit bestellt ist, bleibt für den Nutzer oft unklar.

Auf dieser Seite verarbeiten wir die Wetterdaten eigenständig – unabhängig von Hersteller-Apps und fertigen Diagrammen. So entstehen individuelle Auswertungen, Langzeitstatistiken und Experimente rund ums Wetter, ganz nach dem Motto:
Meine Daten, meine Kontrolle.

Fangen wir an, was ist zu tun???
- Daten aus der Wetterstation auslesen
- Messwerte prüfen und auf europäische Einheiten umrechnen
- Daten in einer Datenbank ablegen
- Datenbestand auswerten und grafisch darstellen


Welche zusätzliche Hardware wird benötigt???
- Ein Mini-PC für die Ablaufsteuerung
- Ein zentrales Speichermedium


Und selbstverständlich wird mittels einer Firewallregel im Gateway der Zugang zum Internet für die Wetterstation gesperrt.
- Erstens verhindern wir damit die ungewollte Bereitstellung unserer Daten an den Hersteller Davis.
- Zweitens ist die Wetterstation damit vor Bedrohungen aus dem Internet geschützt.

Messwerte selbst erfassen

Hintergrundwissen

Grundlagen: Kommunikation mit der Wetterstation

Know-how:
In diesem Abschnitt erfährst du, wie die Wetterstation ihre Messwerte bereitstellt, wie diese Daten technisch abgefragt werden und warum das JSON-Format dafür besonders praktisch ist.
1
Verbindung zur Wetterstation verstehen
Die Inneneinheit bildet die Schnittstelle zum heimischen Netzwerk (LAN/WLAN) und ist über eine eindeutige IP-Adresse erreichbar. Diese Adressen werden in der Regel vom Internetrouter (z.B. Fritzbox) dynamisch vergeben. Auf der Konfigurationsseite der Fritzbox / Heimnetz ist ersichtlich, welche IP-Adresse unserer Wetterstation zugewiesen wurde.
In unserem Fall ist es die 192.168.178.116.

Wir machen eine erste Abfrage der Wetterstation indem wir die folgende Zeile in den Webbrowser eingeben:
http://192.168.178.116/v1/current_conditions

2
Messwerte als JSON auslesen
Die Antwort der Wetterstation kommt als Gesamtpaket im JSON-String und muss anschließend zerlegt werden, damit die Werte einzeln darstellbar sind, bzw. weiterverarbeitet werden können. Grundsätzlich gibt die Wetterstation die Messergebnisse mit amerikanischen Einheiten aus, die Temperatur in Fahrenheit, Windgeschwindigkeit in mph, Regenmenge in inch usw.
Darum kümmern wir uns später.
Beispiel: 36,9 °F entsprechen ca. 2,7 °C
Ergebnis: Damit sind wir nun in der Lage, unsere Messdaten selbst auszulesen, umzurechnen, zu speichern und individuell darzustellen.
JSON-Ausgabe der Wetterstation
Beispielhafte JSON-Ausgabe der Wetterstation

Datenbank

🗄
Hintergrundwissen

Wetterdaten dauerhaft speichern

Know-how:
In diesem Kapitel lernst du, warum Wetterdaten in einer MySQL-Datenbank gespeichert werden, wie die Wettertabelle aufgebaut ist und weshalb Zeitstempel für spätere Auswertungen wichtig sind.
🌦
Wetterstation
Erzeugt kontinuierlich neue Messwerte
📡
JSON Daten
Werden vom Webserver empfangen
🗄
MySQL Datenbank
Speichert alle Wetterdaten dauerhaft
📈
Langzeitauswertung
Diagramme und Analysen erzeugen
1
Datenbank anlegen
Um die erfassten Messwerte nicht nur kurzfristig anzuzeigen, sondern auch langfristig nutzen zu können, werden sie in einer MySQL-Datenbank gespeichert. Eine Datenbank ermöglicht es, große Mengen an Daten strukturiert und dauerhaft abzulegen. Dadurch können Messwerte später jederzeit wieder abgerufen, ausgewertet oder grafisch dargestellt werden.
Ein großer Vorteil der Datenbankspeicherung ist, dass sich Entwicklungen und Veränderungen über längere Zeiträume analysieren lassen. So können beispielsweise Temperaturverläufe, Luftdruckänderungen oder andere Wetterdaten in Diagrammen visualisiert und miteinander verglichen werden.
Für die Speicherung wird in der MySQL-Datenbank eine Tabelle angelegt, die den gleichen Aufbau wie der empfangene JSON-String besitzt. Jeder Messwert erhält dabei eine eigene Spalte, beispielsweise temp, hum, dew_point oder wind_speed. Die Bezeichnungen werden dabei direkt übernommen, um die Zuordnung der Daten möglichst einfach und übersichtlich zu halten.
Nachdem die Messwerte empfangen und gegebenenfalls umgerechnet wurden, werden sie zusammen mit einem Zeitstempel (Datum und Uhrzeit) in der Datenbank gespeichert. Durch diesen Zeitbezug können die Daten später gezielt nach bestimmten Zeiträumen gefiltert und ausgewertet werden.
MySQL Datenbank
MySQL dient als zentrales Archiv für sämtliche Wetterdaten.
Ohne Datenbank
Nur aktuelle Werte sichtbar
Keine Historie verfügbar
Keine Diagramme möglich
Mit Datenbank
Langzeitarchiv aller Messwerte
Historische Auswertungen
Diagramme und Statistiken
2
Aufbau der Wettertabelle

Die Struktur der Datenbank orientiert sich direkt an den empfangenen JSON-Daten der Wetterstation.

Jeder Messwert erhält dabei eine eigene Spalte:

temp Temperatur
hum Luftfeuchtigkeit
dew_point Taupunkt
wind_speed Windgeschwindigkeit
CREATE TABLE wetterdaten ( id INT AUTO_INCREMENT PRIMARY KEY, timestamp DATETIME, temp FLOAT, hum FLOAT, dew_point FLOAT, wind_speed FLOAT );
3
Warum Zeitstempel wichtig sind

Jeder Datensatz wird zusätzlich mit Datum und Uhrzeit gespeichert.

Dadurch lassen sich Wetterdaten später gezielt nach bestimmten Zeiträumen filtern und analysieren.

Beispiel:

12.05.2026 — 14:30 Uhr
Temperatur: 18,4 °C
Durch die langfristige Speicherung lassen sich Wetterentwicklungen sichtbar machen:

🌡 Temperaturverläufe
🌧 Niederschlagsmengen
🌬 Windentwicklungen
📉 Luftdruckänderungen
Ergebnis:
Die Wetterdaten werden dauerhaft archiviert und können später für Diagramme, Statistiken und umfangreiche Wetteranalysen verwendet werden.
Art und Umfang der Auswertung sind nun nach individuellen Vorstellungen möglich.
Beispiel: Tagestemperaturverlauf, incl Auswertung der min / max Werte sowie deren Uhrzeit
Ziel ist es, die Messwerte automatisch abzurufen und direkt zu speichern. Das lässt sich mit einem PHP-Skript gut umsetzen. Damit dieses Skript ausgeführt werden kann, wird ein lokaler Webserver benötigt, der PHP unterstützt und den Code verarbeitet.
Das PHP-Skript übernimmt dabei die Aufgabe, die Messdaten regelmäßig abzufragen, aufzubereiten und anschließend in der Datenbank abzulegen. Dadurch läuft der Vorgang automatisch ab und die Daten müssen nicht manuell erfasst werden.
Beispiel: Apache (Freeware)
Die folgenden Ausschnitte zeigen die wichtigsten Funktionen des Skripts.
Datenbank verbinden
Als erster Schritt wird eine Verbindung zur Datenbank hergestellt.
Die Userdaten stehen in der externen Datei inc/db.php
Anschließend erfolgt die eigentliche Abfrage der Wetterstation nach der zuvor beschriebenen Vorgehensweise. Die empfangenen Daten liegen dabei im JSON-Format vor. Direkt danach werden die einzelnen Messwerte aus dem JSON-String ausgelesen und für die weitere Verarbeitung vorbereitet.
Die grundlegende Struktur des Antwort-Strings bleibt dabei erhalten. Ein Verständnis dieser Struktur erleichtert das Nachvollziehen der Funktion und hilft dabei, die einzelnen Messwerte korrekt auszulesen und weiterzuverarbeiten.
Umrechnung:
Die Werte sind nun in Variablen abgelegt und können theoretisch schon genutzt werden. Allerdings liegen sie noch im amerikanischen Format vor und werden in das europäische Format umgerechnet.
Temperatur: Grad Celsius = 5/9 * (Fahrenheit-32)
Windgeschwindigkeit: km/h = 1,609 * mph
Luftdruck: hPa = 33.86 * inHG
Datenbank beschreiben
Zuletzt folgt die Speicherung der MySQL-Datenbank.
Damit die Daten fortlaufend erfasst und gespeichert werden, wird dieses Skript im Minicomputer als Cronjob ausgeführt. Wobei die Adresse des Skriptes auf dem Webserver anzugeben ist. Der nachfolgende Eintrag in der Crontab startet das Skript jede Minute.
* * * * * /usr/bin/wget -O - -q -t 1 http://192.168.178.12/wetterstation.php
Anmerkung:
Damit die Messwerte dauerhaft erfasst werden können, müssen sowohl der Webserver als auch der Minicomputer ständig eingeschaltet sein. In meinem Fall läuft der Webserver auf einem NAS, das ohnehin rund um die Uhr in Betrieb ist. Der Minicomputer übernimmt zusätzlich noch andere Aufgaben und führt den Aufruf des Skripts einfach nebenbei aus. Dadurch waren keine zusätzlichen Geräte notwendig und es musste auch keine extra Hardware ausschließlich für dieses Projekt betrieben werden.

Als Webseite ausgeben

🧠
Hintergrundwissen

Vom Rohwert zur fertigen Wetteranzeige

Know-how:
In diesem Kapitel lernst du, wie Wetterdaten aus der Datenbank gelesen, übersetzt und anschließend benutzerfreundlich auf der Webseite dargestellt werden.
🌦
Wetterstation
Liefert jede Minute neue Messwerte
🗄
Datenbank
Speichert sämtliche Rohdaten dauerhaft
💻
PHP + SQL
Liest die Daten aus und verarbeitet sie
📱
Webseite
Zeigt verständliche Wetterwerte an
1
Wetterdaten automatisch speichern

Jede Minute wird automatisch ein neuer Datensatz mit sämtlichen Wetterwerten gespeichert.

Die Datenbank bildet damit das zentrale Herzstück der Wetterwebseite.

SELECT temp, hum, rain FROM wetterdaten ORDER BY id DESC LIMIT 1;
Mithilfe von SQL-Abfragen können gezielt einzelne Wetterwerte aus der Datenbank gelesen werden. Dadurch lassen sich Tabellen, Diagramme oder komplette Wetterseiten dynamisch erzeugen.
Rohdaten aus der Wetterstation
temp 2.7
hum 83.6
Darstellung auf der Webseite
Temperatur 2,7 °C
Luftfeuchtigkeit 83,6 % rel.
2
Die Struktur-Tabelle

Die Wetterdatenbank verwendet technische Kürzel nach dem Davis-Format.

temp → Temperatur → °C
hum → Luftfeuchtigkeit → % rel.

Damit die Webseite verständliche Begriffe anzeigen kann, existiert zusätzlich die Tabelle Struktur.

Diese Tabelle übersetzt die technischen Kürzel automatisch in lesbare Bezeichnungen inklusive Einheit.

3
Praxisbeispiel
Rohwert aus Datenbank:

hum, 83.6
Übersetzte Webseitenanzeige:

Luftfeuchtigkeit: 83,6 % rel.
Ergebnis:
Aus kompakten technischen Rohdaten entsteht automatisch eine verständliche und benutzerfreundliche Wetterwebseite.
Das Resultat sieht dann wie folgt aus:

Die Wetterkamera

Die Wetterstation erfasst kontinuierlich eine große Anzahl an Messwerten. Tabellen und Diagramme liefern zwar eine genaue Übersicht über die aktuelle Wetterlage und deren Entwicklung, dennoch lassen sich viele Informationen visuell deutlich schneller und intuitiver erfassen.

Nicht ohne Grund heißt es:
„Ein Bild sagt mehr als tausend Worte.“

Aus dieser Idee entstand die Wetterkamera. Eine hochauflösende 4K-Ultra-HD-Kamera in einem wetterfesten Außengehäuse erstellt regelmäßig aktuelle Aufnahmen der Umgebung. Die komplette Weiterverarbeitung der Bilder übernimmt der bereits vorhandene Minicomputer, in diesem Fall ein Raspberry Pi.

Damit aus dem einfachen Kamerabild eine informative Wetteransicht entsteht, werden automatisch mehrere Verarbeitungsschritte durchgeführt:

  1. Aktuelles Bild von der Außenkamera abrufen.
  2. Das Foto bearbeiten, Auflösung optimieren und die Bildgröße anpassen.
  3. Die aktuellen Wetterdaten aus der Datenbank auslesen.
  4. Prüfen, ob aktuelle Wetterwarnungen des Deutschen Wetterdienstes (DWD) vorliegen.
  5. Position und Größe des Windpfeils berechnen. Die Darstellung verändert sich dynamisch abhängig von der aktuellen Windstärke.
  6. Symbole, Warnmeldungen und farbige Hintergrundflächen in das Bild einfügen.
  7. Wetterdaten und weitere Informationen direkt in das Foto einblenden.
  8. Das fertige Bild automatisch auf den Webserver eifel-wetter.de hochladen.
  9. Den gesamten Ablauf jede Minute wiederholen, sodass dauerhaft aktuelle Wetterbilder zur Verfügung stehen.
  10. Die letzten 60 Bilder werden auf dem Webserver gespeichert und können als Animation abgespielt werden. Anschließend werden sie automatisch gelöscht. Für die 24-Stunden-Slideshow werden separate Bilder erzeugt, gespeichert und nach 24 Stunden automatisch entfernt.

Info: Seit Version 5.0 verändert die Kamera einmal pro Stunde automatisch ihre Aufnahmerichtung und schwenkt über den Ortskern hinweg.


Sämtliche Einblendungen werden dynamisch erzeugt und passen sich automatisch an die aktuellen Wetterdaten, die Tageszeit sowie vorhandene Wetterwarnungen an.

Folgende Informationen können direkt aus dem Bild der Wetterkamera entnommen werden:

  • aktueller optischer Eindruck der Wetterlage
  • Windrichtung und Windstärke
  • Temperatur, Taupunkt, Luftdruck und Luftfeuchtigkeit
  • Niederschlagsintensität und Niederschlagsmenge
  • Sonnenaufgang und Sonnenuntergang
  • aktuelle Wetterwarnungen (seit Version 4.3)
  • Messwerte des Regensensors (seit Version 6.5)
  • Sichtweite anhand von Markierungen im Bild
Horizont Sichtbedingung erfüllt Horizont Sichtbedingung erfüllt Horizont Sichtbedingung nicht erfüllt
zu bewerten ist die Horizontlinie, die unmittelbar unten an die Markierung angrenzt.
Foto links und mitte : Sichtbedingung erfüllt,
Foto rechts: Sichtbedingung nicht erfüllt

Referenzbild der Wetterkamera Kaifenheim

Modifikation der Hardware

In der kalten Jahreszeit besteht die Gefahr, dass der Niederschlagssensor einfriert oder durch den Schnee völlig überfüllt wird und damit keine Messwerte mehr liefert.
Abhilfe soll hier eine Niedervolt-Heizfolie (12 V) schaffen. Kosten: 7,35 €/Stück
Heizung
Damit der gesamte Trichter beheizt werden kann, werden zwei Heizfolien benötigt. Die selbstklebenden Folien werden – wie gezeigt – auf der Unterseite des Trichters angebracht. Anschließend werden die Anschlussdrähte verlötet und mit Schrumpfschlauch mit Innenkleber gegen Feuchtigkeit und mechanische Belastung geschützt.
Ein Heizelement liefert eine Heizleistung von etwa 13 Watt. Da dies für diesen Anwendungsfall deutlich mehr als erforderlich ist, werden die beiden Heizelemente in Reihe geschaltet. Dadurch liegt an jedem Element nur noch die halbe Betriebsspannung an, wodurch sich die Leistung auf etwa 25 % reduziert. Das entspricht ungefähr 3 Watt Heizleistung pro Element. Diese Leistung ist ausreichend, um den Trichter zuverlässig vor Vereisung zu schützen. Lose Drähte werden zusätzlich mit Heißkleber fixiert, sodass sie die Regenwippe keinesfalls berühren oder deren Bewegung blockieren können.
für die Steuerung
Ein Thermostat im benachbarten Anschlusskasten schaltet die Versorgungsspannung automatisch ein, sobald die Außentemperatur unter +3 °C fällt.


#update:
Im Januar 2024 hielt auch im Bereich der Wetterstation das SmartHome Einzug. Das bisher verwendete Thermostat wurde durch einen WLAN-basierten Controller ersetzt (Kostenpunkt: etwa 3,50 €). Da die Wetterstation die Außentemperatur bereits an den SmartHome-Server überträgt, muss dieser Wert lediglich ausgewertet werden, um das Relais bei Bedarf automatisch einzuschalten – eine einfache und zugleich flexible Lösung. Über die SmartHome-Visualisierung kann nun außerdem der aktuelle Zustand der Heizung überwacht werden. Dies war mit der bisherigen Lösung über das klassische Thermostat nicht möglich.

Erweiterung: Niederschlagssensor

Im laufenden Betrieb der Anlage wurde wiederholt festgestellt, dass bei leichtem Regen eine Regenrate von 0 mm/h angezeigt wird. Wie ist das zu erklären?
Um dies zu verstehen, lohnt sich ein Blick auf die Funktionsweise der Niederschlagsmessung:
Die Wetterstation erfasst die Niederschlagsmenge mithilfe eines sogenannten Kipplöffelsensors. Dabei wird der Niederschlag über einen Trichter gesammelt und dem Kipplöffel zugeführt. Sobald eine definierte Füllmenge erreicht ist, kippt der Löffel, entleert sich und erzeugt dabei ein Messsignal. Durch das Zählen dieser Kippvorgänge wird die tatsächliche Niederschlagsmenge bestimmt.

Was bedeutet dies in der Praxis?
Bei sehr geringen Niederschlagsmengen wird die erforderliche Füllmenge des Kipplöffels oft erst nach längerer Zeit oder gar nicht erreicht. Dadurch kann es vorkommen, dass leichter Regen von der Wetterstation zunächst nicht erfasst wird und die Anzeige weiterhin 0 mm/h ausgibt.

Abhilfe schafft in diesem Fall ein zusätzlicher Sensor:
Ein Beispiel hierfür ist der Regensensor Kemo M152K. Dieser arbeitet nach dem kapazitiven Erkennungsprinzip und erkennt bereits wenige Tropfen auf der Sensoroberfläche.

Vorteil:
Die Sensorfläche ist elektrisch isoliert und dadurch unempfindlich gegenüber Oxidation.
Der Relaisausgang des Sensors wird über einen Mikrocontroller vom Typ ESP8266 erfasst. Anschließend werden die Informationen an den zentralen Webserver übertragen. Dort erfolgt die Speicherung der Messwerte in der bereits beschriebenen MySQL-Datenbank. Durch die schräge Montage kann Wasser schneller von der Sensorfläche ablaufen. Zusätzlich verhindern die angebrachten Kabelbinder, dass sich Vögel auf dem Sensor niederlassen und Fehlmeldungen verursachen.

Ergebnis:
- Leichter Regen wird nun zuverlässig erkannt und in der Tabelle angezeigt.
- im Bild der Wetterkamera wird der Hinweis "Sprühregen" angezeigt.
- Auch im Wetterdiagramm wird der Sensorzustand dargestellt (orange markiert).

Messdaten im SmartHome nutzen

Welche Vorteile bietet SmartHome und wie wird es umgesetzt?
In einem smarten Wohngebäude können elektrische Verbraucher wie Lampen, Rollläden, Heizungen oder andere Geräte über das lokale Netzwerk gesteuert werden. Die Schaltvorgänge erfolgen dabei nicht manuell, sondern auf Basis einer frei definierbaren Logik. So können Verbraucher beispielsweise zeitgesteuert oder abhängig von bestimmten Sensorwerten automatisch ein- oder ausgeschaltet werden. Je mehr unterschiedliche Sensoren im SmartHome zur Verfügung stehen, desto vielfältiger sind die Möglichkeiten zur Verknüpfung und Automatisierung. Damit der Haustechnik-Server, in diesem Fall ioBroker, auf aktuelle Wettersituationen reagieren kann, benötigt er Zugriff auf die Daten der Wetterstation. Die Abfrage erfolgt wie bereits im Kapitel „Kommunikation mit der Wetterstation“ beschrieben. In diesem Anwendungsfall übernimmt jedoch ein Blockly-Skript innerhalb von ioBroker die gesamte Verarbeitung.
Mit den nun verfügbaren Wetterdaten kann ioBroker verschiedene Automatisierungen ausführen, zum Beispiel:
- einen aktuellen Wetterbericht erstellen und über smarte Lautsprecher ausgeben,
- Wetterwarnungen an das Smartphone senden,
- Hinweise über smarte Lautsprecher ausgeben, wenn bei Sturm oder Regen noch Fenster oder Türen geöffnet sind,
- bei Dunkelheit und gleichzeitigem Regen die IR-Scheinwerfer der Außenkameras deaktivieren, um Fehlalarme zu vermeiden,
- bei Starkregen den Mähroboter pausieren und automatisch zur Garage zurückfahren lassen.
Wie sieht das zugehörige Blockly Skript aus?
Das Blockly-Skript wird über einen Trigger alle 10 Sekunden gestartet. Bei jedem Durchlauf sendet es eine Anfrage an die Wetterstation und ruft die aktuellen Messwerte ab:
Die Antwort der Wetterstation wird als JSON-String bereitgestellt und muss anschließend entsprechend ausgewertet werden. Die daraus gewonnenen Messwerte werden in eigens dafür angelegte Datenpunkte geschrieben:
Da die Wetterstation amerikanische Grundeinheiten verwendet, müssen einige Messwerte zunächst umgerechnet werden. Beim Niederschlag wird die Anzahl der Kippvorgänge des Kipplöffelsensors übertragen. Der Sensor arbeitet mit einer Auflösung von 0,2 mm pro Kippvorgang. Daher wird der empfangene Zählwert durch 5 dividiert, um den tatsächlichen Niederschlag in Millimetern zu erhalten. Die Luftfeuchtigkeit wird hingegen – ebenso wie in Europa – bereits in Prozent angegeben. Hier ist daher keine Umrechnung erforderlich: