Simuliert und vergleicht den wochentlichen PV-Energieertrag verschiedener Anlagenkonfigurationen basierend auf Clear-Sky-Einstrahlung (pvlib).
- Python 3.10 oder hoher
# Repository klonen oder entpacken
cd solar
# Virtuelle Umgebung erstellen (empfohlen)
python -m venv .venv
# Aktivieren:
# Windows (PowerShell):
.venv\Scripts\Activate.ps1
# Windows (CMD):
.venv\Scripts\activate.bat
# Linux / macOS:
source .venv/bin/activate
# Abhangigkeiten installieren
pip install -r requirements.txtMit aktivierter venv:
streamlit run app.pyOhne venv (nutzt systemweites Python):
python -m streamlit run app.pyDie App offnet sich im Browser unter http://localhost:8501.
Im Formular "Neue Anlage" die Parameter eintragen:
| Feld | Beschreibung |
|---|---|
| Name | Freier Bezeichner |
| Nennleistung (Wp) | Modulleistung in Watt-Peak |
| Azimut | 0= Nord, 90= Ost, 180= Sud, 270= West |
| Neigung | Dachwinkel 0 (flach) bis 90 (senkrecht) |
| Breiten- / Langengrad | Koordinaten des Standorts |
| Wechselrichter-Limit | 0 = kein Limit, z.B. 800 fur Balkonkraftwerk |
| Farbe | Diagramm-Farbe der Anlage |
Gespeicherte Anlagen konnen per Klick auf ✏️ bearbeitet, 📋 dupliziert oder 🗑️ geloscht werden. Die Daten bleiben in pv_plants.json erhalten.
Umgebung & Modell:
- Transpositionsmodell: Perez (empfohlen, genaueste Diffusstrahlberechnung), Haydavies, Isotrop
- Albedo: Bodenreflexion (0,20 = Gras, 0,70 = Schnee)
Elektrische Verluste:
- System-Verlustfaktor: Pauschalabzug fur Kabel, Verschmutzung (0 % = ideal)
- Wechselrichter-Wirkungsgrad: 96 % = realistisch, 100 % = ideal
- Temperaturkoeffizient: 0 = ideal, -0,004/K = kristalline Module
Hinweis: Alle Verlustwerte sind standardmaig auf 0 % (Idealfall) gesetzt. Fur realistische Werte die dokumentierten Empfehlungen eintragen.
- Im Dropdown-Menu die zu vergleichenden Anlagen auswahlen
- Diagramm-Einstellungen: Absolut (kWh) / Spezifisch (kWh/kWp), Linie / Balken gruppiert / Balken gestapelt
- Die Vergleichstabelle zeigt Jahresertrag, Maximalwoche, Clipping-Verluste
- Wirtschaftlichkeit: Strompreis und Betrachtungszeitraum einstellbar, inkl. Degradation
- Clear-Sky-Einstrahlung via
pvlib.location.Location.get_clearsky() - POA-Transposition (Perez / Haydavies / Isotrop) mit Air-Mass und extraterrestrischer Strahlung
- Zelltemperatur via SAPM-Modell mit saisonalem Lufttemperatur-Profil
- DC-Leistung via PVWatts-Modell inkl. Temperaturkoeffizient
- AC-Wandlung via PVWatts-Wechselrichter-Modell
- Systemverluste (konfigurierbar, nach AC-Wandlung)
- Clipping auf Wechselrichter-Limit
- Wochen-Normalisierung: Durchschnittlicher Tagesertrag × 7 (52 standardisierte Wochen)
solar/
app.py # Hauptanwendung
requirements.txt # Python-Abhangigkeiten
README.md # Diese Datei
pv_plants.json # Gespeicherte Anlagen (wird automatisch erstellt)
MIT