Hi Adrian, did you see the last log files ?
Andre
Hi Adrian, did you see the last log files ?
Andre
Looking at the log, it seems you have two loggers:
Endpoint 1
10.10.0.253 : 8899
Solarman V5
Endpoint 2
10.10.0.30 : 502
Modbus TCP
I am going to add new app settings so you can switch off automatic probing and define everything manually as it seems the probe might be upsetting the logger so it fails to connect after the first attempt. Hopefully I will get this done this evening.
Hello Adrian,
That is correct. The installer connected the Wi-Fi dongle, which communicates with the SOFAR server and allows the SOFAR app on my phone to retrieve the inverter information.
However, the inverter also has an Ethernet connection, which I am currently using for testing.
It seems that both connections behave differently.
Ideally, I would like to retrieve the inverter data locally through the Ethernet connection, while leaving the Wi-Fi dongle connected solely for communication with the SOFAR server and the app on my phone.
If this is possible, that would be the preferred setup.
The reason I cannot simply disable or disconnect the Wi-Fi dongle is that I would then lose access to the inverter information in the SOFAR app on my phone.
However, I can disconnect the Ethernet connection if you would like me to test whether this has any effect.
kind regards, Andre
I have published a new test version. You can now switch from automatic detection to manual setup. In manual mode it relies on the Manually added device.
Hello Adrian,
I have now installed version 1.1.59 as a test. As you mentioned, I can see that it is a newer version, but unfortunately I do not see any improvement so far.
Just for your information: the Ethernet port has IP address 10.10.0.30, and the Wi-Fi dongle has IP address 10.10.0.253.
As you can see in the screenshot, I manually entered IP address 10.10.0.30 together with a serial number. I have to be honest, I took the serial number from the log, as this is the only serial number I know or can see.
Furthermore, I can still see in the log that it is trying to connect to 10.10.0.253, which is the Wi-Fi dongle.
I am also now getting several error messages when I open the configuration section of the SOFAR application. Please see the attached screenshots.
Errors:
Manual IP:
add solar:
TCP modbud log:
2026-09-30T04:58:17.060Z
Registering manual sensors from settings
2026-09-30T04:58:17.061Z
Using Modbus slave ID 1 when registering sensor 3161728911
2026-09-30T04:58:17.062Z
Checking register 14 for grid frequency (modbus_tcp protocol):
2026-09-30T04:58:17.066Z
send_request: slave = 1, start = 14, end = 14, fc = 3
2026-09-30T04:58:17.076Z
Register 14 (sofar_lsw3): Error reading - MODBUS TCP exception response (function code 131, exception code 2)
2026-09-30T04:58:17.076Z
Returned null.
Checking register 1156 for grid frequency:
2026-09-30T04:58:17.077Z
send_request: slave = 1, start = 1156, end = 1156, fc = 3
2026-09-30T04:58:22.094Z
Connection timeout
2026-09-30T04:58:22.098Z
Register 1156 (sofar_g3hyd): No probe match (Connection timeout: no response from 10.10.0.30:502 after 5000ms)
2026-09-30T04:58:22.099Z
Returned null.
Checking register 524 for grid frequency:
2026-09-30T04:58:22.100Z
send_request: slave = 1, start = 524, end = 524, fc = 3
2026-09-30T04:58:27.106Z
Connection timeout
2026-09-30T04:58:27.108Z
Register 524 (sofar_hy_es): No probe match (Connection timeout: no response from 10.10.0.30:502 after 5000ms)
2026-09-30T04:58:27.109Z
Returned null.
Checking register 33282 for grid frequency:
2026-09-30T04:58:27.110Z
send_request: slave = 1, start = 33282, end = 33282, fc = 3
2026-09-30T04:58:32.134Z
Connection timeout
2026-09-30T04:58:32.136Z
Register 33282 (solis_hybrid): No probe match (Connection timeout: no response from 10.10.0.30:502 after 5000ms)
2026-09-30T04:58:32.137Z
Returned null.
Checking register 609 for grid frequency:
2026-09-30T04:58:32.138Z
send_request: slave = 1, start = 609, end = 609, fc = 3
2026-09-30T04:58:37.145Z
Connection timeout
2026-09-30T04:58:37.148Z
Register 609 (sun3p): No probe match (Connection timeout: no response from 10.10.0.30:502 after 5000ms)
2026-09-30T04:58:37.149Z
Returned null.
Checking register 1156 for grid frequency using the sofar_ktlx_g profile:
2026-09-30T04:58:37.149Z
send_request: slave = 1, start = 1156, end = 1156, fc = 3
2026-09-30T04:58:42.178Z
Connection timeout
2026-09-30T04:58:42.179Z
Register 1156 (sofar_ktlx_g): No probe match (Connection timeout: no response from 10.10.0.30:502 after 5000ms)
2026-09-30T04:58:42.180Z
Returned null.
Checking register 552 for grid frequency:
2026-09-30T04:58:42.180Z
send_request: slave = 1, start = 552, end = 552, fc = 3
2026-09-30T04:58:47.187Z
Connection timeout
2026-09-30T04:58:47.190Z
Register 552 (deye_sg04lp3): No probe match (Connection timeout: no response from 10.10.0.30:502 after 5000ms)
2026-09-30T04:58:47.190Z
Returned null.
Checking register 79 for grid frequency:
2026-09-30T04:58:47.191Z
send_request: slave = 1, start = 79, end = 79, fc = 3
2026-09-30T04:58:52.214Z
Connection timeout
2026-09-30T04:58:52.216Z
Register 79 (deye_sg04lp3): No probe match (Connection timeout: no response from 10.10.0.30:502 after 5000ms)
2026-09-30T04:58:52.217Z
Returned null.
No suitable inverters found
2026-09-30T04:58:52.234Z
Searching for inverters on the LAN
2026-09-30T04:58:52.239Z
************** App has initialised. ***************
2026-09-30T04:58:52.254Z
2026-09-30T04:58:52.254Z [log] [ManagerDrivers] [Driver:battery] BatteryDriver has been initialized
2026-09-30T04:58:52.259Z
2026-09-30T04:58:52.259Z [log] [ManagerDrivers] [Driver:grid] GridDriver has been initialized
2026-09-30T04:58:52.262Z
2026-09-30T04:58:52.262Z [log] [ManagerDrivers] [Driver:summary] InverterDriver has been initialized
2026-09-30T04:58:52.266Z
2026-09-30T04:58:52.266Z [log] [ManagerDrivers] [Driver:solar_panel] SolarPanelDriver has been initialized
2026-09-30T04:58:57.359Z
Found Inverter: IP: 10.10.0.253, S.No: 3161728911
2026-09-30T04:58:57.361Z
Using Modbus slave ID 1 when registering sensor 3161728911
2026-09-30T04:58:57.363Z
Checking register 14 for grid frequency (modbus_tcp protocol):
2026-09-30T04:58:57.365Z
send_request: slave = 1, start = 14, end = 14, fc = 3
2026-09-30T04:58:57.374Z
Connection error: Error: connect ECONNREFUSED 10.10.0.253:502
2026-09-30T04:58:57.376Z
Register 14 (sofar_lsw3): Error reading - Connection error to 10.10.0.253:502 (ECONNREFUSED)
2026-09-30T04:58:57.378Z
Returned null.
Checking register 1156 for grid frequency:
2026-09-30T04:58:57.379Z
send_request: slave = 1, start = 1156, end = 1156, fc = 3
2026-09-30T04:58:57.383Z
Connection error: Error: connect ECONNREFUSED 10.10.0.253:502
2026-09-30T04:58:57.384Z
Register 1156 (sofar_g3hyd): Error reading - Connection error to 10.10.0.253:502 (ECONNREFUSED)
2026-09-30T04:58:57.385Z
Returned null.
Checking register 524 for grid frequency:
2026-09-30T04:58:57.386Z
send_request: slave = 1, start = 524, end = 524, fc = 3
2026-09-30T04:58:58.413Z
Connection error: Error: connect ECONNREFUSED 10.10.0.253:502
2026-09-30T04:58:58.415Z
Register 524 (sofar_hy_es): Error reading - Connection error to 10.10.0.253:502 (ECONNREFUSED)
2026-09-30T04:58:58.416Z
Returned null.
Checking register 33282 for grid frequency:
2026-09-30T04:58:58.418Z
send_request: slave = 1, start = 33282, end = 33282, fc = 3
2026-09-30T04:58:58.423Z
Connection error: Error: connect ECONNREFUSED 10.10.0.253:502
2026-09-30T04:58:58.424Z
Register 33282 (solis_hybrid): Error reading - Connection error to 10.10.0.253:502 (ECONNREFUSED)
2026-09-30T04:58:58.425Z
Returned null.
Checking register 609 for grid frequency:
2026-09-30T04:58:58.427Z
send_request: slave = 1, start = 609, end = 609, fc = 3
2026-09-30T04:58:58.431Z
Connection error: Error: connect ECONNREFUSED 10.10.0.253:502
2026-09-30T04:58:58.432Z
Register 609 (sun3p): Error reading - Connection error to 10.10.0.253:502 (ECONNREFUSED)
2026-09-30T04:58:58.433Z
Returned null.
Checking register 1156 for grid frequency using the sofar_ktlx_g profile:
2026-09-30T04:58:58.434Z
send_request: slave = 1, start = 1156, end = 1156, fc = 3
2026-09-30T04:58:58.929Z
Connection error: Error: connect ECONNREFUSED 10.10.0.253:502
2026-09-30T04:58:58.931Z
Register 1156 (sofar_ktlx_g): Error reading - Connection error to 10.10.0.253:502 (ECONNREFUSED)
2026-09-30T04:58:58.932Z
Returned null.
Checking register 552 for grid frequency:
2026-09-30T04:58:58.933Z
send_request: slave = 1, start = 552, end = 552, fc = 3
2026-09-30T04:58:58.937Z
Connection error: Error: connect ECONNREFUSED 10.10.0.253:502
2026-09-30T04:58:58.938Z
Register 552 (deye_sg04lp3): Error reading - Connection error to 10.10.0.253:502 (ECONNREFUSED)
2026-09-30T04:58:58.939Z
Returned null.
Checking register 79 for grid frequency:
2026-09-30T04:58:58.940Z
send_request: slave = 1, start = 79, end = 79, fc = 3
2026-09-30T04:58:58.947Z
Connection error: Error: connect ECONNREFUSED 10.10.0.253:502
2026-09-30T04:58:58.948Z
Register 79 (deye_sg04lp3): Error reading - Connection error to 10.10.0.253:502 (ECONNREFUSED)
2026-09-30T04:58:58.950Z
Returned null.
No suitable inverters found
Kind regards
The new test version is 1.1.60.
The new settings screens look like this:
Make sure you hit save after changing the Automatic to Manual.
Just add the 10.10.0.30 IP address and set it up as a Plain MODBUS TCP protocol, Keep the connection open, then try various Register Maps. You can use the Test button to see if it returns anything useful.
Hello Adrian,
Yes, sorry. I now have the correct version and have configured it as you suggested.
I correctly received the following message:
Testing 10.10.0.30:502 (Plain MODBUS TCP, slave ID 1)
TCP connection established
Using register map: sofar_g3hyd
Read 39 values (grid frequency 50.01 Hz)
The connection is working
settings i set:
i can add my solar now:
There is just one thing I noticed: my batteries are 2 × 5 kWh, but I can only see one of them, and I cannot add another one. Both batteries are connected to the same inverter (same make and model as everything).
2026-09-30T06:45:00.583Z
Registered manual device 10.10.0.30:502 (modbus_tcp, slave ID 1, register map sofar_g3hyd)
2026-09-30T06:45:00.588Z
************** App has initialised. ***************
2026-09-30T06:45:00.610Z
2026-09-30T06:45:00.610Z [log] [ManagerDrivers] [Driver:battery] BatteryDriver has been initialized
2026-09-30T06:45:00.617Z
2026-09-30T06:45:00.617Z [log] [ManagerDrivers] [Driver:grid] GridDriver has been initialized
2026-09-30T06:45:00.622Z
2026-09-30T06:45:00.622Z [log] [ManagerDrivers] [Driver:solar_panel] SolarPanelDriver has been initialized
2026-09-30T06:45:00.627Z
2026-09-30T06:45:00.627Z [log] [ManagerDrivers] [Driver:summary] InverterDriver has been initialized
2026-09-30T06:45:00.790Z
Get Data
2026-09-30T06:45:00.795Z
send_request: slave = 1, start = 1028, end = 1028, fc = 3
2026-09-30T06:45:01.018Z
2026-09-30T06:45:01.018Z [log] [ManagerDrivers] [Driver:battery] [Device:5ac249fe-bc8f-4da2-ba21-dc48b44e8b89] BatteryDevice has been initialized
2026-09-30T06:45:01.024Z
2026-09-30T06:45:01.024Z [log] [ManagerDrivers] [Driver:summary] [Device:da8243c9-f168-4002-8533-84f328d86746] StationDevice has been initialized
2026-09-30T06:45:01.030Z
2026-09-30T06:45:01.030Z [log] [ManagerDrivers] [Driver:solar_panel] [Device:571286a5-f331-44c6-b7bc-76b408dc6723] SolarPanelDevice has been initialized
2026-09-30T06:45:01.040Z
send_request: slave = 1, start = 1048, end = 1048, fc = 3
2026-09-30T06:45:01.140Z
send_request: slave = 1, start = 1050, end = 1050, fc = 3
2026-09-30T06:45:01.171Z
2026-09-30T06:45:01.171Z [log] [ManagerDrivers] [Driver:grid] [Device:26ea2837-0caa-4423-944f-4f37847d859a] GridDevice has been initialized
2026-09-30T06:45:01.242Z
send_request: slave = 1, start = 1056, end = 1056, fc = 3
2026-09-30T06:45:01.346Z
send_request: slave = 1, start = 1156, end = 1173, fc = 3
2026-09-30T06:45:01.452Z
send_request: slave = 1, start = 1176, end = 1184, fc = 3
2026-09-30T06:45:01.556Z
send_request: slave = 1, start = 1187, end = 1195, fc = 3
2026-09-30T06:45:01.660Z
send_request: slave = 1, start = 1199, end = 1199, fc = 3
2026-09-30T06:45:01.763Z
send_request: slave = 1, start = 1412, end = 1417, fc = 3
2026-09-30T06:45:01.870Z
send_request: slave = 1, start = 1476, end = 1476, fc = 3
2026-09-30T06:45:01.971Z
send_request: slave = 1, start = 1540, end = 1546, fc = 3
2026-09-30T06:45:02.072Z
send_request: slave = 1, start = 1668, end = 1691, fc = 3
2026-09-30T06:45:02.241Z
Inverter data: : 3161728911, {
“Inverter_status”: “grid-connected”,
“Ambient_temperature”: 37,
“Heatsink_Temperature”: 39,
“Internal_Temperature”: 38,
“Grid_Voltage”: 227.8,
“Grid_Current”: 1.25,
“Grid_Frequency”: 49.980000000000004,
“Grid_Power”: 590,
“Consumption”: 590,
“PV1_Voltage”: 309.90000000000003,
“PV1_Current”: 0.48,
“PV1_Power”: 140,
“PV2_Voltage”: 316.1,
“PV2_Current”: 0.58,
“PV2_Power”: 180,
“PV_Power”: 300,
“Battery_Power”: -350,
“Battery_Charge”: 29,
“Battery_SOH”: 100,
“Battery_Voltage”: 390.3,
“Battery_Current”: -0.93,
“Battery_Temperature”: 46,
“Battery_Cycles”: 19,
“Daily_Production”: 0.29,
“Battery_Charge_Today”: 0,
“Battery_Discharge_Today”: 4.09,
“Battery_Charge_Total”: 247.60000000000002,
“Battery_Discharge_Total”: 215.5,
“Import_Today”: 0.06,
“Export_Today”: 0.06,
“Total_Import”: 36.7,
“Total_Export”: 548.3000000000001,
“Consumed_Today”: 3.8200000000000003,
“Total_Consumption”: 490.40000000000003,
“Total_Generation”: 1142.9,
“Daily_Battery_Charge”: 0,
“Total_Battery_Charge”: 247.60000000000002,
“Daily_Battery_Discharge”: 4.09,
“Total_Battery_Discharge”: 215.5
}
2026-09-30T06:45:12.259Z
Get Data
2026-09-30T06:45:12.262Z
send_request: slave = 1, start = 1028, end = 1028, fc = 3
2026-09-30T06:45:12.266Z
send_request: slave = 1, start = 1048, end = 1048, fc = 3
2026-09-30T06:45:12.369Z
send_request: slave = 1, start = 1050, end = 1050, fc = 3
2026-09-30T06:45:12.471Z
send_request: slave = 1, start = 1056, end = 1056, fc = 3
2026-09-30T06:45:12.573Z
send_request: slave = 1, start = 1156, end = 1173, fc = 3
2026-09-30T06:45:12.675Z
send_request: slave = 1, start = 1176, end = 1184, fc = 3
2026-09-30T06:45:12.777Z
send_request: slave = 1, start = 1187, end = 1195, fc = 3
2026-09-30T06:45:12.879Z
send_request: slave = 1, start = 1199, end = 1199, fc = 3
2026-09-30T06:45:12.981Z
send_request: slave = 1, start = 1412, end = 1417, fc = 3
2026-09-30T06:45:13.083Z
send_request: slave = 1, start = 1476, end = 1476, fc = 3
2026-09-30T06:45:13.184Z
send_request: slave = 1, start = 1540, end = 1546, fc = 3
2026-09-30T06:45:13.285Z
send_request: slave = 1, start = 1668, end = 1691, fc = 3
2026-09-30T06:45:13.388Z
Inverter data: : 3161728911, {
“Inverter_status”: “grid-connected”,
“Ambient_temperature”: 37,
“Heatsink_Temperature”: 39,
“Internal_Temperature”: 38,
“Grid_Voltage”: 227,
“Grid_Current”: 1.21,
“Grid_Frequency”: 49.96,
“Grid_Power”: 570,
“Consumption”: 570,
“PV1_Voltage”: 309.90000000000003,
“PV1_Current”: 0.48,
“PV1_Power”: 140,
“PV2_Voltage”: 311.5,
“PV2_Current”: 0.59,
“PV2_Power”: 180,
“PV_Power”: 300,
“Battery_Power”: -330,
“Battery_Charge”: 29,
“Battery_SOH”: 100,
“Battery_Voltage”: 390.1,
“Battery_Current”: -0.86,
“Battery_Temperature”: 46,
“Battery_Cycles”: 19,
“Daily_Production”: 0.29,
“Battery_Charge_Today”: 0,
“Battery_Discharge_Today”: 4.09,
“Battery_Charge_Total”: 247.60000000000002,
“Battery_Discharge_Total”: 215.5,
“Import_Today”: 0.06,
“Export_Today”: 0.06,
“Total_Import”: 36.7,
“Total_Export”: 548.3000000000001,
“Consumed_Today”: 3.8200000000000003,
“Total_Consumption”: 490.40000000000003,
“Total_Generation”: 1142.9,
“Daily_Battery_Charge”: 0,
“Total_Battery_Charge”: 247.60000000000002,
“Daily_Battery_Discharge”: 4.09,
“Total_Battery_Discharge”: 215.5
}
Kind regards
Andre
I have the same, 2 x 5 kWh batteries, but the inverter only reports the combined information and has no way to report individual information.
I’m not sure if other inverters can report individual data, but if you can find the appropriate registers I can add support for it.
Hi Adrian, thanks for the app. In manual mode it runs nicely on my Sofar HYD 15KTL-3PH (LSW-3 logger, app 1.1.60, Modbus TCP on port 8899, register map sofar_g3hyd).
One bug: the Grid device always shows the negative of the house consumption. In lib/sofar_g3hyd.json both Grid_Power and Consumption read register 1199 (0x04AF, load power). The same is visible in the log in post 228 above (Grid_Power 590 / Consumption 590).
The grid (PCC) power is in register 1160 (0x0488, ActivePower_PCC_Total). It is a signed value in 0.01 kW, which is why it looked like 65535 kW in post 11: 0xFFFF there is simply -1 = -0.01 kW (grid almost zero).
Register dump from my inverter, registers 1152 to 1207:
Suggested fix: Grid_Power → registers [1160], rule 2 (signed), scale 10. Positive = export, so the sign handling of the Grid device can stay as it is.
FYI: with Solarman V5 my logger returned “Invalid V5 packet start” because Home Assistant was polling the same logger over Modbus TCP (the logger sends the responses to all connected clients). With HA stopped, Modbus TCP on 8899 works fine.
I have published a new test version. Can you try that to see if it fixes the issue?
Thanks a lot Adrian, 1.1.61 fixes it. The Grid device now reads its own value. At night it showed 2.63 kW import while the house load was 2.50 kW. This morning it hovers around zero (between -100 and +70 W) while PV gives 8.2 kW, the battery charges 2.9 kW and the house uses 5.1 kW, which matches the inverter keeping the grid at zero. Import is positive and export negative, as expected.
Thank you for the quick fix and for the great app!