Home Assistant Community Add-on: iSolarCloud / Sungrow

Today installation of my Sungrow solar inverter SH10RT and battery SBR096 will start. What home assistant integration is currently the most functional and reliable? I found reports of people using the following:

GitHub - MickMake/HomeAssistantAddons / GitHub - MickMake/GoSungrow: GoLang implementation to access the iSolarCloud API updated by SunGrow inverters.
GitHub - MatterVN/ModbusTCP2MQTT: Sungrow & SMA Solar Inverter addon for Home Assistant using mobusTCP
GitHub - mkaiser/Sungrow-SHx-Inverter-Modbus-Home-Assistant: Sungrow SH Integration for Home Assistant for SH3.6RS, SH4.6RS, SH5.0RS, SH5.0RT, SH6.0RS, SH8.0RT, SH6.0RT, SH10RT
GitHub - mvandersteen/ha-sungrow: Sungrow Component for Home Assistant
GitHub - meltaxa/solariot: Leverage your IoT enabled Solar PV Inverter to stream your solar energy usage data to a real time dashboard.
Fronius - Home Assistant

Thanks for your insights!!

1 Like

In the same boat, getting a Sungrow SG10RS (G3) installed tomorrow and would like to figure out how to add it to home assistant locally.

2 Likes

I’m stuck at the installing add-on bit. I have added the repository but nothing happens after that. My other repository ewlink is working fine but this ones does not appear in the list after adding and has a red delete icon next to it for some reason.

Snip20221215_52

Hi everyone,
I have just released v3.0.0 of GoSungrow, (appearing as v3.0.1 on HASSIO). This is a major update and took a little longer than I had expected - life gets in the way sometimes :slight_smile:

The following is from my GoSungrow changelog, (for HA, there have been just a few stability changes):

It was originally intended for my needs, (seeing all data in HomeAssistant), but there seems to be a big interest in this tool. So I’ve spent some time working on the v3.0.0 release.

v3.0.0 changelog:

  • Support better api changes. This allows a much quicker change in my code when the api changes.
  • Support multiple devices. Previous versions only allowed query of one device.
  • Improve cli for queries. Now can fetch endpoints in either “list” or “table” formats, the latter showing point data in a similar fashion to pivot tables in spreadsheets.
  • Multiple output formats supported - not only csv, png and ascii, but markdown, xml, HTML, sql and plain MQTT.
  • Lots of bug fixes. :-).

I have now mapped out all the API calls. All the read-only endpoints are mapped out and fully tested. The write-only calls haven’t been tested fully. It’s tricky as their “API” changes regularly; however I’ve accommodated for quick changes in the v3.0.0 release.

Most endpoints contain repeated data. The main endpoints that house most of the data I’ve provided easy commands to access. Of course, all endpoints are accessible. So go for your life.

3 Likes

This is really nice, thanks alot! Got it working in a few minutes, really cool.

At a glance seems you are polling the webapi every 5mins? I’m a bit impatient is there a way to up this or is that the cloud output? Do you also have a list of sensor values that fit to the HA energy monitor? I was planning on just using this as it’s so far been doing a great job for me :slight_smile:

1 Like

I present all the point data I see from three main endpoints. There are plenty of other endpoints but the three I chose contain 90% of them.

All the points data appear in the format ps_key.point_id The critical ones I have aliased to virtual entries. So in HA you can search for them using “virtual”.

If you want to go deeper, download the GoSungrow tool to your PC and type:

GoSungrow show ps points

This will show up all points available for your unit.

Also check out the Lovelace yaml files as an example of output you can produce.

You can generate these files for your PsId using the command:

GoSungrow ha lovelace

whatever the problem was yesterday has fixed itself overnight. Deleted and added repository back and now appearing in the list of addons. Strangely I also did many times yesterday with no luck.

I’m seeing the wrong data in the MQTT connection - log shows username:password rather than the host:port which is throwing an error. See red items in attached image.

The configuration automatically identified the correct MQTT host and port but they are not used. I have manually updated and restarted but same issue persists.

OK. I need to find out a bit more on how the bashio::services mqtt "host" actually works.

I use this to auto-configure MQTT, but I never could get it going with my HA instance.
What I do is:

  1. Check in on bashio::services mqtt "host".
  2. If that’s empty, then pull config from /data/options.json.
  3. If that’s empty set host to core-mosquitto.

That should cover every setup type.

Have a look at the /data/.GoSungrow/config.json file to see what’s in there.

I do not have a /data/.GoSungrow folder and searching the whole file system I do not have a config.json anywhere.

Under /data I have options.json which is essentially empty.

My MQTT host is set to core-mosquitto.

In the main log I cannot see anything to do with Sungrow being installed, started or even failing, but the addon log shows what is going on.

Any idea where the addon install has been hidden?

Looking at the logs when the add-on starts, it looks like the port begins with a carriage return as it’s dropped to the next line in the logs but is actually shorter than any other entry.

Could this be what is causing the failure to get the port into the connection string?

seems to be complete - matches what the logs show too.

Snip20221221_59

what is the “out” parameter as that is not set to a value?

The “out” parameter is for when using the cli.
So you don’t need to worry about it.

I’ve just released an update, so give that a try.

Just done a restart on HA, the upgrade is in place but the log shows the same error on MQTT

Token File: /data/.GoSungrow/AppService_login.json
2022/12/21 22:43:29 INFO: Connecting to MQTT HASSIO Service…
**Error: parse "tcp://my-username:my-password": invalid port “:my-password” after host
Usage:
GoSungrow mqtt run [flags]
Aliases:
run,
Examples:
GoSungrow mqtt run
Flags: Use “GoSungrow help flags” for more info.
Additional help topics:
ERROR: parse “tcp://my-username:my-password”: invalid port “:my-password” after host
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

Logs showing that the URL that is’ trying to connect to is does not contain either the MQTT host or the MQTT port… but does contain my-username and my-password as per config file.

Any chance you could update the debug mode logs to output more information on what is happening at the time of MQTT connection?

Something very strange going with my HA…

I have just uninstalled the add-on (again) and done a hard restart. Then installed again.

IT WORKS !

I wish I had saved old log information as the output appears to be different in a few places

Either way, I get connection as expected and will now build your dashboards.

Thanks for this add-on, appreciate the effort you’ve taken to get it to this point and looking forward to playing around some more.

1 Like

Hi,
This looks awesome, Ive been waiting the latest 3.0.x update!

Getting a network error:

image

Followed the above advice - uninstall, hard restart, restart, re-install, No joy.

Any ideas?

Thanks,

Jarrod.

This looks like a name resolve issue.
Are you running the latest HA? I’m not sure if the older versions made use of the mosquitto-core hostname or not.

The latest version, (v3.0.3), you can control logging with MQTT commands. Have a look at the docs for examples.

You can create some Lovelace cards that contain select.gosungrow_option_mqtt_debug and select.gosungrow_option_loglevel. These will do what you expect them to do.


Thanks Mate.

Ahh OK, so is MQTT connection in your add on directing comms to the mosquitto-core that would be hosted in HA?
I have a separate broker in a separate device?

In the config, Ive set the MQTT host, port, user and P/W.

What does the 127.0.0.11:53 refer to?

Thanks again… Getting there!

Jarrod.

(edited - Yes, latest version of HA Core and OS) :slight_smile:

53 is port 53, which is DNS. I’m not 100% familiar with the different core versions. So not sure why your install is having trouble querying dns.

Maybe some other forum post may shed light on it. I’ll have a dig myself.