Files
battery-charging-optimizer/README_VALIDATION.md
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

7.4 KiB

Home Assistant Entity Validation - Report Index

Validation Date: 2025-11-19 Home Assistant URL: http://192.168.89.4:8123 Connection Status: ✓ Successfully Connected Total HA Entities: 2,396 Entities Validated: 50


Quick Status

Status Count Percentage
✓ Entities EXIST 26 52%
✗ Entities MISSING 24 48%
⚠️ Name Mismatches 2 4%

Report Files

1. VALIDATION_SUMMARY.txt (START HERE)

Path: /Users/felix/Nextcloud/AI/projects/homeassistant/VALIDATION_SUMMARY.txt

Visual summary with box diagrams showing entity status by category. Best for quick overview.

Contains:

  • Entity breakdown by type (input_boolean, input_number, sensor, etc.)
  • Color-coded status indicators
  • Integration status check
  • Priority action list

2. entity_validation_results.md (COMPREHENSIVE REPORT)

Path: /Users/felix/Nextcloud/AI/projects/homeassistant/entity_validation_results.md

Complete detailed validation report with full analysis and recommendations.

Contains:

  • Executive summary with key findings
  • Detailed entity-by-entity validation with current states
  • Critical issues and their impact
  • Step-by-step fix recommendations
  • Entity mapping reference table
  • Testing checklist

3. entity_fix_quick_reference.md (ACTION GUIDE)

Path: /Users/felix/Nextcloud/AI/projects/homeassistant/entity_fix_quick_reference.md

Quick reference guide for fixing entity name issues. Use this for actual implementation.

Contains:

  • Global search & replace operations
  • Entities to create in HA
  • Files that need updates
  • Quick verification commands
  • Entity name lookup table

4. entity_validation_report.md (ORIGINAL ANALYSIS)

Path: /Users/felix/Nextcloud/AI/projects/homeassistant/entity_validation_report.md

Original validation report created before connecting to Home Assistant (static analysis only).


Critical Findings Summary

1. OpenEMS Entity Naming Mismatch (CRITICAL)

Problem: Configuration files use sensor.openems_* but Home Assistant has sensor.ess*

Impact: All V2 and V3 dashboards won't display battery data

Required Changes:

sensor.openems_ess0_soc              → sensor.esssoc
sensor.openems_ess0_activepower      → sensor.essactivepower
sensor.openems_ess0_capacity         → sensor.esscapacity
sensor.openems_production_activepower → sensor.pv_power
sensor.openems_consumption_activepower → sensor.house_consumption

Files Affected: 8 dashboard files in /openems/v2/ and /openems/v3/


2. V3 Dashboard Naming Conflict (CRITICAL)

Problem: V3 dashboards use shortened names like battery_min_soc instead of battery_optimizer_min_soc

Impact: V3 dashboards show "entity unavailable" errors

Required Changes:

input_number.battery_min_soc           → input_number.battery_optimizer_min_soc
input_number.battery_max_soc           → input_number.battery_optimizer_max_soc
input_number.battery_charging_power    → input_number.battery_optimizer_max_charge_power
input_number.battery_reserve_capacity  → input_number.battery_optimizer_reserve_capacity
input_number.battery_price_threshold   → input_number.battery_optimizer_price_threshold

Files Affected: 7 dashboard files in /openems/v3/


3. haStrom Sensor Name (MEDIUM)

Problem: Config uses sensor.hastrom_flex_extended_current_price but HA has sensor.hastrom_flex_ext

Required Change:

sensor.hastrom_flex_extended_current_price → sensor.hastrom_flex_ext

4. Missing Entities (LOW)

Entities to Create:

  • input_select.battery_optimizer_strategy (helper entity)

Entities to Rename:

  • input_text.battery_optimizer_status_2input_text.battery_optimizer_status

Automations to Load:

  • automation.battery_charging_schedule_calculation
  • automation.battery_charging_schedule_execution

What Works Right Now

All Input Boolean Helpers (3/3 entities)

  • battery_optimizer_enabled (currently ON)
  • battery_optimizer_manual_override (currently OFF)
  • goodwe_manual_control (currently OFF)

Most Input Number Helpers (8/13 entities)

  • All battery_optimizer_* prefixed entities exist and have valid values

haStrom Price Integration (6 entities)

  • Current price: 28.73 ct/kWh (sensor.hastrom_flex_ext)

GoodWe Battery Integration (10 entities)

  • Battery currently charging at 26W

ESS Battery System (16 sensors)

  • Current SOC: 18%
  • Current power: -26W (charging)
  • Capacity: 10,000 Wh (10 kWh)

Integration Status

Integration Status Entities Notes
haStrom (Price) ✓ Working 6 Providing real-time pricing
GoodWe (Inverter) ✓ Working 10 Battery control active
ESS (Battery) ⚠️ Misconfigured 16 Works but wrong names in config
Forecast.Solar ✗ Not Installed 0 Optional - for solar forecasting

Phase 1: Critical Fixes (Required for dashboards to work)

  1. Update all OpenEMS sensor names in 8 files
  2. Update all V3 input_number names in 7 files
  3. Test dashboard loading

Phase 2: Configuration Cleanup

  1. Fix haStrom sensor name
  2. Create input_select.battery_optimizer_strategy
  3. Rename or update input_text.battery_optimizer_status

Phase 3: Complete Setup

  1. Load missing automations
  2. Run PyScript to create state entities
  3. (Optional) Install Forecast.Solar integration

How to Use These Reports

  1. First Time? → Read VALIDATION_SUMMARY.txt for quick overview
  2. Need Details? → Read entity_validation_results.md for full analysis
  3. Ready to Fix? → Use entity_fix_quick_reference.md for exact commands
  4. Implementing? → Follow the action plan above

Validation Methodology

  1. Connected to Home Assistant REST API at http://192.168.89.4:8123
  2. Retrieved all 2,396 entities from the system
  3. Cross-referenced with 50 entities from configuration files
  4. Checked for:
    • Exact entity ID matches
    • Similar entity names (fuzzy matching)
    • Integration-specific entities
    • Current states and values

Files Analyzed

Configuration files validated against Home Assistant:

  • /openems/v1/*.yaml (4 files)
  • /openems/v2/*.yaml (2 files)
  • /openems/v3/*.yaml (7 files)
  • /openems/*.yaml (2 files)

Total: 15 configuration files


Support Information

HA-MCP-Server Configuration:

Available ESS Sensors (for reference):

sensor.esssoc                     # State of Charge (%)
sensor.essactivepower             # Current Power (W)
sensor.esscapacity                # Capacity (Wh)
sensor.essactivechargeenergy      # Total Charge Energy
sensor.essactivedischargeenergy   # Total Discharge Energy
sensor.essdischargepower          # Discharge Power
sensor.essmaxpowersetpoint        # Max Power Setpoint
sensor.essminpowersetpoint        # Min Power Setpoint
... and 8 more ESS sensors

Questions?

For questions about:

  • Entity naming issues → See entity_fix_quick_reference.md
  • What entities exist → See entity_validation_results.md
  • How to fix configs → Follow the action plan above
  • Why entities are missing → Check the "Critical Findings" section

Last Updated: 2025-11-19 Validated By: Home Assistant Entity Validator via ha-mcp-server