Sungrow Winet-S addon for newer inverters

I have been using this addon for a month and it has been fantastic - until a remote firmware update of the Winet-S2 from WINET-SV300.001.03.P006 to WINET-SV300.001.03.P012 killed the connection. Now I only get a similar “Unhandled ‘error’ event” socket hang up.

Tried to roll back to the previous firmware but the app won’t allow a downgrade.

Node.js v20.15.1
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started

> cli
> node build/src/index.js

2024-09-04 07:40:04 info: Connected to MQTT broker 
node:events:497
      throw er; // Unhandled 'error' event
      ^

Error: socket hang up
    at Socket.socketOnEnd (node:_http_client:524:23)
    at Socket.emit (node:events:531:35)
    at endReadableNT (node:internal/streams/readable:1696:12)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
Emitted 'error' event on ClientRequest instance at:
    at Socket.socketOnEnd (node:_http_client:524:9)
    at Socket.emit (node:events:531:35)
    at endReadableNT (node:internal/streams/readable:1696:12)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  code: 'ECONNRESET'
}

Node.js v20.15.1
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

Hi Nick S

I recently discovered this addon. Login was successful, all the parameters of the inverter are visible, but the parameters of the smart meter are not visible. Is it possible to change the configuration to see the smartmeter parameters? Inverter SG15RT, smartmeter parameters are visible through iSolarCloud.

thanks

Hi Nick!

I’m new here and i’ve just install a Sungrow inverter today SH6.0 and I’ve being looking foward to try your integrarion. The problem is that i’m not able to add your repository to my HA… I’ve added a lot of custom repositorys but this time I’ve got an error while importing. This is the message:

Cmd(‘git’) failed due to: exit code(128) cmdline: git clone -v --recursive --depth=1 --shallow-submodules – home-assistant-repo/winet-extractor at main · NickStallman/home-assistant-repo · GitHub /data/addons/git/3a38af50 stderr: 'Cloning into ‘/data/addons/git/3a38af50’… fatal: repository ‘home-assistant-repo/winet-extractor at main · NickStallman/home-assistant-repo · GitHub’ not found ’

Any idea??

Hi again Nick!

Finally I’ve got installed this AMAZING integration. I could configure the original energy cards. I get almost everything I need from my SunGrow SH6.0 inverter. One question that I wonder is that not the entities that Winet Extrator imports. The data imported of this entities is shown as Undefined. Could be wrong parsed this entities?

Specifically there is one entity that for me would be extra interesting: SH60RS XXXXXX Daily Purchased Energy. The integration shows correctly the SH60RS XXXXXX Total Purchased Enery and the SH60RS XXXXXX Purchased Power (instant purchased).

I will be very very thankfull if you could examine this point!!!

Thank you soooo much in advanced.

1 Like

Hi,

I can see some parametres with data:

  • SH60RS XXXXXX Total Purchased Enery (all purchased energy aggregated)
  • SH60RS XXXXXX Purchased Power (instant purchased).
  • SH60RS XXXXXX Daily Load Energy Consumption from PV
  • SH60RS XXXXXX Daily Feed-in Energy (PV)
  • SH60RS XXXXXX Total Load Active Power (What you generates from PV + What you demands from de Grid instantly)
  • SH60RS XXXXXX Total Export Active Power (what you export to the grid instantly)

What I’m not able to see is the Daily Purchased Energy (demand from de grid per day)

1 Like

Hi @Vitoldas,

Can you please advise the steps that you followed as I have the same inverter as you and for some reason I cannot connect mine. I’m not sure if this has anything to do with my Winet-S upgrade that I carried out.

Works fine for SH3.0RS+Winet-S.
Thank you for your work!

I have same issue of Moischen on SH60RS. But I think that is not caused by this module but even you look on web UI of Winet-s, the daily purchased is also undefined, but the instant and total are defined.
I guess is an issue of Winet-s

Just wanted to leave a quick note that I got this running with! Thanks for creating this add-on.

Hi
I try to configure the winet-s addon, but I get an error.
It seems that I can connect to winet-s, I can see de devices in the log (inverter and charger), but I can´t see any entities
Here is the log.
I don´t have any idea about what´s the problem…

2024-10-23 14:34:06 info: Fetched i18n properties.
2024-10-23 14:34:06 info: Connected to MQTT broker
2024-10-23 14:34:06 info: Connected to a older Winet-S device
2024-10-23 14:34:06 info: Connected to Winet, logging in
2024-10-23 14:34:06 info: Authenticated successfully
2024-10-23 14:34:06 info: Detected device: SH60RS (A2280536406)
2024-10-23 14:34:06 info: Detected device: AC007E01 (A2331001375)
2024-10-23 14:34:07 error: Invalid realtime message: {
data: {
result_code: 1,
result_msg: ‘success’,
result_data: { service: ‘real’, list: [Array], count: 19 }
},
[Symbol(level)]: ‘error’,
[Symbol(splat)]: [ { data: [Object] } ]
}
2024-10-23 14:34:07 warn: Reconnecting to Winet

Hi, thanks for this add on.
I have just installed a new inverter, SH15T, and battery SBH250. I am guessing its slightly different…

I can connect to the WiNet-S2 web link.

But get an error when it tries to connect?

2024-10-30 08:28:03 error: Is the Winet IP address correct?
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started

cli
node build/src/index.js

2024-10-30 08:34:28 info: Connected to MQTT broker
2024-10-30 08:34:32 error: Failed to fetch l18n properties required to start. getaddrinfo ENOTFOUND http {
errno: -3007,
code: ‘ENOTFOUND’,
syscall: ‘getaddrinfo’,
hostname: ‘http’,
stack: ‘Error: getaddrinfo ENOTFOUND http\n’ +
’ at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:120:26)',
[Symbol(level)]: ‘error’,
[Symbol(splat)]: [
Error: getaddrinfo ENOTFOUND http
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:120:26) {
errno: -3007,
code: ‘ENOTFOUND’,
syscall: ‘getaddrinfo’,
hostname: ‘http’
}
]
}
2024-10-30 08:34:32 error: Is the Winet IP address correct?

I am wondering if this is something you would look at adding to the supported devices? I can share other data if your interested?

Fixed IP address. But get this?

2024-10-30 10:52:59 info: Connected to MQTT broker
2024-10-30 10:53:01 info: Fetched i18n properties.
2024-10-30 10:53:02 error: Websocket error: Unexpected server response: 400 {
stack: ‘Error: Unexpected server response: 400\n’ +
’ at ClientRequest. (/usr/src/app/node_modules/ws/lib/websocket.js:912:7)\n’ +
’ at ClientRequest.emit (node:events:519:28)\n’ +
’ at HTTPParser.parserOnIncomingClient [as onIncoming] (node:_http_client:698:27)\n’ +
’ at HTTPParser.parserOnHeadersComplete (node:_http_common:119:17)\n’ +
’ at TLSSocket.socketOnData (node:_http_client:540:22)\n’ +
’ at TLSSocket.emit (node:events:519:28)\n’ +
’ at addChunk (node:internal/streams/readable:559:12)\n’ +
’ at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)\n’ +
’ at Readable.push (node:internal/streams/readable:390:5)\n’ +
’ at TLSWrap.onStreamRead (node:internal/stream_base_commons:191:23)',
[Symbol(level)]: ‘error’,
[Symbol(splat)]: [
Error: Unexpected server response: 400
at ClientRequest. (/usr/src/app/node_modules/ws/lib/websocket.js:912:7)
at ClientRequest.emit (node:events:519:28)
at HTTPParser.parserOnIncomingClient [as onIncoming] (node:_http_client:698:27)
at HTTPParser.parserOnHeadersComplete (node:_http_common:119:17)
at TLSSocket.socketOnData (node:_http_client:540:22)
at TLSSocket.emit (node:events:519:28)
at addChunk (node:internal/streams/readable:559:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
at Readable.push (node:internal/streams/readable:390:5)
at TLSWrap.onStreamRead (node:internal/stream_base_commons:191:23)
]
}

OK… Sorry now its working.
Thanks

Hello Nick,

I’m trying to use this integration with my SH10RS but I get the following:

2024-10-30 11:41:16 error: MQTT error: AggregateError
2024-10-30 11:41:17 error: MQTT error: AggregateError
2024-10-30 11:41:18 error: MQTT error: AggregateError
2024-10-30 11:41:19 warn: Newer Winet versions require SSL to be enabled. Retrying
2024-10-30 11:41:19 error: MQTT error: AggregateError
2024-10-30 11:41:20 error: MQTT error: AggregateError
2024-10-30 11:41:21 error: MQTT error: AggregateError
2024-10-30 11:41:22 error: Failed to fetch l18n properties required to start. connect EHOSTUNREACH 192.168.0.177:443 {
errno: -113,
code: ‘EHOSTUNREACH’,
syscall: ‘connect’,
address: ‘192.168.0.177’,
port: 443,
stack: ‘Error: connect EHOSTUNREACH 192.168.0.177:443\n’ +
’ at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1606:16)',
[Symbol(level)]: ‘error’,
[Symbol(splat)]: [
Error: connect EHOSTUNREACH 192.168.0.177:443
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1606:16) {
errno: -113,
code: ‘EHOSTUNREACH’,
syscall: ‘connect’,
address: ‘192.168.0.177’,
port: 443
}
]
}
2024-10-30 11:41:22 error: Is the Winet IP address correct?
2024-10-30 11:41:22 error: MQTT error: AggregateError
2024-10-30 11:41:23 error: MQTT error: AggregateError
2024-10-30 11:41:24 error: MQTT error: AggregateError
2024-10-30 11:41:25 error: MQTT error: AggregateError

Any idea what the issue might be ?

@Waldo1 ooh one of the shiny new batteries. :slight_smile:
Can you ensure your Winet is on the latest firmware? They did an update a couple of months ago that changed things around a little. It should work perfectly with the latest firmware.

Brilliant, worked instantly! SH8.0RT-V112, Winet-S, with SBR096. Latest firmware on everything. It even pulled meter data. I’ve only used for a half an hour, keep my fingers crossed it stays stable.

what did you do to fix it? I’m in the same situation as you?

EDIT What I did was dissable SSL checkbox and it started working! Woop woop!

Thanks a ton, @NickS . The configuration was a breeze. Could setup within 10min.
Only issue I could see, its not showing up the current consumption in any of the sensors. Mine is SG10RT, Winet S2 with a smart meter. The current consumption is available on the app. But not showing up in HA. Any pointers?

The sensors are here and my current consumption is 8KW