You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bump version to v1.1.1 — fix MIN/MOD all-zero readings until manual reload
Fixes a regression from v1.0.10 (#351) affecting every MIN and MOD-family
profile, whose input registers live entirely in the 3000 range.
The 3000-range skip-on-failure suppression added in v1.0.10 assumed the block
was optional. On these profiles it is the only input range, so one failed read
suppressed all reads for 300s, left _register_cache empty, and every field
decoded to 0. read_all_data() returned that zeroed result rather than None, so
the coordinator saw a successful poll: entities stayed available showing 0,
_consecutive_failures never incremented, and no reconnect or adaptive backoff
ran. The window re-armed every 300s and persisted until a manual reload — most
visible as the overnight Waiting->Normal transition never being picked up.
- Skip suppression is no longer applied when the 3000 range is a profile's
primary (only) input range; multi-inverter setups keep anti-log-flood behaviour
- Total failure of a primary range returns None so the coordinator marks the
inverter offline and runs its reconnect/backoff path
- Universal guard: an empty register cache after all reads reports the poll as
failed instead of publishing zeros as valid data
- Per-block success logging moved from INFO to DEBUG
Behaviour change: on genuine comms failure sensors now go unavailable rather
than reading 0 — correct HA semantics, since statistics ignore unavailable but
record 0 as a real measurement.
Also ships the MOD DO1.0 SOC control fix (#343, commit 6370a2b): holding
registers 3048 and 3067 replace the dead 1091/1071 pair.
Co-Authored-By: Claude <noreply@anthropic.com>
0 commit comments