Octopus.Energy 🐙 referral code. You get £50 credit for joining and I get £50 credit.
Universal Solar Inverter over Modbus RS485 / TCP custom_component for Home Assistant
Integration 2024.09.1 and newer only supports HA 2024.9.0 and newer
- Supports Modbus over RS485 & TCP. Please check the Docs for Compatible RS485 Adaptors
-
Ginlong Solis
- RHI-nK-48ES-5G Single Phase (lowercase n indicates Inverter size, ie 6kW)
- RHI-3PnK-HVES-5G Three Phase (lowercase n indicates Inverter size, ie 10kW)
-
Growatt:
-
AC Battery Storage:
- SPA
-
Hybrid:
- SPF - WIP
- SPH
- TL-XH (MIN & MOD)
-
PV Only:
- MAC
- MAX
- MID
- TL-X
-
-
Sofar Solar
- HYDxxKTL-3P (plugin_sofar)
- Azzurro 3.3k-12KTL-V3
- Azzurro ZSS
- HYDxxxxES (plugin_sofar_old)
- HYDxxKTL-3P (plugin_sofar)
-
SolaX Power
- A1 Hybrid - WIP
- Gen2 Hybrid
- Gen3 AC, Hybrid & RetroFit
- Gen4 Hybrid & RetroFit
- Qcells Q.VOLT HYB-G3-3P
- TIGO TSI
- Gen5 Hybrid
- J1 Hybrid - WIP
- X1 Air/Boost/Mini Gen3 & Gen4 (Limited set of entities available)
- X3 MEGA / FORTH Gen2 (Limited set of entities available)
- X3 MIC / MIC PRO Gen1 & Gen2 (Limited set of entities available)
SRNE - WIP
Swatten -WIP
For further Documentation please refer to the Read the Docs
Modbus is designed to mostly have a single Master. If you try to connect multiple instances to the Inverter ie this Integration and Node-RED the Inverter will either block the second connection or likely to result in data collisions.
If this happens it's recomended to use a multiplexer such as https://github.com/IngmarStein/tcp-multiplexer this has been tested by reading and writing from two instances of HA at once.
This can be started with Docker or Docker Compose. Example Compose:
services:
modbus-proxy:
image: ghcr.io/ingmarstein/tcp-multiplexer
container_name: modbus_proxy
ports:
- "5020:5020"
command: [ "server", "-t", "192.168.123.123:502", "-l", "5020", "-p", "modbus", "-v" ]
restart: unless-stopped
Server address is the Inverter / data logger. You then direct this integration to the machine running the proxy and port 5020 in this example.