# 🚀 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!