Files
battery-charging-optimizer/openems/legacy/v1/battery_optimizer_rest_commands.yaml
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

46 lines
1.7 KiB
YAML

# ============================================
# Battery Charging Optimizer - REST Commands
# ============================================
# Diese REST Commands zu deiner configuration.yaml hinzufügen
rest_command:
# ESS in REMOTE Mode setzen (für manuelles Laden via HA)
# WICHTIG: Muss VOR dem Schreiben auf Register 706 aufgerufen werden!
set_ess_remote_mode:
url: "http://x:admin@192.168.89.144:8074/jsonrpc"
method: POST
payload: '{"method": "updateComponentConfig", "params": {"componentId": "ess0","properties":[{"name": "controlMode","value": "REMOTE"}]}}'
content_type: "application/json"
# ESS in INTERNAL Mode setzen (zurück zu automatischem Betrieb)
# WICHTIG: NACH dem Laden aufrufen, um wieder auf Automatik zu schalten!
set_ess_internal_mode:
url: "http://x:admin@192.168.89.144:8074/jsonrpc"
method: POST
payload: '{"method": "updateComponentConfig", "params": {"componentId": "ess0","properties":[{"name": "controlMode","value": "INTERNAL"}]}}'
content_type: "application/json"
# Alternative: Modbus Write über Home Assistant Modbus Integration
# (Bevorzugte Methode für dynamische Werte)
# Füge diese Modbus-Konfiguration hinzu wenn noch nicht vorhanden:
modbus:
- name: openems
type: tcp
host: 192.168.89.144
port: 502
# Write-Register für Batterieleistung
# Register 706: ess0/SetActivePowerEquals
# FLOAT32 Big-Endian - Negativ = Laden, Positiv = Entladen
# Optional: Sensor zum Lesen des aktuellen Sollwerts
sensors:
- name: "OpenEMS Batterie Sollwert"
address: 706
data_type: float32
swap: none # Big-Endian
scan_interval: 30
unit_of_measurement: "W"
device_class: power