v0.8.9b2 - WIT/WIS fix
Pre-releaseRelease Notes
v0.8.9b2
Issues: #295
- Fix: WIT all entities unavailable after upgrading to v0.8.8 (Issue #295):
The profile-driven register scan sizing introduced in v0.8.8 contained a bug affecting WIT
inverters. Two related problems were found and fixed:has_base_rangewas checking for any address in 0–999, which includes WIT's 875-range
registers. This causedmax_base_addrto resolve to ~998 — a 999-register read that
immediately exceeded the Modbus limit of 125 per request. Fixed by excluding 875–999
from the base range check (that range is already read separately).- After the first fix, the base range read was still 189 registers (WIT has input registers
defined up to address 188). This also exceeds the 125-register limit. Fixed by reading
the base range in 125-register chunks when it spans more than 125 addresses — the same
pattern already used for the 3000-range. As a side effect, WIT registers 125–188 are now
read correctly for the first time (previously the 0–124 cap silently dropped them).
v0.8.8
Issues: #294
-
Feature: Configurable inter-request Modbus delay (Issue #294):
A new Modbus Request Delay field (50–1000 ms, default 250 ms) is available in Options
(Settings → Devices & Services → Growatt Modbus → Configure). This controls the minimum
pause between consecutive Modbus read requests within a single poll cycle. The 250 ms
interval was already hardcoded internally; this exposes it as a user-configurable setting.
Users seeingtransaction_idmismatch errors in the log — caused by the inverter responding
late to requests while the next one has already been sent — should increase this to 500–1000 ms.
Takes effect immediately without an integration restart. -
Fix: Profile-driven input register block sizing:
The base (0–N) and storage (1000–N) input register reads now read only up to the highest
register address defined in the active profile, rather than always reading 125 registers.
A profile that only uses registers 0–88 now requests 89 registers instead of 125, reducing
payload size and poll time. -
Fix: VPP holding register retry throttling:
VPP-range holding registers (30100, 30200–30201, 30407–30410) that return no response on
the first read of a session are now permanently skipped for the remainder of that session.
This mirrors the existing behaviour for VPP input register ranges and prevents repeated
unanswered requests from accumulating transaction-ID mismatches on firmware that does not
implement these registers. On the next HA restart the registers are retried once in case
firmware was updated. -
Fix:
priority_modesensor displays mode name instead of raw integer:
The Priority Mode sensor now shows "Load First", "Battery First", or "Grid First" instead
of the raw register value (0, 1, 2). -
Feature:
Export Limit Fallback Power Ratewritable number entity (holding register 3000):
A new Export Limit Fallback Power Rate number control (0–100%, step 0.1) is available on
MIN TL-X, MIN TL-XH, MIC 600–3300TL-X, and TL-XH 3000–10000 profiles (and all their V2.01
variants). It reads and writes holding register 3000 (ExportLimitFailedPowerRate) — the
fallback output power cap the inverter applies when export limitation control fails. Appears
under the Grid device as a configuration entity.