Growatt Integration - Roadmap

Hi Everyone,

For those of you that have been recently struggling with the Growatt Integration, I wanted to provide an update on where we are and what the short, medium and long-term plan is given the problems we’ve been having.

The Problem
Growatt have recently introduced new methods to rate-limit/reduce/block the python library that we use under-the-hood from making regular requests to their servers.
There are probably various reasons for this, ultimately though they refuse to engage with us on any level which makes everything very difficult.

The Plan
I’m breaking down the plan into short, medium & long-term and purposefully not putting dates/times against it as this is an open-source project that I work on in my spare time so can’t commit to specifics.

Short Term
There is a PR in for the current issue this will fix it until the NEXT time Growatt decide to find a way of blocking people.

While we’re waiting on that to happen I’m going to change the Growatt Integration to a “custom integration” instead of one that comes ‘baked in’ to Home Assistant, that will allow me to release ad-hoc responses whenever Growatt decide to block whatever method we’re using this week.

Medium Term
I will continue to work through the list of backlog items that I outlined here: Growatt Integration - Prioritised List of Features for Implementation/Fixing

I will also work with Indy who maintains the upstream python library to see if there’s anything we can do to make this work for the longer term

Long Term
I will look to do one of two things in order to get the Growatt Integration moved back into the mainstream HomeAssistant repo

  1. Change to using the Web UI API instead of the Android API, although I worry this could end up suffering from the same issue with getting blocked etc. It would also require an overhaul of the way that the integration works and communicates externally
  2. Integrate something like ‘grott’ into the HA integration and make the whole setup completely ‘local’, however this will take time and be a complete overhaul of the way that the integration currently works.

Finally
Thank you all for your patience with this integration, it is a labour of love (and pain) but we’ll get there eventually.
I’ll be picking this work up again once the Christmas holidays have finished in the UK.
I recommend keeping an eye out for new repos appearing over on my Github page here: muppet3000 (Chris Straffon) · GitHub in the not-to-distant future

Edit/Update
Since 07/02/2023 (7th Feb) Growatt have started implementing rate limiting and blocking to user accounts that make excessive API calls i.e. this integration. There is an extended discussion around it here.

If you’re interested in the short version read these posts: first, second, third

The recent developments throw into question the long-term viability of this Integration, please see the ‘third’ link above for the proposed plan.

I have been a happy user since I used this integration as my main goal is to get data in HA, not in any growatt proprietary app. I also have been looking at the grott solution but since I have no serious issues…why change a running system :slight_smile: Although I am not paranoid about data sharing, having a local solution without cloud sharing is possibly my future too… but not while your integration runs favorably
Thank YOU for all your effort and best wishes !

I just want to chime in and say a big thank you for all the work you’re putting into this integration, it is much appreciated. I actually chose Growatt Inverter due to your work here and the integration with HA, and so I really hope this will be maintained going forward. If only vendors would see the benefit of working with home automation communities instead of against, that would be something :slight_smile:

A big thank you also from my side and I hope a integration (through HACS or native HA) will be available soon

Thank you @muppet3000 for this integration. I totally understand why this is such a pain to keep it working as Growatt is actively working against your efforts.
Personally, I still use your intergration, but in parallel I also run an ESP32+MAX3485 combo to locally read the ModBus connection on my Growatt inverter (via ESPHOME).
And yes, it would be great if your integration was a custom integration, so any updates could be implemented faster/easier.
Keep up the good work !

2 Likes

@bigfloor Do you have a tutorial/guide somewhere that explains how to set that up? I use ESPHome for a lot of things, and Modbus for my ventilation, so it would be cool to try to get some local data from the Growatt as well. I do prefer having the automatic setup from the Growatt integration, but never hurts to have options :slight_smile:

1 Like

Thanks for all your work on this. Its quite a bitch having to deal with the constant changes Growatt is making.
I dont think the UI API will solve matters as Growatt is trying to reduce traffic. Perhaps local combined with a daily Growatt connect will keep this under the radar. Personally I reverted to Grott and dont have a need to connect to Growatt.
So I strongly support your long term goal of going local.

Best wishes

Hi Everyone!

As discussed in more detail above I have started the process of moving the Growatt Server integration out of Home Assistant Core and into a custom integration. This will allow for much faster responses when there are issues with authenticating against the Growatt Servers as we’ve seen in recent months.

Over the next few weeks I will be removing the Growatt integration from the Core repository of Home Assistant, however, to give people time to switch over to the new integration I have already published it here (new repo) with a comprehensive guide on how to install it (it’s quite straight forward).

Once you have it installed, delete the previous integration and then switch to using the new one, step-by-step with pictures here

IMPORTANT: The new integration is the only place that new fixes & features will be released

Next steps:

  • The documentation here (growatt_server) will be updated to recommend using the new integration instead
  • The existing bugs against the Growatt integration in Home Assistant will be migrated/copied to the new repository
  • New features & fixes will be worked on

I apologise for the inconvenience that this causes, however it’s in the interest of the stability of Home Assistant Core as well as the ability to provide swift responses to issues in the plugin that I’m making this change.

Any questions related to this, please add them as issues on the new repo here (issues) and I’ll respond as fast as I can.

1 Like

@muppet3000 This makes total sense and I was advocating for in one of the github issues to move it out to something like HACS. I believe the Hive (Home) integration operates in a similar way where there’s a HACS version and official for speed of release and testing.

Do you see the changes in the custom integration making it back into the official integration at a regular cadence? E.g. the monthly Home Assistant release cycles would contain a roll up of all the releases from the your repository?

Lastly, thank you for your persistent on this and I hope Growatt will eventually grow up :wink: and stop playing these types of games.

1 Like

Just wanted to say thank you for all your hard work.
Taking the growatt integration out of core is definitely the way to go right now.

1 Like

I wish I’d thought of this idea (the monthly roll-up) before I went and posted on all the tickets last night. This is a great idea, thanks for sharing. I will endeavour to do this on a semi-regular (probably monthly) basis assuming that the changes I’m making in the HACS repo pass the Home Assistant core Pull-Request process!
For now though, I recommend switching to the HACS version wherever possible and giving me feedback on that repo so that I can respond promptly!

2 Likes

Thank you for your WORK!
I just delete my old integration (there works only Growatt total), but the result is the same (sry for language in my HA):
grow1



Hi @majliSK no need to apologise, you communicated what the problem was.
If it didn’t work in the Core integration it won’t work in the new one either - yet, currently their codebase is identical.

Now that I’ve made the transition to supporting this via HACS I plan to add support for the missing systems. I’m currently putting together an FAQ which will include how to share credentials with me for people that are willing to share so that I can add support for their systems. I already have what I need for most systems but I’m not sure if “Single Exportlimit” is on my list, is there anything else in that drop-down next to “Device Type” ?

NOTE - The best place to discuss this is by logging an issue here: Issues · muppet3000/homeassistant-growatt_server_api · GitHub

Hi.

Sorry for the delay, follow this bug: BUG - MAX/MID/MAC systems are not supported · Issue #11 · muppet3000/homeassistant-growatt_server_api · GitHub for more information. We do not yet have support for that system.
I will be adding it soon hopefully.

1 Like

Is it possible that someone can tell me why the total and today energy spikes randomly in the evening/dark when there’s no sun? At the below image, the spike started at 9:37PM before resetting back to 0 for the next day.

image

I’ve checked the Growatt Dashboard, and I can’t find the same results there:

Is this a bug by any chance?

You seem to be comparing appels en peren. You energy is a increasing value kWh and power is what the panels deliver in W

I’m a tad confused on your reply. I’m talking about an increase of 4.4 kWh of “generated solar” between 9 and 10PM in the evening which simply isn’t possible. I simply grabbed the power overview of the Growatt Dasboard as a comparison that after 18:55, nothing was generated.

image

Especially when the WiFi module is offline when no power is being generated. So curious where the value comes from.

I assume that the first graph is a utility meter on daily cycle? It seems to show that there was no energy registered from about 3:30 PM although power was generated, so my guess is that your HA instance was disconnected from the growatt server and when it reconnected at 9:37 it added the gap

EDIT: what does the growatt server say on total energy for that day, does it align with the utility meter?

Ya, I’ve noticed the gap as well and was wondering the same. According to Growatt 17,6 kWh was generated yesterday. Which matches with the Energy Today Entity and Solar total on Home Assistant of the same day. Shame though it adds the missing kWh’s when it reconnected though rather than on the time it was missing. I suppose it can’t really distinguish between them.

– Edit, nvm. 11-12PM solar generation shows low on HA because I was using my washing machine… then I assume the 4.4 kWh’s in the evening came from the missing ones after 4PM.