Walker-Jones Wetter ist eine private Wetterstation in Schwendi, Baden-Württemberg, Deutschland. Sie verwendet einen Bresser 7-in-1 Funksensor im Garten, um Temperatur, Luftfeuchtigkeit, Windgeschwindigkeit und ‑richtung, Niederschlag, UV-Index und Lichtstärke zu messen — alle Werte werden etwa alle 12–18 Sekunden drahtlos an einen Empfänger im Haus übertragen.
Anstatt eine herstellereigene Display-Konsole zu verwenden, wird das Funksignal des Sensors von einem an einen Raspberry Pi 3B angeschlossenen RTL-SDR USB-Stick empfangen. Open-Source-Software dekodiert das Signal in Echtzeit und schreibt jeden Messwert in eine MySQL-Datenbank, die auf einem entfernten cPanel-Webserver läuft. Die Übersichts-, Verlaufs- und Vorhersageseiten sind PHP-Seiten auf demselben Webserver — sie fragen die Datenbank ab und stellen alles live dar.
Der Pi spielt für die Auslieferung der Website keine Rolle; er sammelt nur Daten. So bleibt das Web-Hosting zuverlässig und unabhängig davon, was zuhause mit dem Pi passiert.
868-MHz-ISM-Band
Radio-Empfänger
schreibt in die DB
Webserver gehostet
Webserver ausgeliefert
Bresser 7-in-1-Sensor
Ein Außensensor in Profi-Qualität, der Temperatur (°C), relative Luftfeuchtigkeit (%), Windgeschwindigkeit und ‑richtung, kumulierten Niederschlag (mm), UV-Index und Lichtstärke (Lux) misst. Sendet etwa alle 12–18 Sekunden im 868-MHz-ISM-Band per OOK/PWM-Codierung.
RTL-SDR USB-Stick
Ein günstiger Software-Defined-Radio-Empfänger, ursprünglich für DVB-T entworfen. Am USB-Port des Raspberry Pi angeschlossen, erfasst er rohe Funksignale über einen weiten Frequenzbereich. Die Open-Source-Software rtl_433 erkennt und dekodiert das Bresser-Protokoll automatisch.
Raspberry Pi 3B
Ein kleiner Einplatinencomputer, der zuhause durchgehend läuft. Er führt rtl_433 aus, das Sensor-Sendungen empfängt, jeden Messwert dekodiert und über eine Netzwerkverbindung als Zeile in die entfernte MySQL-Datenbank einfügt. Der Pi liefert keine Webinhalte aus — er sammelt und leitet nur Daten weiter.
Gefühlte Temperatur (Apparent Temperature)
Die "gefühlte" Temperatur verwendet die Formel der Australian Apparent Temperature des australischen Wetterdienstes. Anders als reine Windchill- oder Hitzeindex-Werte berücksichtigt sie alle drei Faktoren — Lufttemperatur, Luftfeuchtigkeit und Windgeschwindigkeit — in einer einzigen Gleichung, die für alle Wetterbedingungen gilt.
e = (RH / 100) × 6.105 × exp(17.27 × T / (237.7 + T))
T = Lufttemp. (°C) · RH = rel. Luftfeuchte (%) · ws = Windgeschw. (m/s)
Hohe Luftfeuchtigkeit erhöht die gefühlte Temperatur (schwüles Gefühl); Wind senkt sie (Windchill). Der Offset von −4,00 kalibriert die Skala auf das menschliche Empfinden.
Taupunkt
Der Taupunkt ist die Temperatur, bei der die Luft gesättigt ist und Wasserdampf zu kondensieren beginnt. Er wird aus Lufttemperatur und relativer Luftfeuchtigkeit mit der Magnus-Formel berechnet:
Td = 243.04 × γ / (17.625 − γ)
T = Lufttemp. (°C) · RH = rel. Luftfeuchte (%)
Ein Taupunkt über 16 °C wirkt zunehmend schwül; über 21 °C gilt er als drückend. Wenn Lufttemperatur und Taupunkt gleich sind, beträgt die relative Luftfeuchte 100 %.
Niederschlag
Der Bresser-Sensor speichert eine kumulierte Gesamtsumme des Regens in mm seit dem letzten Sensor-Reset. Um den Niederschlag in einem Zeitraum zu berechnen, summiert die Übersicht nur die positiven Differenzen zwischen aufeinanderfolgenden Messwerten:
Das ist reset-sicher: Wenn der Lebenszeit-Zähler des Sensors auf null zurückspringt (Batteriewechsel, Neustart), wird die negative Differenz ignoriert. Die Rate (mm/h) wird aus der Differenz der beiden zuletzt aufeinanderfolgenden Messwerte hochgerechnet.
Windgeschwindigkeit
Die Windgeschwindigkeit wird in der Datenbank in Metern pro Sekunde (m/s) gespeichert, wie vom Sensor empfangen. Alle angezeigten Werte werden durch Multiplikation mit 3,6 in Kilometer pro Stunde (km/h) umgerechnet.
Die Beaufort-Skala verwendet den unveränderten m/s-Wert gegen die WMO-Standardgrenzen (Windstille = < 0,3 m/s bis Steifer Wind = ≥ 13,9 m/s). Jeder Messwert speichert sowohl die mittlere Windgeschwindigkeit als auch die höchste Böe für das Intervall.
Verlaufsdiagramm-Intervalle
Damit Diagramme unabhängig von der Zahl der Messwerte schnell und lesbar bleiben, werden Messwerte vor dem Plotten in Zeitintervalle gruppiert und gemittelt:
2–7 Tage → 30-Minuten-Intervalle
8+ Tage → 2-Stunden-Intervalle
Temperatur, Luftfeuchte, Wind, UV und Licht werden je Intervall gemittelt. Niederschlag verwendet pro Intervall den höchsten kumulierten Wert (anschließend differenziert), um starken Regen nicht zu unterschätzen.
7-Tage-Vorhersage
Vorhersagedaten werden in Echtzeit von Open-Meteo abgerufen, einer kostenlosen Open-Source-Wetter-API ohne Schlüsselpflicht. Sie liefert stündliche und tägliche Vorhersagen aus einer Mischung von NWP-Modellen (ICON, GFS, ECMWF), interpoliert auf die genauen Stationskoordinaten (48,1897° N, 9,9497° O).
Der Vergleich Station vs. Vorhersage auf der Vorhersageseite zeigt die Differenz zwischen dem zuletzt gemessenen Sensorwert und der aktuellen Modellausgabe — ein nützlicher Indikator für lokale Mikroklimaschwankungen.
Dieses Projekt wurde komplett "vibe coded" — entworfen, geschrieben und iteriert ausschließlich im Dialog mit Claude (Anthropics KI-Assistent), ohne Boilerplate, ohne Starter-Templates und ohne Framework. Jede Zeile PHP, CSS und JavaScript entstand im natürlichen Hin und Her: beschreiben, ansehen, verfeinern, wiederholen.
Die Entwicklung erstreckte sich über mehrere Sitzungen, jede baute auf der vorigen auf — Funktionen wurden ergänzt, Sonderfälle behoben und aus einer einfachen Live-Übersicht wurde Schritt für Schritt eine vollständige mehrseitige Wetter-App. Der Verlauf wurde so lang, dass eine Sitzung Claudes Kontextfenster-Grenze erreichte und zusammengefasst und neu gestartet werden musste.
Codestatistik
Über die Dateien der gesamten Anwendung verteilen sich aktuell etwa folgende Zeilenzahlen:
history.php
forecast.php
about.php
dev.php
weather.css
lang.php · lang/en.php · lang/de.php
sw.js · pwa-update.js · receive.php · rain-helpers.php
+ manifest, offline, icons
Gesamt: ~2.300+ Codezeilen
Was rein im Dialog gebaut wurde
Funktionen, die ausschließlich über natürliche Sprache hinzugefügt wurden, ohne manuelles Codieren:
✓ Verlaufsdiagramme
✓ 7-Tage-Aussicht
✓ Gefühlte Temperatur (Apparent Temperature) · Taupunkt
✓ Windgeschwindigkeit · Beaufort
✓ ☀ Hell / ☾ Dunkel
✓ PWA / Add-to-Home-Screen
✓ CSV
✓ Niederschlag (reset-proof)
✓ EN / DE
Wenn Sie Fragen zur Station, zum Aufbau oder den Berechnungen haben — oder etwas entdeckt haben, das nicht stimmig erscheint — melden Sie sich gerne.
dev@walker-jones.eu