## 🎯 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>
258 lines
7.4 KiB
Markdown
258 lines
7.4 KiB
Markdown
# 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_2` → `input_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 |
|
|
|
|
---
|
|
|
|
## Recommended Action Plan
|
|
|
|
### 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:**
|
|
- Docker image: `ha-mcp-server:latest`
|
|
- Network: host mode
|
|
- Base URL: http://192.168.89.4:8123
|
|
|
|
**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
|