Zum Inhalt springen

Documentation • Wetter

Technisches Handbuch & Spezifikation ​

Vollständige Referenz zur Wetter- und Solar-PV-Plattform: Mathematische Modellierung des Solarertrags, native Android-App mit Startbildschirm-Widget, direkte Open-Meteo REST-Anbindung und Zero-Tracking-Architektur.

Einführung & Philosophie ​

Wetter ist ein datenschutzorientiertes Wetter- und Solar-PV-Ökosystem, entwickelt von Jeremy Benz. Das Projekt wurde nach dem Leitgedanken des Zero-Bloat und Privacy-by-Design entworfen:

  • Keine Relay-Server: Alle Wetter- und Geocoding-Abfragen erfolgen direkt clientseitig gegen die freie Open-Meteo API. Kein Zwischenserver protokolliert IP-Adressen oder Standortkoordinaten.
  • Zero Telemetry: Weder die Web-Applikation noch die native Android-App enthalten Analysetools, Werbenetzwerke oder Tracking-Pixel.
  • Pure Performance: Die Web-App nutzt pures HTML5, modernes CSS3 und native Canvas-Grafik (without a verified fixed INP measurement). Die Android-App nutzt Java ohne WebView für die Hauptoberfläche.

Photovoltaik Solar-Ertragsmodell ​

Das folgende Referenzmodell aus dem früheren Handbuch beschreibt eine idealisierte Schätzung. Prüfen Sie die aktuelle Implementierung der Web-App separat; die Formel ist kein Messwert. Die Ertragsberechnung schätzt die momentane Leistung $P_{pv}$ (in Watt) einer 5 kWp Photovoltaik-Referenzanlage (typische Wohngebäude-Aufdachanlage mit monokristallinen Siliziummodulen):

P_pv = P_peak × (G_eff / 1000 W/m²) × [1 + γ × (T_cell - 25°C)] × η_inverter

Modellparameter & physikalische Koeffizienten: ​

  • P_peak = 5000 W (5.0 kWp): Installierte Modul-Nennleistung unter Standard-Testbedingungen (STC: 1000 W/m², 25°C Zelltemperatur, AM 1.5).
  • G_eff (Effektive Bestrahlungsstärke): Wird aus dem solaren Höhenwinkel θ (aus geografischer Breite & Tageszeit) und dem Bewölkungsgrad modelliert:
    G_eff = G_clearsky × (1 - 0.75 × (cloud_cover / 100)^3.4)
  • γ = -0.0038 / °C (-0.38 %/°C): Negativer Leistungstemperaturkoeffizient für monokristalline Solarzellen. Mit steigender Zelltemperatur sinkt der elektrische Wirkungsgrad.
  • T_cell (Modulzellentemperatur): Berechnung nach dem NOCT-Modell (Normal Operating Cell Temperature, 45°C):
    T_cell = T_ambient + ((45 - 20) / 800) × G_eff
  • η_inverter = 0.96 (96%): Wirkungsgrad moderner transformatorloser String-Wechselrichter inklusive Leitungsverlusten.

Bei Sonnenständen unterhalb des Horizonts (θ ≤ 0°) wird die Bestrahlungsstärke strikt auf 0.0 W gesetzt. Die integrierte Tages-Energie (kWh) ergibt sich aus der stündlichen Summe: E_day = ∑ (P_pv / 1000) × 1h.

Aktueller Design- und Datenstand ​

Die Web-App nutzt direkt die Wetter- und Geocoding-APIs von Open-Meteo. Eine direkte DWD-Anbindung und ein DWD-Radar sind nicht implementiert. Wetterkarte und PV-Tageskurve entsprechen dem kompakten Design der Projektseite; die PV-Schätzung gilt für eine 5-kWp-Referenzanlage.

Die Angleichung der Android-App und ihres Widgets an dieses Design ist geplant. Die Widget-Vorschau auf der Projektseite zeigt das Designziel, nicht die aktuelle Android-Oberfläche.

Native Android App & Startbildschirm-Widget ​

Die native Android-App (com.benzjeremy.wetter) bietet maximale Effizienz und Unabhängigkeit vom Browser:

Startbildschirm-Widget (4x2 / 4x1) ​

Zeigt aktuelle Temperatur, Wetter-Emoji, Min/Max-Spanne, Ort, Solar-PV-Leistung sowie in v1.1 eine akkuschonende Live-Systemzeit (TextClock) an. Mit manuellem Sofort-Aktualisierungsbutton via PendingIntent Broadcast.

Konfigurierbarer Auto-Refresh & Caching ​

Neu in v1.1: Einstellbares Hintergrund-Intervall (15 Min., 30 Min., 1 Std. oder Manuell) via inexaktem AlarmManager. Reaktiviert sich automatisch nach Neustart (BOOT_COMPLETED). SharedPreferences-Caching verhindert unnötige Mobilfunk-Requests.

Installation & F-Droid Integration: ​

Die App wird offiziell über das myfdroid-Repository bereitgestellt:

https://myfdroid.benzjeremy.pp.ua/repo/?fingerprint=A2AD027C856AE9E111B17A55DF5303BB423DBF8D447DC981BDB0E21346963CB7

Aktuelle APK: GitHub Releases und myfdroid.

Open-Meteo API & WMO-Wettercodes ​

Das System nutzt standardisierte REST-Endpunkte von Open-Meteo ohne proprietäre Authentifizierung:

GET https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&current=temperature_2m,relative_humidity_2m,apparent_temperature,weather_code,surface_pressure,wind_speed_10m&hourly=temperature_2m,precipitation_probability,cloud_cover&daily=weather_code,temperature_2m_max,temperature_2m_min&timezone=auto

WMO Interpretationstabelle: ​

WMO CodeSymbolBedeutung (DE)Meaning (EN)
0☀️Klarer HimmelClear sky
1, 2, 3🌤️ / ☁️Leicht bewölkt bis bedecktMainly clear to overcast
45, 48🌫️Nebel / ReifnebelFog and depositing rime fog
51, 53, 55🌦️Sprühregen (leicht bis stark)Drizzle (light to dense)
61, 63, 65🌧️Regen (leicht, mäßig, stark)Rain (slight, moderate, heavy)
71, 73, 75❄️SchneefallSnow fall
80, 81, 82🌦️RegenschauerRain showers
95, 96, 99⛈️Gewitter (mit Hagel)Thunderstorm (with hail)

3-Web & Hosting & Code-Architektur ​

Das Projekt folgt der verbindlichen Web- und Hosting- und Code-Architektur aller Jeremy Benz Repositories:

EbeneURLInhalt
Projektseitehttps://wetter.benzjeremy.pp.ua/Überblick und Downloads
Web-Apphttps://wetter.benzjeremy.pp.ua/app/Interaktive Wetterstation
Wikihttps://wiki.benzjeremy.pp.ua/wetter/Dokumentation
QuellcodeGitHub mainAndroid-Quellcode und Releases

FAQ & Troubleshooting ​

Warum aktualisiert sich das Android-Widget manchmal verzögert? ​

Android setzt strenge Energiesparmechanismen (Doze Mode & App Standby) ein. Um deinen Akku zu schonen, pollt die Wetter-App das Netzwerk nicht minütlich im Hintergrund. Du kannst das Widget jederzeit per Tippen auf das Aktualisieren-Symbol (🔄) sofort auf den neuesten Stand bringen.

Wie wechsle ich die Temperatureinheit? ​

In der Web-Applikation kannst du in der Kopfzeile zwischen °C, °F und Kelvin wählen. In der Android-App befindet sich die Umschaltung direkt in den Schnelleinstellungen der Dashboard-Kopfzeile.

Wie präzise ist die Photovoltaik-Prognose? ​

Die Prognose basiert auf einem physikalischen Modell für unverschattete Südausrichtung (35° Dachneigung). Lokale Verschattungen durch Bäume oder Nachbargebäude sowie Schneeauflagen können den realen Ertrag verringern.