I have a working USR TCP232-410S adaptor connected between my Solis Hybrid Inverter and Home Assistant. This collects inverter data from the registers using Modbus over RS485, converted into Modbus over TCP.
Your adaptor is a different model, so I cannot provide you will all the details guaranteed to make it work, however the following information may help you move forward.
To make your arrangement work, you need to ensure the following:
-
Connect the adaptor to your local network, and using the web interface page, set the IP address to static, and enter an address (something that is not used by anything else on the network, and make a note). This is the IP address you will put into HA so HA can talk to your adaptor over the local network.
-
Go to the serial port setting page, and make sure your settings are correct for connection to the Solis Modbus (RS485) port
-
Baud rate 9600, data 8 bits, no parity, 1 stop bit
-
The local port number is the port that is exposed to the network, and USR devices default this to 23 which will be OK. If you want to keep to a standard, 502 is the usual port for Modbus, although you can usually safely use anything over 1000.
Once you have set the IP address and local port, you can use these in HA for host / port under modbus setup.
Now we need to ensure that the unit is in TPC server mode. A server (or slave) responds to requests from a client (or master). The Solis inverter is a slave/server, and your HA computer is a master/client. This means your HA will make a request (via the adaptor) and the inverter responds. The adaptor has two faces - the Ethernet side must in this situation pretend to be a server (faces the HA client), so it is set up as a TCP server. The serial side then acts like a client to the inverter, and no ‘ports’ are involved. The adaptor is just converting the physical carrier for the Modbus message, and looks like a plug-socket would in an extension lead.
[Only if the adaptor is set up as a TCP client do we need the remote server and port. In TCP server mode, the device listens to anything that connects to it (on the IP/port address). In TCP client mode however the device is doing the requesting and needs to know where the server is, hence the remote server IP /port address]
You should find that setting the operating mode to TCP server removes the need for remote port / remote server settings.
Now you need to ensure that the adaptor is connected correctly to the inverter Modbus port.
This should just be a pair of wires, connecting the Modbus A and B from the inverter RS485 port to the adaptor serial connection block (use the inverter comms port, not the meter port).
- A must be connected to A, and B to B
- Use twisted pair (network) cable. The earth is optional and for long cable runs. The standard uses blue and blue/white for A and B, another twisted pair (green) for the earth, earth connected only at one end (there is no earth on the inverter socket anyway).
- Use a terminating resistor 120 ohms at the adaptor end. This must go between A and B. The interface will work without but you will get Modbus errors. RS485 requires a terminating resistor at each physical end of the bus, the inverter has this built in, the adaptor does not.
Note that you should not have anything else connected to the inverter. Running a Solis data logging stick as well as the adaptor will lead to issues as Modbus cannot support more than one master on the bus.
Register map.
Modbus is not forgiving, and requires exactly the right information otherwise no response will be issued.
- the (register) address has to be valid
- the read type (holding, input) must be correct for that register address
Different generations of Solis inverters have different register maps. The 5G (Hybrid) models have register maps as detailed elsewhere in this discussion. Earlier models have maps that can be found using Google. It is the ‘G’ that matters and not the kW power rating, and Hybrid models (with a DC battery) have additional quirks in the map to accommodate the battery and operating mode settings.
Good luck!