// the find
wills106/homeassistant-solax-modbus
SolaX Power Modbus custom_component for Home Assistant (Supports some AlphaESS, Growatt, Sofar, Solinteg, Solis, SRNE, Swatten)
A Home Assistant custom_component that talks Modbus RTU/TCP directly to solar inverters and batteries from Solax, Growatt, Sofar, Solis, AlphaESS, and half a dozen other brands. Built for people running a local RS485/TCP link to their inverter who want real-time sensors and control entities instead of relying on the vendor's cloud API and app.
Plugin-per-manufacturer architecture (plugin_solax.py, plugin_growatt.py, etc.) keeps register maps isolated so one vendor's quirks don't leak into another's code. Actual unit test coverage per plugin (test_growatt_dms_detection.py, test_sofar_battery_selection.py, etc.) rather than the usual HACS integration with zero tests. Modern Python tooling — uv.lock, pyproject.toml, pre-commit, mypy — which is unusual rigor for a single-maintainer hardware integration.
Several inverter families (Solax A1/J1 Hybrid, Growatt SPF, Solinteg, SRNE, Swatten) are flagged WIP or 'limited set of entities,' so the README's broad hardware matrix overstates what's actually production-ready. Modbus is single-master by design, so anyone also running Node-RED or the vendor's own logger against the same inverter needs a separate tcp-multiplexer container just to avoid connection collisions — that's real operational overhead pushed onto the user. The repo's own docs (star-import refactor scripts, mypy phase-4 baseline/audit files, type-ignore-audit.md) point to a codebase that grew fast and is now mid-cleanup, so expect some rough edges in less-trafficked plugins.