Files
battery-charging-optimizer/legacy/v1/00_START_HIER.md

329 lines
8.5 KiB
Markdown

# 🚀 Batterie-Optimierung - Start-Paket
## 📦 Paket-Inhalt
Du hast nun ein vollständiges System zur intelligenten Batterieladung erhalten!
### Konfigurationsdateien (3)
-`battery_optimizer_config.yaml` - Input Helper & Templates
-`battery_optimizer_rest_commands.yaml` - OpenEMS REST API
-`battery_optimizer_automations.yaml` - 6 Automatisierungen
### PyScript Module (2)
-`battery_charging_optimizer.py` - Hauptalgorithmus (14 KB)
-`battery_power_control.py` - Steuerungsfunktionen (3.6 KB)
### Dashboard (1)
-`battery_optimizer_dashboard.yaml` - Lovelace UI
### Dokumentation (3)
-`README.md` - Projekt-Übersicht (7.4 KB)
-`INSTALLATION_GUIDE.md` - Installations-Anleitung (9 KB)
-`PHASE2_INFLUXDB.md` - Roadmap für InfluxDB Integration (12 KB)
## ⚡ Quick-Start Checkliste
### ☑️ Vorbereitung (5 Min)
- [ ] Home Assistant läuft
- [ ] PyScript via HACS installiert
- [ ] OpenEMS erreichbar (192.168.89.144)
- [ ] Strompreis-Sensor aktiv (`sensor.hastrom_flex_pro`)
- [ ] Forecast.Solar konfiguriert
### ☑️ Installation (15 Min)
- [ ] `battery_optimizer_config.yaml` zu `configuration.yaml` hinzufügen
- [ ] `battery_optimizer_rest_commands.yaml` einbinden
- [ ] `battery_optimizer_automations.yaml` zu Automations hinzufügen
- [ ] PyScript Dateien nach `/config/pyscript/` kopieren
- [ ] Home Assistant neu starten
### ☑️ Konfiguration (5 Min)
- [ ] Input Helper Werte setzen (siehe unten)
- [ ] Ersten Plan berechnen (`pyscript.calculate_charging_schedule`)
- [ ] Plan im Input-Text prüfen
- [ ] Optimierung aktivieren
### ☑️ Testing (10 Min)
- [ ] Manuelles Laden testen (3kW für 2 Min)
- [ ] Auto-Modus testen
- [ ] Logs prüfen
- [ ] Dashboard einrichten
### ☑️ Live-Betrieb (24h Monitoring)
- [ ] Ersten Tag überwachen
- [ ] Prüfen ob Plan um 14:05 Uhr erstellt wird
- [ ] Prüfen ob stündlich ausgeführt wird
- [ ] Batterie-Verhalten beobachten
## 🎯 Empfohlene Ersteinstellungen
```yaml
# Nach Installation diese Werte setzen:
input_number:
battery_optimizer_min_soc: 20 # %
battery_optimizer_max_soc: 100 # %
battery_optimizer_price_threshold: 28 # ct/kWh
battery_optimizer_max_charge_power: 10000 # W
battery_optimizer_reserve_capacity: 2 # kWh
input_select:
battery_optimizer_strategy: "Konservativ (nur sehr günstig)"
input_boolean:
battery_optimizer_enabled: true
battery_optimizer_manual_override: false
```
## 🔧 Erste Schritte nach Installation
### 1. System-Check durchführen
```yaml
# Entwicklerwerkzeuge → Dienste → Tab "YAML-Modus"
# REST Commands testen:
service: rest_command.set_ess_remote_mode
# → Prüfe in OpenEMS ob ESS in REMOTE ist
service: rest_command.set_ess_internal_mode
# → Zurück auf INTERNAL
# Ersten Plan berechnen:
service: pyscript.calculate_charging_schedule
# → Prüfe input_text.battery_charging_schedule
# Logs prüfen:
# Einstellungen → System → Protokolle
# Suche nach "battery" oder "charging"
```
### 2. Manuellen Test durchführen
```yaml
# Test 1: Laden mit 3kW
service: pyscript.start_charging_cycle
data:
power_w: -3000
# Warte 2 Minuten, beobachte:
# - sensor.battery_power sollte ca. -3000W zeigen
# - sensor.battery_state_of_charge sollte steigen
# Test 2: Stoppen
service: pyscript.stop_charging_cycle
# ESS sollte wieder auf INTERNAL sein
```
### 3. Dashboard einrichten
```yaml
# Lovelace → Bearbeiten → Neue Ansicht
# Titel: "Batterie-Optimierung"
# Icon: mdi:battery-charging
# Kopiere Inhalt aus battery_optimizer_dashboard.yaml
```
## 📊 Beispiel: Optimierung heute
Mit deinen aktuellen Strompreisen (07.11.2025):
| Zeit | Preis | Aktion | Grund |
|------|-------|--------|-------|
| 00:00 | 26.88 ct | ✅ Laden | Günstig, wenig PV |
| 01:00 | 26.72 ct | ✅ Laden | Günstig, wenig PV |
| 02:00 | 26.81 ct | ✅ Laden | Günstig, wenig PV |
| 07:00 | 32.08 ct | ❌ Auto | Zu teuer |
| 12:00 | 26.72 ct | ⚠️ Auto | Günstig, aber PV aktiv |
| 17:00 | 37.39 ct | ❌ Auto | Sehr teuer |
**Ergebnis**:
- 3 Stunden laden (ca. 30 kWh)
- Ø Ladepreis: 26.80 ct/kWh
- Ersparnis vs. Durchschnitt: ~3 ct/kWh
- **Monatliche Ersparung**: ca. 20-30 EUR (bei 20 kWh/Tag Netzbezug)
## 🎮 Wichtige Services
### Täglich automatisch:
```yaml
# Um 14:05 Uhr
pyscript.calculate_charging_schedule
```
### Stündlich automatisch:
```yaml
# Um xx:05 Uhr
pyscript.execute_current_schedule
```
### Manuell nützlich:
```yaml
# Neuen Plan berechnen
pyscript.calculate_charging_schedule
# Sofort laden starten
pyscript.start_charging_cycle:
power_w: -10000 # 10kW
# Laden stoppen
pyscript.stop_charging_cycle
# Notfall: Alles stoppen
pyscript.emergency_stop
```
## 🛡️ Sicherheits-Features
**Keep-Alive**: Schreibt alle 30s die Leistung (verhindert Timeout)
**SOC-Grenzen**: Respektiert Min 20% / Max 100%
**Reserve**: Hält 2 kWh für Eigenverbrauch
**Manual Override**: Pausiert Automatik für 4h
**Notfall-Stop**: Deaktiviert alles sofort
## 📈 Monitoring & Optimierung
### Zu beobachten in den ersten Tagen:
1. **Lädt das System zur richtigen Zeit?**
- Prüfe `sensor.nächste_ladestunde`
- Vergleiche mit Strompreisen
2. **Funktioniert der Keep-Alive?**
- Batterie sollte durchgehend laden
- Kein Wechsel zwischen Laden/Entladen
3. **Sind die Prognosen realistisch?**
- PV-Ertrag: Vergleiche Prognose vs. Ist
- Verbrauch: Notiere typische Werte
4. **Stimmen die Einsparungen?**
- Lade zu günstigen Zeiten: Ja/Nein?
- SOC morgens höher: Ja/Nein?
### Anpassungen nach Testphase:
**Zu konservativ?**
→ Strategie auf "Moderat" ändern
→ Preis-Schwellwert erhöhen (z.B. 30 ct)
**Zu aggressiv?**
→ Reserve erhöhen (z.B. 3 kWh)
→ Schwellwert senken (z.B. 26 ct)
**PV-Konflikt?**
→ Warte auf Phase 2 (bessere PV-Verteilung)
→ Vorübergehend: Reserve erhöhen
## 🚨 Troubleshooting
### Problem: System lädt nicht
**Checkliste:**
1. [ ] `input_boolean.battery_optimizer_enabled` = ON?
2. [ ] `input_boolean.battery_optimizer_manual_override` = OFF?
3. [ ] Plan vorhanden? (`input_text.battery_charging_schedule`)
4. [ ] Ist jetzt Ladezeit laut Plan?
5. [ ] OpenEMS erreichbar? (http://192.168.89.144:8084)
**Logs prüfen:**
```
Einstellungen → System → Protokolle
Filter: "battery" oder "charging"
```
### Problem: Laden stoppt nach kurzer Zeit
**Ursache:** Keep-Alive funktioniert nicht
**Lösung:**
- Prüfe PyScript Logs
- Prüfe ob `pyscript.battery_charging_active` = true
- Manuell neu starten: `pyscript.start_charging_cycle`
### Problem: Unrealistische Pläne
**Ursache:** PV-Prognose oder Parameter falsch
**Lösung:**
- Prüfe Forecast.Solar Sensoren
- Erhöhe Reserve-Kapazität
- Wähle konservativere Strategie
- Passe Preis-Schwellwert an
## 📞 Support & Feedback
### Logs sammeln für Support:
```
1. Einstellungen → System → Protokolle
2. Filter: "battery"
3. Kopiere relevante Einträge
4. Plus: Screenshot der Input Helper
5. Plus: Inhalt von input_text.battery_charging_schedule
```
### Wichtige Infos bei Problemen:
- Home Assistant Version
- PyScript Version
- OpenEMS Version
- Aktuelle Konfiguration (Input Helper Werte)
- Fehlermeldungen aus Logs
## 🎯 Nächste Schritte
### Kurzfristig (Woche 1):
- ✅ System installieren
- ✅ Testphase durchführen
- ✅ Parameter optimieren
- ✅ Dashboard einrichten
### Mittelfristig (Woche 2-4):
- [ ] Monitoring etablieren
- [ ] Einsparungen messen
- [ ] Feintuning Parameter
- [ ] Evtl. Strategie anpassen
### Langfristig (ab Monat 2):
- [ ] Phase 2: InfluxDB Integration
- [ ] Historische Verbrauchsanalyse
- [ ] Machine Learning Prognosen
- [ ] Erweiterte Features
## 🎓 Lernkurve
**Tag 1-3**: System verstehen, Parameter testen
**Woche 1**: Erste Optimierungen, Feintuning
**Woche 2-4**: Stabil laufender Betrieb
**Monat 2+**: Erweiterte Features, KI-Integration
## 💡 Pro-Tipps
1. **Start konservativ**: Besser zu wenig als zu viel laden
2. **Logs lesen**: Die besten Hinweise kommen aus den Logs
3. **Klein anfangen**: Teste erst mit 3kW statt 10kW
4. **Geduld haben**: System braucht 1-2 Wochen zum Einspielen
5. **Dokumentieren**: Notiere Änderungen und deren Effekte
## ✨ Viel Erfolg!
Du hast jetzt ein professionelles Batterie-Management-System!
**Geschätzte Einsparungen:**
- Pro Ladung: 2-5 ct/kWh
- Pro Tag: 0.50-1.50 EUR
- Pro Monat: 15-45 EUR
- Pro Jahr: 180-540 EUR
**ROI**: System amortisiert sich selbst durch Einsparungen! 💰
---
**Installation erstellt**: 2025-11-07
**Erstellt für**: Felix's GoodWe/OpenEMS System
**Version**: 1.0
**Status**: Production Ready ✅
Bei Fragen oder Problemen: Prüfe zuerst die Logs und INSTALLATION_GUIDE.md!