3 Commits

Author SHA1 Message Date
Felix Zösch
5b305b7653 HOTFIX v3.5.1: Preisschwelle wird jetzt korrekt angewendet (KRITISCH)
## Problem
Die price_threshold wurde geladen aber NIE verwendet!
- System lud auch bei Preisen ÜBER der Schwelle
- Beispiel: Schwelle 25ct, aber Ladung bei 25.93ct
- User-Erwartung komplett ignoriert

## Root Cause
```python
# Zeile 110: Geladen ✓
'price_threshold': float(state.get(...) or 25)

# Zeile 317-340: Aber nie verwendet! ✗
for p in future_price_data:
    charging_candidates.append({...})  # Keine threshold-Prüfung!
```

## Fix (v3.5.1)

### 1. Filter VOR Ranking
- Filtere alle Stunden in affordable_hours (≤ threshold)
- Ignoriere teure Stunden komplett
- Wenn keine bezahlbaren Stunden: Keine Ladung (Auto-Modus)

### 2. Besseres Logging
```
💶 Preisschwelle: 25.0 ct/kWh
  - Stunden unter Schwelle: 18
  - Stunden über Schwelle: 12 (werden ignoriert)
```

### 3. Warnung bei Teilladung
Wenn nicht genug günstige Stunden für volle Ladung

## Verhalten

**VORHER (v3.5.0):**
- Alle Preise 25-30ct, Schwelle 25ct
- → Lädt bei 25.93ct ✗

**NACHHER (v3.5.1):**
- Alle Preise 25-30ct, Schwelle 25ct
- → Keine Ladung, Auto-Modus ✓

## Impact
Severity: 🔴 CRITICAL
- Ungewollte Ladevorgänge bei zu teuren Preisen
- Kosteneinsparungen nicht realisiert
- SOFORT updaten empfohlen!

## Dateien
- battery_charging_optimizer.py: Filter + Logging
- CHANGELOG.md: v3.5.1 Eintrag
- HOTFIX_PRICE_THRESHOLD_v3.5.1.md: Detaillierte Analyse

Danke an Felix für sofortiges Bug-Melden! 🙏

---

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 17:14:49 +01:00
Felix Zösch
43f1f3c93c Update: Battery Optimizer v3.5.0 - Volle Ladung bis 100% SOC
## Hauptänderungen

### Removed
- Sicherheitspuffer (20%) entfernt - führte zu unvollständiger Ladung
- Reservekapazität (2 kWh) entfernt - Hardware hat eigene Puffer
- Problem: Mehr Ladestunden geplant als nötig, aber tatsächliche Ladung begrenzt
- Folge: Batterie erreichte nie 100% SOC

### Changed
- Standardwert max_charge_power: 5000W → 8000W (+60%)
- Standardwert price_threshold: 28ct → 25ct/kWh
- Ladelogik vereinfacht: Direkte Berechnung ohne Puffer

### Fixed
- Batterie lädt jetzt vollständig bis 100% SOC
- Genauere Ladestunden-Berechnung
- Bessere Kapazitätsnutzung: Volle Leistung in allen Stunden

## Projekt-Aufräumarbeiten

### Archiviert
- Bugfix-Dokumentationen → archive/
  - BUGFIX_TIMEZONE_v3.2.md
  - DIAGNOSE_LADE_PROBLEM.md
  - FIX_API_TIMING.md
  - FIX_CHARGING_CAPACITY.md
  - FIX_SOC_SPIKE_PROBLEM.md
  - FIX_SOC_SPIKE_REMOTE_MODE.md
  - SOC_CALIBRATION_GUIDE.md

### Entfernt
- docs/ (Duplikate)
- debug_log.txt, debug_schedule.py

### Neu
- UPGRADE_TO_v3.5.0.md - Detaillierter Upgrade-Guide
- PROJECT_SUMMARY_v3.5.0.md - Technische Zusammenfassung
- pyscripts/ aktualisiert auf v3.5.0

## Migration

1. Backup erstellen
2. Neue Skripte nach /config/pyscript/ kopieren
3. PyScript neu laden
4. Input Helper anpassen (8000W, 25ct)
5. Test durchführen

Details: siehe UPGRADE_TO_v3.5.0.md

---

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 16:49:58 +01:00
felix.zoesch
d2a41aad2d Update: Battery Optimizer v3.4.0 mit allen Fixes und Features 2025-12-12 08:20:24 +01:00