Documentation • wetter-site

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.

🚧
Pre-Release Status: wetter-site befindet sich in aktiver Entwicklung und ist noch nicht final fertiggestellt. Alle Versionen und Builds sind Pre-Releases (Work in Progress).

☀️ 1. Einführung & Philosophie

wetter-site 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 (sub-50ms Interaction-to-Next-Paint). Die Android-App ist in purem Java ohne WebView-Overhead realisiert.

2. Photovoltaik Solar-Ertragsmodell

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.

📱 3. 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://benzjeremy.github.io/myfdroid/repo?fingerprint=A2AD027C856AE9E111B17A55DF5303BB423DBF8D447DC981BDB0E21346963CB7

Direkter APK-Download: wetter-v1.1.apk (83 KB) [Latest]wetter-v1.0.apk (74 KB) [Archive]

🌐 4. 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¤t=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 Code Symbol Bedeutung (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)

🏛️ 5. 3-Web & 3-Branch Ökosystem

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

Ebene URL-Pfad Funktion & Inhalt Sprachstandard
Showcase /wetter-site/ Landingpage mit Hero, Feature-Grid, Downloads & Projektübersicht 100% Bilingual (DE / EN)
Web-App /wetter-site/app/ Vollwertige interaktive Wetter-Station mit Canvas-Engine 100% Bilingual (DE / EN)
Web-Wiki /wetter-site/wiki/ Technisches Handbuch, Physik-Modell, API & Widget-Setup 100% Bilingual (DE / EN)
Source (`main`) Branch main Natives Android-Projekt, Build-Skripte, Fastlane, CI Workflows 100% Englisch

6. 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.