## 🎯 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>
99 lines
3.4 KiB
Markdown
99 lines
3.4 KiB
Markdown
# ✅ Entitäten-Checkliste
|
|
|
|
## Nach Installation sollten folgende Entitäten existieren:
|
|
|
|
### Input Boolean (2 Stück)
|
|
- [ ] `input_boolean.battery_optimizer_enabled`
|
|
- [ ] `input_boolean.battery_optimizer_manual_override`
|
|
|
|
### Input Number (7 Stück)
|
|
- [ ] `input_number.battery_capacity_kwh`
|
|
- [ ] `input_number.battery_optimizer_min_soc`
|
|
- [ ] `input_number.battery_optimizer_max_soc`
|
|
- [ ] `input_number.battery_optimizer_max_charge_power`
|
|
- [ ] `input_number.battery_optimizer_price_threshold`
|
|
- [ ] `input_number.battery_optimizer_reserve_capacity`
|
|
- [ ] `input_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_status`
|
|
- [ ] `sensor.battery_next_action`
|
|
- [ ] `sensor.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_status` sollte z.B. "3 Ladungen geplant" zeigen
|
|
- `sensor.battery_next_action` sollte nächste Aktion zeigen
|
|
- `sensor.battery_estimated_savings` zeigt Ersparnis (oder 0)
|
|
|
|
## Fehlende Entitäten beheben
|
|
|
|
### Wenn Input Helper fehlen:
|
|
1. Prüfe ob `battery_optimizer_config.yaml` richtig in `/config/packages/` liegt
|
|
2. Prüfe ob in `configuration.yaml` Packages aktiviert sind:
|
|
```yaml
|
|
homeassistant:
|
|
packages: !include_dir_named packages
|
|
```
|
|
3. Home Assistant neu starten
|
|
4. Logs prüfen auf Fehler
|
|
|
|
### Wenn Template Sensors fehlen:
|
|
1. Prüfe ob der `template:` Abschnitt in der Config ist
|
|
2. Home Assistant neu starten
|
|
3. Yaml-Konfiguration prüfen in Developer Tools
|
|
|
|
### Wenn PyScript State fehlt:
|
|
1. PyScript muss installiert sein
|
|
2. `battery_optimizer.py` muss in `/config/pyscript/` sein
|
|
3. Dienst `pyscript.calculate_charging_schedule` manuell aufrufen
|
|
4. Logs prüfen auf Fehler
|