v3.4.0-beta.22
Pre-release
Pre-release
Requires pylxpweb 0.9.36b24 (installed automatically; the manifest requirement is bumped).
The 3.4.0 issue-zeroing release: every open bug and feature request against the integration is resolved here (the sole remaining open issue, #176 RS485 battery transport, is milestoned 3.5.0). Every PR passed the dual Opus + Codex adversarial review gate, several through multiple rounds.
Added
- Generator, Off-Grid and Peak Shaving schedule time entities — full portal parity (#312): the remaining schedule windows from the portal's working-mode pages become native time entities, with registers live-verified on real hardware (cloud-write ↔ local-register correlation): Peak Shaving (registers 209-212, 2 windows), Generator Charge (256-259, 2 windows; EG4_HYBRID and — per the SNA register probe — EG4_OFFGRID), Off-Grid (269-274, 3 windows, EG4_HYBRID). Cloud writes use the portal's own atomic writeTime endpoint (no partial hour/minute failure mode). Smart Load schedules are deliberately excluded: cloud writes returned DATAFRAME_TIMEOUT on both test units and the registers could not be pinned.
- Share Battery switch (#306, closes #288): the portal's per-inverter Share Battery toggle (HOLD 110 bit 3) for multi-inverter shared-bank systems, using the reporter-verified
FUNC_BAT_SHAREDcloud function; disabled by default.
Changed
- ALL schedule time entities are now disabled by default — including the existing AC Charge/Forced Charge/Forced Discharge/AC First window-1 entities. They serve a limited automation use case and add entity noise for most installs. Entities you have already enabled stay enabled; enable any window from the entity registry.
Fixed
- Quick Charge switch no longer lies on the XP family (#308, closes #296): on 6000XP/12000XP the switch state read holding register 233 — the register that family's firmware rejects — so the switch showed off seconds after starting a charge that was running. Status and control now route through the cloud API on that family; the commanded state is retained until a fresh status read confirms it (no more 502-storm flap); the Duration number's display and write now agree on register 234.
- XP-v2: Battery Backup Mode switch removed where firmware rejects it (#307, closes #289): the working-mode write is firmware-rejected and EG4's own portal doesn't offer the control on that platform. EPS Battery Backup stays — the SNA register dump proves it live on the wider family. One-shot Repairs notice; new XP-family control notes in TROUBLESHOOTING.
- Positional battery retirement across slot shifts (#309, closes #302): a battery exposed positionally during a serial-less cold-start window now retires immediately when its serial appears, instead of waiting for the 6-hour staleness bound.
- Switches converge after cloud-fallback writes (#311, closes #310): the parameter-cache seeding from beta.21's #301 now covers switches — a switch flipped during a local-link outage converges on the acknowledged cloud value with zero intermediate stale state publishes. Off-grid Green Mode shows unknown rather than a false off when the (unverified) local register bit can't be trusted (pylxpweb #210).
- Targeted Modbus parameter reads are link-down-gated (#313): the per-cycle parameter read could stall a poll for minutes against a dead RS485 link; it now skips with correct retry accounting and resumes on recovery.
Validation
- 1851+ tests green; three-mode docker validation on live hardware follows this release.