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
{{ message }}
Repository navigation
Startup stagger logic between config entries never fires #8
In `init.py` (~line 179), the anti-hammer stagger delay for multiple config entries sharing one Modbus link checks:
```python
existing_same_link = sum(1 for c in hass.data[DOMAIN][CONTROLLER].values() if getattr(c, "connection_id", None) == connection_id)
```
But the objects stored in `hass.data[DOMAIN][CONTROLLER]` are `SolisInverterHub` instances, which have no `connection_id` attribute (only the concrete `ModbusController`/`SolisCloudController` do). `getattr(..., None)` always returns `None`, so `existing_same_link` is always `0` and the stagger delay never applies.
Impact
Two inverters sharing the same Modbus host:port (or serial port) can start polling simultaneously with no stagger, which the code clearly intended to prevent.
Fix
Either walk into `hub.modbus.connection_id` / `hub.cloud` as appropriate, or expose a `connection_id` passthrough property on `SolisInverterHub`.
Found during a full repo review — see `WORKING_NOTES.md`, "Repo Review 2026-07-03", bug #4.
Activity
Fix startup stagger logic never firing (#8)
Merge pull request #21 from fboundy/patch