## 🎯 Hauptänderungen ### Version 3.4.0 - SOC-Drift & Charging Capacity - ✨ Sicherheitspuffer (20-50% konfigurierbar) für untertägige SOC-Schwankungen - ✨ Monatliche automatische Batterie-Kalibrierung - 🐛 SOC-Plausibilitäts-Check (filtert 65535% Spikes beim Modus-Wechsel) - 🐛 Zeitabhängige API-Abfrage (vor/nach 14:00 Uhr) ### Neue Features - 🔋 **Safety Buffer**: Kompensiert SOC-Drift und Eigenverbrauch - 🔋 **Auto-Calibration**: Monatlicher Vollzyklus für SOC-Genauigkeit - 🔋 **Spike Protection**: 4-fach Schutz gegen ungültige SOC-Werte - 🔋 **Smart API**: Verhindert HTTP 500 Errors bei fehlenden Tomorrow-Preisen ### Dokumentation - 📚 SOC_CALIBRATION_GUIDE.md - Umfassender Kalibrierungs-Guide - 📚 FIX_CHARGING_CAPACITY.md - Sicherheitspuffer-Dokumentation - 📚 FIX_SOC_SPIKE_PROBLEM.md - Spike-Protection-Lösung - 📚 FIX_API_TIMING.md - Zeitabhängige API-Abfrage - 📚 DIAGNOSE_LADE_PROBLEM.md - Debug-Guide ### Neue Dateien - battery_calibration_automation.yaml - 4 Automations für Kalibrierung - battery_calibration_input_helper.yaml - Input Helper Config - battery_optimizer_input_helper_safety_buffer.yaml - Puffer Config - debug_schedule.py - Umfassendes Debug-Script ### Scripts - battery_charging_optimizer.py v3.4.0 - hastrom_flex_extended.py v1.1.0 - debug_schedule.py v1.0.0 ### Fixes - 🐛 SOC springt auf 65535% beim ESS-Modus-Wechsel → Debounce + Plausibilitäts-Check - 🐛 API-HTTP-500 vor 14:00 → Zeitabhängige Abfrage - 🐛 Batterie nicht bis 100% geladen → Sicherheitspuffer - 🐛 SOC driftet ohne Vollzyklen → Automatische Kalibrierung ## 🚀 Installation 1. Input Helper erstellen (siehe battery_optimizer_input_helper_safety_buffer.yaml) 2. Automations installieren (siehe battery_calibration_automation.yaml) 3. Scripts aktualisieren (battery_charging_optimizer.py v3.4.0) 4. PyScript neu laden ## 📊 Verbesserungen - Präzisere Ladeplanung durch Sicherheitspuffer - Robustheit gegen SOC-Drift - Keine API-Fehler mehr vor 14:00 - Hardware-Stopp bei 100% wird respektiert - Bessere Batterie-Gesundheit durch regelmäßige Kalibrierung 🤖 Generated with Claude Code (claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
3.4 KiB
3.4 KiB
✅ Entitäten-Checkliste
Nach Installation sollten folgende Entitäten existieren:
Input Boolean (2 Stück)
input_boolean.battery_optimizer_enabledinput_boolean.battery_optimizer_manual_override
Input Number (7 Stück)
input_number.battery_capacity_kwhinput_number.battery_optimizer_min_socinput_number.battery_optimizer_max_socinput_number.battery_optimizer_max_charge_powerinput_number.battery_optimizer_price_thresholdinput_number.battery_optimizer_reserve_capacityinput_number.battery_optimizer_pv_threshold
Input Text (1 Stück)
input_text.battery_optimizer_status
Template Sensors (3 Stück) - werden AUTOMATISCH erstellt
Diese Sensoren werden erst nach Home Assistant Neustart und Laden der Templates erstellt:
sensor.battery_charging_plan_statussensor.battery_next_actionsensor.battery_estimated_savings
Hinweis: Template Sensors zeigen "unavailable" bis der erste Plan berechnet wurde!
PyScript States (1 Stück) - wird AUTOMATISCH erstellt
Dieser State wird beim ersten Aufruf von calculate_charging_schedule() erstellt:
pyscript.battery_charging_schedule
Bestehende Entitäten (müssen bereits vorhanden sein)
input_boolean.goodwe_manual_control(dein bestehendes System)input_number.charge_power_battery(dein bestehendes System)sensor.openems_ess0_soc(OpenEMS Modbus)sensor.hastrom_flex_pro(Strompreis-Sensor)sensor.energy_production_today(Forecast.Solar Ost)sensor.energy_production_today_2(Forecast.Solar West)sensor.energy_production_tomorrow(Forecast.Solar Ost)sensor.energy_production_tomorrow_2(Forecast.Solar West)
Prüfen nach Installation
Schritt 1: Input Helper prüfen
Einstellungen → Geräte & Dienste → Helfer
Suche nach "battery_optimizer" - sollte 10 Einträge zeigen
Schritt 2: Template Sensors prüfen
Entwicklerwerkzeuge → Zustände
Suche nach "battery_" - Template Sensors sollten existieren (können "unavailable" sein)
Schritt 3: Ersten Plan berechnen
Entwicklerwerkzeuge → Dienste
service: pyscript.calculate_charging_schedule
Schritt 4: PyScript State prüfen
Entwicklerwerkzeuge → Zustände
Suche nach "pyscript.battery_charging_schedule" - sollte jetzt existieren!
Schritt 5: Template Sensors sollten jetzt Werte haben
Entwicklerwerkzeuge → Zustände
sensor.battery_charging_plan_statussollte z.B. "3 Ladungen geplant" zeigensensor.battery_next_actionsollte nächste Aktion zeigensensor.battery_estimated_savingszeigt Ersparnis (oder 0)
Fehlende Entitäten beheben
Wenn Input Helper fehlen:
- Prüfe ob
battery_optimizer_config.yamlrichtig in/config/packages/liegt - Prüfe ob in
configuration.yamlPackages aktiviert sind:homeassistant: packages: !include_dir_named packages - Home Assistant neu starten
- Logs prüfen auf Fehler
Wenn Template Sensors fehlen:
- Prüfe ob der
template:Abschnitt in der Config ist - Home Assistant neu starten
- Yaml-Konfiguration prüfen in Developer Tools
Wenn PyScript State fehlt:
- PyScript muss installiert sein
battery_optimizer.pymuss in/config/pyscript/sein- Dienst
pyscript.calculate_charging_schedulemanuell aufrufen - Logs prüfen auf Fehler