v3.5.0-beta.1
Pre-release
Pre-release
First beta of the 3.5.0 line.
Requires pylxpweb 0.9.38b1 (installed automatically).
Fixed
- Firmware updates run multi-step chains to completion and surface failures (#353, reported by @eode): on devices whose firmware carries three version components (6000XP), a single update run advanced only one component (
ccaa-1E1415instead ofccaa-1E1515) — the portal and phone app chain multiple runs, and the integration now does too (check → eligibility → start → poll → re-check until the device converges, with a step budget, per-step timeout, FAILED-step abort, and no-progress guard). The update entity also displayed the wrong target version (ccaa-1515, missing the leading byte) — the version construction now preserves the full prefix. A refused or failed update start now raises a visible Home Assistant error with the reason instead of logging "initiated" and silently stopping. Multi-step hardware validation on a real 6000XP is pending — beta testers with multi-component devices, feedback welcome on #353. - One inverter's sensors all unknown after 3.4.0 (#348): a no-BMS secondary inverter reports battery temperature
127(0x7F placeholder), which tripped pylxpweb's data-corruption canary and rejected the whole payload every poll. The sentinel is now normalized to unknown for just that field. - Valid 0.1 kWh daily-energy ticks rejected (#346, reported by @ivanfmartinez): the spike filter compared quantized floats without tolerance, so the smallest real increment could overshoot its own bound by a float ulp and be logged + dropped.
- PV Start Voltage unknown in cloud-only mode (#359): the read path divided the cloud's already-scaled volts by 10, pushing the value out of range; the entity now reads correctly in all modes.
Changed
- Quieter logs at INFO level (#345, requested by @ivanfmartinez): routine per-cycle parameter-refresh messages and degraded-state retry notices demoted to DEBUG.
- Internal consolidation (#342): shared validation/write helpers, table-driven switches, per-device schedule refresh, and a timezone-change-safe history-import migration. No entity IDs or behavior contracts changed; 2086 tests (from 1952).
Full details in CHANGELOG.md.