v0.9.36b20
Pre-release
Pre-release
Added
- Configurable input-register block coalescing (eg4_web_monitor#254, #197): new
max_input_block_sizeparameter (40..125, default 40 = byte-identical to previous releases) on all Modbus/dongle transports,TransportConfig, and factory paths. At 120 the 8 inverter group reads coalesce into 4 (regs 0-112 in one transaction), ~4 fewer Modbus round-trips per poll per inverter. Reserved register gaps are never bridged; the first failed/short coalesced read logs one WARNING, completes the cycle via plain grouped reads, and latches the transport back to grouped mode. GridBOSS/MID reads are deliberately never coalesced. BaseInverter.parameters_complete(#198): public flag reporting whether the most recent parameter fetch covered every register range.
Fixed
- Partial parameter reads no longer replace last-known values (eg4_web_monitor#282, #198): a failed holding-register range (e.g. a WiFi-dongle misroute on 125-250) merged over the previous parameter dict instead of replacing it wholesale, and the parameter cache is stamped only on FULL success — the next refresh retries the failed ranges instead of serving a degraded dict for the TTL. One INFO names the failed ranges (partial and total failure, transport and HTTP paths).
- Transient reg96=0 no longer skips the battery block read on units with accumulated batteries (#198): the 5002+ gate is accumulator-aware, fixing a path where one transient zero rebuilt the bank empty for the cycle. Balanced by an empty-bank convergence streak: three consecutive successful all-ghost reads with reg96=0 retire the accumulator (real battery removal converges instead of serving stale packs forever); failed reads never advance the streak, so misroute storms still serve last-known data.
- Battery firmware version string matches the cloud rendering (eg4_web_monitor#287, #199): the local decode now zero-pads the minor version (
1.03, not1.3), ending HYBRID-mode flapping between the two spellings.
Suite: 2533 passed. Consumed by eg4_web_monitor v3.4.0-beta.18 (requires >=0.9.36b20 for HYBRID parameter-retry gating and Fast block-size mode).