Files
battery-charging-optimizer/VALIDATION_SUMMARY.txt
felix.zoesch 0fa03a566a feat: Major update - Battery Optimizer v3.4.0 with comprehensive fixes
## 🎯 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>
2025-12-12 08:04:07 +01:00

131 lines
14 KiB
Plaintext

╔════════════════════════════════════════════════════════════════════════════╗
║ HOME ASSISTANT ENTITY VALIDATION - VISUAL SUMMARY ║
╚════════════════════════════════════════════════════════════════════════════╝
┌────────────────────────────────────────────────────────────────────────────┐
│ INPUT_BOOLEAN ENTITIES (3/3) ✓ 100% │
├────────────────────────────────────────────────────────────────────────────┤
│ ✓ input_boolean.battery_optimizer_enabled State: on │
│ ✓ input_boolean.battery_optimizer_manual_override State: off │
│ ✓ input_boolean.goodwe_manual_control State: off │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ INPUT_NUMBER ENTITIES (8/13) ⚠️ 62% │
├────────────────────────────────────────────────────────────────────────────┤
│ ✓ input_number.battery_capacity_kwh State: 10.0 │
│ ✓ input_number.battery_optimizer_max_charge_power State: 5000.0 │
│ ✓ input_number.battery_optimizer_max_soc State: 100.0 │
│ ✓ input_number.battery_optimizer_min_soc State: 20.0 │
│ ✓ input_number.battery_optimizer_price_threshold State: 28.0 │
│ ✓ input_number.battery_optimizer_pv_threshold State: 500.0 │
│ ✓ input_number.battery_optimizer_reserve_capacity State: 2.0 │
│ ✓ input_number.charge_power_battery State: 1000.0 │
│ │
│ ✗ input_number.battery_charging_power (V3 name conflict) │
│ ✗ input_number.battery_max_soc (V3 name conflict) │
│ ✗ input_number.battery_min_soc (V3 name conflict) │
│ ✗ input_number.battery_price_threshold (V3 name conflict) │
│ ✗ input_number.battery_reserve_capacity (V3 name conflict) │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ INPUT_SELECT ENTITIES (0/1) ✗ 0% │
├────────────────────────────────────────────────────────────────────────────┤
│ ✗ input_select.battery_optimizer_strategy (NEEDS CREATION) │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ INPUT_TEXT ENTITIES (0/1) ⚠️ 0% │
├────────────────────────────────────────────────────────────────────────────┤
│ ⚠️ input_text.battery_optimizer_status │
│ → HA has: input_text.battery_optimizer_status_2 instead │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ SENSOR ENTITIES (17/30) ⚠️ 57% │
├────────────────────────────────────────────────────────────────────────────┤
│ EXISTING SENSORS: │
│ ✓ sensor.battery_power State: -26 │
│ ✓ sensor.battery_state_of_charge State: 18% │
│ ✓ sensor.esssoc State: 18% │
│ ✓ sensor.hastrom_flex_pro State: 28.73 │
│ ✓ sensor.pv_power State: 0 │
│ ✓ sensor.house_consumption State: 932 │
│ ✓ sensor.gw_netzbezug State: 958.0 │
│ ... and 10 more existing sensors │
│ │
│ OPENEMS NAMING ISSUES (CRITICAL): │
│ ✗ sensor.openems_ess0_soc → Should be: sensor.esssoc │
│ ✗ sensor.openems_ess0_activepower → Should be: sensor.essactivepower │
│ ✗ sensor.openems_ess0_capacity → Should be: sensor.esscapacity │
│ ✗ sensor.openems_production_activepower → Should be: sensor.pv_power │
│ ✗ sensor.openems_consumption_activepower → Should be: sensor.house_* │
│ │
│ OTHER ISSUES: │
│ ⚠️ sensor.hastrom_flex_extended_current_price │
│ → Should be: sensor.hastrom_flex_ext │
│ ✗ sensor.forecast_solar_energy_today (Integration not installed) │
│ ✗ sensor.forecast_solar_energy_tomorrow (Integration not installed) │
│ ✗ Template sensors (3) - PyScript not run yet │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ AUTOMATION ENTITIES (0/2) ✗ 0% │
├────────────────────────────────────────────────────────────────────────────┤
│ ✗ automation.battery_charging_schedule_calculation (Not loaded) │
│ ✗ automation.battery_charging_schedule_execution (Not loaded) │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ PYSCRIPT ENTITIES (0/2) ⏳ 0% │
├────────────────────────────────────────────────────────────────────────────┤
│ ⏳ pyscript.battery_charging_schedule (Created when script runs) │
│ ⏳ pyscript.battery_charging_plan (Created when script runs) │
└────────────────────────────────────────────────────────────────────────────┘
╔════════════════════════════════════════════════════════════════════════════╗
║ OVERALL STATISTICS ║
╠════════════════════════════════════════════════════════════════════════════╣
║ Total Entities Validated: 50 ║
║ ✓ Entities that EXIST: 26 (52%) ║
║ ✗ Entities MISSING: 24 (48%) ║
║ ⚠️ Name Mismatches: 2 ║
╚════════════════════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════════════════════╗
║ INTEGRATION STATUS CHECK ║
╠════════════════════════════════════════════════════════════════════════════╣
║ ✓ haStrom Integration: CONFIGURED (6 entities) ║
║ ✓ GoodWe Integration: CONFIGURED (10 entities) ║
║ ✓ ESS/Battery System: CONFIGURED (16 ESS sensors) ║
║ ⚠️ OpenEMS Naming: MISCONFIGURED (wrong entity names) ║
║ ✗ Forecast.Solar: NOT INSTALLED ║
╚════════════════════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════════════════════╗
║ RECOMMENDED ACTIONS ║
╠════════════════════════════════════════════════════════════════════════════╣
║ 🔴 PRIORITY 1 - Fix OpenEMS entity names (affects 8 files) ║
║ → Replace all sensor.openems_* with sensor.ess* ║
║ ║
║ 🔴 PRIORITY 2 - Fix V3 dashboard names (affects 7 files) ║
║ → Replace shortened names with battery_optimizer_* prefix ║
║ ║
║ 🟡 PRIORITY 3 - Fix haStrom sensor name ║
║ → Replace hastrom_flex_extended_current_price with hastrom_flex_ext ║
║ ║
║ 🟢 PRIORITY 4 - Create missing helper ║
║ → Create input_select.battery_optimizer_strategy ║
║ ║
║ 🟢 PRIORITY 5 - Load automations ║
║ → Ensure automation files are included in configuration.yaml ║
╚════════════════════════════════════════════════════════════════════════════╝
📄 DETAILED REPORTS CREATED:
→ entity_validation_results.md (Full detailed report)
→ entity_fix_quick_reference.md (Quick search/replace guide)
→ VALIDATION_SUMMARY.txt (This visual summary)