## 🎯 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>
46 lines
1.7 KiB
YAML
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
|