v0.9.36b21
Pre-release
Pre-release
Fixed
- Transient duplicate-serial reads self-heal (eg4_web_monitor#258, #200): when two battery slots in one page report the same serial (corrupt read during a misroute storm, or a genuine duplicate-serial pack pair), the accumulator now disambiguates the collision as
{serial}@pos{N}with one latched WARNING instead of silently collapsing two packs — and the synthetic entry is re-verified: the next successful read of that bank position under a different identity evicts it, so a one-off corruption can no longer leave a permanent ghost (a genuine duplicate pack simply re-mints its entry every page and stays protected). - Battery slot debug dump prints the full 15-character serial (#200): the
Pos N:line previously decoded only register offsets 17-23 (14 chars), omitting the final character carried in offset 24's low byte — producing phantom "duplicate serials" in debug logs (the red herring in the #258 investigation). It now uses the sameread_battery_serialdecode as battery identity.
Suite: 2538 passed. Consumed by eg4_web_monitor v3.4.0-beta.19.