Any idea of e.g. @davidrapan what could be the cause of the (false) spike readings?
I have configured the adapter as follows:
The stick is reachable on the ip on port 80 but not 8899
I tried every inverter on the list without success and always get the error:
“Failed setup, will retry: The data address received in the request is not an allowable address for the server.”
any ideas?
Hello, I have a temporary situation that is a bit annoying and maybe there’s a fix.
Since I dont (yet) have batteries connected to my inverter, it goes into standby mode in the night, and is comming back online when there’s enough DC voltage.
The application doesnt sense this and I have to reload it every day in the morning, otherwise it wont work.
Any hints on what I could do? I know I could “automate” a reload of Solarman integration every morning, but I want that to be a last resort action.
You can use the homeassistant.reload_config_entry action to reload this (or most other) Integration…have a look at that in your automation and specify the conditions you want as your “iast resort”…
Hello,
I successfully installed the app without any problems, but I don’t understand how to install the Horseshoe Gauges Dashboard.
I don’t know where to paste the code or how to do it. I’m a beginner, and after searching, I can’t find a page that explains it properly. Can you help me, please?
Hi David, great work! I’m finding that the integration is causing my data logger (Hinen) to drop off wifi periodically. It reconnects after I disable the integration. Ive tried changing update_intervals to 30, but the issue is ongoing. Any suggestions?
Check the firmware version of your logger here: GitHub - Mights001/DeyeFirmware: Deye Firmware for LV and HV
You can find a newer one that’s better and should fix the problem. I have two Deye myself that poll every 5 seconds and have no problems with them.
Hi, I have similar setup as yours but with logger ver LSW3_15_MQTT_270A_1.22 and S/N 3154974856 but I can’t get it to work. Any recommendation where I should start digging? … apologies, I’m not very technical.
2025-08-29 07:51:51.133 DEBUG (MainThread) [custom_components.solarman] async_setup_entry({'created_at': '2025-08-28T21:49:39.442979+00:00', 'data': {}, 'discovery_keys': {}, 'disabled_by': None, 'domain': 'solarman', 'entry_id': '01K3SAGSQJTDH6R1S467MWD7P0', 'minor_version': 0, 'modified_at': '2025-08-28T21:51:02.432652+00:00', 'options': {'host': '192.168.1.127', 'lookup_file': 'sofar_g3hyd.yaml'}, 'pref_disable_new_entities': False, 'pref_disable_polling': False, 'source': 'integration_discovery', 'subentries': [], 'title': 'Inverter 2', 'unique_id': None, 'version': 2})
2025-08-29 07:51:51.133 DEBUG (MainThread) [custom_components.solarman] async_setup_entry: Coordinator.init -> async_config_entry_first_refresh
2025-08-29 07:51:51.135 DEBUG (MainThread) [custom_components.solarman.discovery] DiscoveryProtocol: Send to 192.168.1.127
2025-08-29 07:51:51.139 DEBUG (MainThread) [custom_components.solarman.discovery] DiscoveryProtocol: [192.168.1.127, 74E9D801CB94, 3154974856] from ('192.168.1.127', 48899)
2025-08-29 07:51:58.490 DEBUG (MainThread) [custom_components.solarman.parser] sofar_g3hyd.yaml w/ defaults for update_interval: 10, code: 3, min_span: 25, max_size: 125, digits: 6, parameters: {'mod': 0, 'mppt': 4, 'l': 3, 'pack': -1}
2025-08-29 07:51:58.497 DEBUG (MainThread) [custom_components.solarman.device] [192.168.1.127] Scheduling 12 query requests: [{'code': 3, 'start': 1028, 'end': 1067, 'count': 40}, {'code': 3, 'start': 1093, 'end': 1125, 'count': 33}, {'code': 3, 'start': 1156, 'end': 1199, 'count': 44}, {'code': 3, 'start': 1284, 'end': 1311, 'count': 28}, {'code': 3, 'start': 1412, 'end': 1423, 'count': 12}, {'code': 3, 'start': 1476, 'end': 1476, 'count': 1}, {'code': 3, 'start': 1540, 'end': 1546, 'count': 7}, {'code': 3, 'start': 1668, 'end': 1691, 'count': 24}, {'code': 3, 'start': 4131, 'end': 4132, 'count': 2}, {'code': 3, 'start': 4173, 'end': 4178, 'count': 6}, {'code': 3, 'start': 4368, 'end': 4378, 'count': 11}, {'code': 3, 'start': 4487, 'end': 4492, 'count': 6}] #0
2025-08-29 07:51:58.497 DEBUG (MainThread) [custom_components.solarman.device] [192.168.1.127] Request 03 ❘ 0x03 ~ 1028 ❘ 0x0404: {'count': 40}
2025-08-29 07:51:58.498 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] SENT: a5 17 00 10 45 3d 00 88 18 0d bc 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 04 04 00 28 05 25 72 15
2025-08-29 07:51:58.505 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] Successful connection!
2025-08-29 07:52:12.507 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] Connection closed. Will try to restart the connection
2025-08-29 07:52:12.520 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] Successful reconnection! Data expected. Will retry the last request
2025-08-29 07:52:26.509 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] Connection closed. Will try to restart the connection
2025-08-29 07:52:26.516 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] Successful reconnection! Data expected. Will retry the last request
2025-08-29 07:52:28.500 DEBUG (MainThread) [custom_components.solarman.discovery] DiscoveryProtocol: Send to 192.168.1.127
2025-08-29 07:52:28.506 DEBUG (MainThread) [custom_components.solarman.discovery] DiscoveryProtocol: [192.168.1.127, 74E9D801CB94, 3154974856] from ('192.168.1.127', 48899)
2025-08-29 07:52:31.474 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] Closing connection
2025-08-29 07:52:31.475 DEBUG (MainThread) [custom_components.solarman.coordinator] Finished fetching Inverter 2 data in 32.980 seconds (success: False)
2025-08-29 07:52:31.476 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] Closing connection
@davidrapan - May I please ask for your help? It seems that the integration connects successfully but the connection is closed then retries again.
My logger is LSW3_15_MQTT_270A_1.22, similar as @uswong (except mine is later version) which he got to work with sofar_g3hyd.yaml. I have tried all the sofar yaml files but keeps on getting the same message in the logs.
According to the logger interface, the infverter type is Sofar_G3.
LOGS:
2025-08-31 21:54:39.957 DEBUG (MainThread) [custom_components.solarman.discovery] DiscoveryProtocol: Send to 192.168.1.127
2025-08-31 21:54:39.969 DEBUG (MainThread) [custom_components.solarman.discovery] DiscoveryProtocol: [192.168.1.127, 74E9D801CB94, 3154974856] from ('192.168.1.127', 48899)
2025-08-31 21:54:40.400 DEBUG (MainThread) [custom_components.solarman.parser] sofar_g3.yaml w/ defaults for update_interval: 10, code: 3, min_span: 25, max_size: 125, digits: 6, parameters: {'mod': 0, 'mppt': 4, 'l': 3, 'pack': -1}
2025-08-31 21:54:40.404 DEBUG (MainThread) [custom_components.solarman.device] [192.168.1.127] Scheduling 7 query requests: [{'code': 3, 'start': 1028, 'end': 1067, 'count': 40}, {'code': 3, 'start': 1093, 'end': 1125, 'count': 33}, {'code': 3, 'start': 1156, 'end': 1199, 'count': 44}, {'code': 3, 'start': 1412, 'end': 1417, 'count': 6}, {'code': 3, 'start': 1542, 'end': 1542, 'count': 1}, {'code': 3, 'start': 1667, 'end': 1691, 'count': 25}, {'code': 3, 'start': 4131, 'end': 4132, 'count': 2}] #0
2025-08-31 21:54:40.404 DEBUG (MainThread) [custom_components.solarman.device] [192.168.1.127] Request 03 ❘ 0x03 ~ 1028 ❘ 0x0404: {'count': 40}
2025-08-31 21:54:40.405 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] SENT: a5 17 00 10 45 7b 00 88 18 0d bc 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 04 04 00 28 05 25 b0 15
2025-08-31 21:54:40.413 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] Successful connection!
2025-08-31 21:54:54.415 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] Connection closed. Will try to restart the connection
2025-08-31 21:54:54.426 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] Successful reconnection! Data expected. Will retry the last request
2025-08-31 21:55:08.418 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] Connection closed. Will try to restart the connection
2025-08-31 21:55:08.430 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] Successful reconnection! Data expected. Will retry the last request
2025-08-31 21:55:10.406 DEBUG (MainThread) [custom_components.solarman.discovery] DiscoveryProtocol: Send to 192.168.1.127
2025-08-31 21:55:10.415 DEBUG (MainThread) [custom_components.solarman.discovery] DiscoveryProtocol: [192.168.1.127, 74E9D801CB94, 3154974856] from ('192.168.1.127', 48899)
2025-08-31 21:55:10.674 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] Closing connection
2025-08-31 21:55:10.675 DEBUG (MainThread) [custom_components.solarman.coordinator] Finished fetching Sofar data in 30.272 seconds (success: False)
2025-08-31 21:55:10.676 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.127] Closing connection
EDIT: Fixed by changing to the Sofar_Hybrid.yaml profile
I have tried to add the integration after deleting it completely. the Logger device is auto discovered, but when I add it I get this:
My config set up was the default:
My Inverter type is the Sofar ME3000SP
Any tips on how to get the Integration back again? The logger is on SW version: LSW3_15_FFFF_1.0.57 V1.1.00.05
I have never made any changes manually to the Logger since it originally worked with the Integration. All data is being collected in the “Solarman” phone app and the “Sofar View” phone app.
Thank you for any advice
From logs:
2025-09-27 12:15:54.856 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] RECV: a5 10 00 10 15 35 88 b3 61 a7 69 02 01 98 d3 54 38 71 14 00 00 c1 e5 82 30 05 00 f2 15
2025-09-27 12:15:54.856 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] Closing connection
2025-09-27 12:15:54.858 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] Closing connection
2025-09-27 12:21:04.576 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] RECV: a5 10 00 10 15 43 98 b3 61 a7 69 02 01 ce d4 54 38 a7 15 00 00 c1 e5 82 30 05 00 7e 15
2025-09-27 12:21:04.576 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] SENT: a5 17 00 10 45 44 00 b3 61 a7 69 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 00 17 05 c4 ba 15
2025-09-27 12:21:05.131 DEBUG (Recorder) [homeassistant.components.recorder.core] Processing task: CommitTask()
2025-09-27 12:21:05.133 DEBUG (Recorder) [homeassistant.components.recorder.pool.RecorderPool] Connection <sqlite3.Connection object at 0x7f8f84d98c70> checked out from pool
2025-09-27 12:21:05.146 DEBUG (Recorder) [homeassistant.components.recorder.pool.RecorderPool] Connection <sqlite3.Connection object at 0x7f8f84d98c70> being returned to pool
2025-09-27 12:21:05.146 DEBUG (Recorder) [homeassistant.components.recorder.pool.RecorderPool] Connection <sqlite3.Connection object at 0x7f8f84d98c70> rollback-on-return
2025-09-27 12:21:06.586 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] RECV: a5 10 00 10 15 44 99 b3 61 a7 69 02 01 d0 d4 54 38 a9 15 00 00 c1 e5 82 30 05 00 84 15
2025-09-27 12:21:06.586 DEBUG (MainThread) [custom_components.solarman.device] [192.168.1.240] Request 03 ❘ 0x03 ~ 0000 ❘ 0x0000: {'count': 23}
2025-09-27 12:21:06.586 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] SENT: a5 17 00 10 45 45 00 b3 61 a7 69 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 00 17 05 c4 bb 15
2025-09-27 12:21:15.700 DEBUG (MainThread) [custom_components.solarman] async_setup_entry: Coordinator.init -> async_config_entry_first_refresh
2025-09-27 12:21:15.701 DEBUG (MainThread) [custom_components.solarman.discovery] DiscoveryProtocol: Send to 192.168.1.240
2025-09-27 12:21:15.706 DEBUG (MainThread) [custom_components.solarman.discovery] DiscoveryProtocol: [192.168.1.240, 34EAE7994462, 1772588203] from ('192.168.1.240', 48899)
2025-09-27 12:21:15.832 DEBUG (MainThread) [custom_components.solarman.device] [192.168.1.240] Scheduling 1 query request: [{'code': 3, 'start': 0, 'end': 22, 'count': 23}] #0
2025-09-27 12:21:15.833 DEBUG (MainThread) [custom_components.solarman.device] [192.168.1.240] Request 03 ❘ 0x03 ~ 0000 ❘ 0x0000: {'count': 23}
2025-09-27 12:21:15.833 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] SENT: a5 17 00 10 45 78 00 b3 61 a7 69 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 00 17 05 c4 ee 15
2025-09-27 12:21:15.839 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] Successful connection!
2025-09-27 12:21:17.846 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] RECV: a5 10 00 10 15 78 9d b3 61 a7 69 02 01 db d4 54 38 b4 15 00 00 c1 e5 82 30 05 00 d2 15
2025-09-27 12:21:17.846 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] SENT: a5 17 00 10 45 79 00 b3 61 a7 69 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 00 17 05 c4 ef 15
2025-09-27 12:21:19.880 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] RECV: a5 10 00 10 15 79 9e b3 61 a7 69 02 01 dd d4 54 38 b6 15 00 00 c1 e5 82 30 05 00 d8 15
2025-09-27 12:21:19.881 DEBUG (MainThread) [custom_components.solarman.device] [192.168.1.240] Request 03 ❘ 0x03 ~ 0000 ❘ 0x0000: {'count': 23}
2025-09-27 12:21:19.881 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] SENT: a5 17 00 10 45 7a 00 b3 61 a7 69 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 00 17 05 c4 f0 15
2025-09-27 12:21:21.888 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] RECV: a5 10 00 10 15 7a 9f b3 61 a7 69 02 01 df d4 54 38 b8 15 00 00 c1 e5 82 30 05 00 de 15
2025-09-27 12:21:21.889 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] SENT: a5 17 00 10 45 7b 00 b3 61 a7 69 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 00 17 05 c4 f1 15
2025-09-27 12:21:23.979 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] RECV: a5 10 00 10 15 7b a0 b3 61 a7 69 02 01 e1 d4 54 38 ba 15 00 00 c1 e5 82 30 05 00 e4 15
2025-09-27 12:21:23.980 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] Closing connection
2025-09-27 12:21:23.982 DEBUG (MainThread) [custom_components.solarman.pysolarman] [192.168.1.240] Closing connection
Hi @jigsaw, this particular firmware is very tricky. Try to change Working mode to Transparency at /config_hide.html and then select Modbus TCP as the transport protocol in device configuration (try it w/ regular TCP too though).
Quick question for you mate, you’re the only person to mention the word hinen in regards to Home Assistant I’ve been able to find.
Recently got Solar + Inverter (H5000) + Battery (B5000) and a data logger (powow data gateway), all visible and working in the hinen app but no clue in regards to HA.
Is this similar to your setup?
Well, the logger must provide local Modbus access in some form and in this case there is a profile for some Hinen inverters, yes.
Hi. Thank you for making this integration.
I have three Deye invertors connected to Home Assistant with the Stephan Joubert’s Solarman integration (Deye 1, Deye 2, Deye 3 with deye_hybrid.yaml).
I’d love to upgrade to the
Solarman Stick Logger
I see they both share the same directory: config/custom_components/solarman
Is there a step-by-step guide for upgrading so existing entities are picked up by your integration, or do I need to recreate the helpers, automations and dashboards from scratch?
Thank you.
hey guys, how I can add the attributes to my dashboard? I cannot find in the entities field
“Device Modbus Address”,
“Device Protocol Version”,
“Device Serial Number”,
“Device Rated Phase”,
“Device Chip Type”,
“Device Control Board Firmware Version”,
“Device Communication Board Firmware Version”,
“Device Rated Power”,
“Device MPPTs”,
“Device Phases”,
also this itens not showing for entities
I have no ideia why have this line l: 2
- group: Grid
items:-
name: “Grid L12 Voltage”
l: 2
class: “voltage”
state_class: “measurement”
uom: “V”
scale: 0.1
rule: 1
registers: [0x0046] -
name: “Grid L23 Voltage”
l: 3
class: “voltage”
state_class: “measurement”
uom: “V”
scale: 0.1
rule: 1
registers: [0x0047] -
name: “Grid L31 Voltage”
l: 3
class: “voltage”
state_class: “measurement”
uom: “V”
scale: 0.1
rule: 1
registers: [0x0048] -
name: “Grid L1 Voltage”
l: 1
class: “voltage”
state_class: “measurement”
uom: “V”
scale: 0.1
rule: 1
registers: [0x0049] -
name: “Grid L2 Voltage”
l: 2
class: “voltage”
state_class: “measurement”
uom: “V”
scale: 0.1
rule: 1
registers: [0x004A] -
name: “Grid L3 Voltage”
l: 3
class: “voltage”
state_class: “measurement”
uom: “V”
scale: 0.1
rule: 1
registers: [0x004B] -
name: “Grid L1 Current”
l: 1
class: “current”
state_class: “measurement”
uom: “A”
scale: 0.1
rule: 2
registers: [0x004C] -
name: “Grid L2 Current”
l: 2
class: “current”
state_class: “measurement”
uom: “A”
scale: 0.1
rule: 2
registers: [0x004D] -
name: “Grid L3 Current”
l: 3
class: “current”
state_class: “measurement”
uom: “A”
scale: 0.1
rule: 2
registers: [0x004E] -
name: “Grid Frequency”
l: 1
class: “frequency”
state_class: “measurement”
uom: “Hz”
scale: 0.01
rule: 1
registers: [0x004F]
-
First, I want to thank you for all the effort you’ve put in. I’m working with a SunGoldPower SPH6548P inverter and using the SRNE_asf.yaml configuration. Many of the sensors appear to be functioning correctly, but I’m trying to find a way to access a complete register list for my inverter.
I think the only option is to contact the manufacturer.
Hi. I am very satisfied with your integration, but due to the 5-second refresh rate, synchronization errors occur in the Solarman application because it cannot retrieve data from the logger. Where can I change this? I already tried the configuration.yaml file, but it didn’t work. Thank you for your help.
it’s in the yaml file with the definitions for your inverter
for example on line 18 of this file on your install >
custom_components/solarman/inverter_definitions
/sofar_hybrid.yaml (depending on the file you use)
see full file, etc from github…





