Fix: Wallbox-Read resilient gegen IllegalAddress, Relais-Matrix ergänzt
- wallbox_client: Bei Reg-Fehler Range überspringen statt komplett abbrechen → Meter-Daten kommen weiter wenn EVSE-Block (0x0060) nicht verfügbar - wallbox_client: set_current() schreibt jetzt auch EMS_RELAIS_REG (0x00A1) mit korrekter Phasen-Bitmaske (1→0x0001, 2→0x0003, 3→0x0007) - ems_controller: phases wird an set_current() und Zwangsladen übergeben Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -99,7 +99,7 @@ class EmsController:
|
||||
self._no_pv_since = None
|
||||
self._forced_charging = False
|
||||
ma = self._surplus_to_ma(pv_surplus_w)
|
||||
wallbox_reader.set_current(ma)
|
||||
wallbox_reader.set_current(ma, self.phases)
|
||||
return f"PV-Laden {ma // 1000:.1f}A ({pv_surplus_w:.0f}W)"
|
||||
|
||||
# Kein PV
|
||||
@@ -113,7 +113,7 @@ class EmsController:
|
||||
target = self._next_target()
|
||||
mins_left = (target - datetime.now()).total_seconds() / 60
|
||||
if not self._forced_charging:
|
||||
wallbox_reader.set_current(32000)
|
||||
wallbox_reader.set_current(32000, self.phases)
|
||||
self._forced_charging = True
|
||||
log.info("[EMS] Zwangsladen gestartet — %dmin bis %02d:00", int(mins_left), self.target_hour)
|
||||
return f"Zwangsladen ({no_pv_h:.1f}h kein PV, {int(mins_left)}min bis {self.target_hour:02d}:00)"
|
||||
|
||||
Reference in New Issue
Block a user