Skip to content
View in the app

A better way to browse. Learn more.

Power Forum - Renewable Energy Discussion

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Growatt - Switch modes via API

Featured Replies

Hi all, I have 2x Growatt SPF5000ES inverters in parallel with 2x LBSA 5.1KW LiFEPO batteries. (Dumb set up as my inverter / battery combo does not support the CAN to BMS hookup)

I have to regularly change modes from SUB to UTIL when we have loadshedding in order to ensure that my batteries are always full as when it gets later in the afternoon and PV generation is very low (Not enough to charge the batteries), it will not use Utility to charge up the batteries to float. It seems that although my setting is set to SUB (Solar, Utility and then battery) it ignores using Utility to charge the batteries as long as there is some PV (even if it is only like 5W). 

So what I do now is, when it gets to say 4:30PM, I switch it over to Util in order to get my batteries full and then once there, I switch back to SUB and I would just love to automate this.

Has anyone been able to switch AC output source via the Growatt API or by any other script? I currently run HomeAssistant for my automation needs and was hoping to build some sort of automation based on my loadshedding integration as well as time based automation rules.

I know one can go the the Growatt Server URL, login and change the modes between SUB, SBU, UTIL and SOL by using the key code "growatt{date-today}" but I would like to automate the switching of modes based on certain conditions and a script would be ideal for this.

Eagerly awaiting any assistance here.

 

Thanks 

Hello @uncappedshady,

Quote

I have to regularly change modes from SUB to UTIL when we have loadshedding in order to ensure that my batteries are always full as when it gets later in the afternoon and PV generation is very low (Not enough to charge the batteries), it will not use Utility to charge up the batteries to float. It seems that although my setting is set to SUB (Solar, Utility and then battery) it ignores using Utility to charge the batteries as long as there is some PV (even if it is only like 5W). 

I used to have the same issue running firmware 04x.04 and things seem to be a bit more "sane" with firmware 04x.06. I can now use the PV+UTI mode to blend those two sources to charge the battery, whereas 04x.04 simply refused to use ANY UTI while there was still some PV available.

 

Quote

So what I do now is, when it gets to say 4:30PM, I switch it over to Util in order to get my batteries full and then once there, I switch back to SUB and I would just love to automate this.

I can most certainly help you to achieve this in an automated way.

Quote

Has anyone been able to switch AC output source via the Growatt API or by any other script? I currently run HomeAssistant for my automation needs and was hoping to build some sort of automation based on my loadshedding integration as well as time based automation rules.

I know one can go the the Growatt Server URL, login and change the modes between SUB, SBU, UTIL and SOL by using the key code "growatt{date-today}" but I would like to automate the switching of modes based on certain conditions and a script would be ideal for this.

Yessir. I got this working using ModBus and a USB cable plugged into the inverter. Then using NodeRed to automate this process and exposing it to HomeAssistant (In fact, all the inverter stats are displayed on HA / Grafana using this neat little local-only method). I have to note that I am not using any of the Growatt datalogging features (I actually think the datalogger blocks physical access to the USB port because of its size), and all of this is done on your local network with local devices.

I can walk you through this process and hopefully with a little nudge from your side we can publish it on a thread here for use by anyone else interested. So far I have just been lacking the motivation to actually publish the guide here.

Edited by Supergeek
Removed original quote block.

  • Author
18 minutes ago, Supergeek said:

Yessir. I got this working using ModBus and a USB cable plugged into the inverter. Then using NodeRed to automate this process and exposing it to HomeAssistant (In fact, all the inverter stats are displayed on HA / Grafana using this neat little local-only method). I have to note that I am not using any of the Growatt datalogging features (I actually think the datalogger blocks physical access to the USB port because of its size), and all of this is done on your local network with local devices.

I can walk you through this process and hopefully with a little nudge from your side we can publish it on a thread here for use by anyone else interested. So far I have just been lacking the motivation to actually publish the guide here.

Hi and thank you so much for the feedback. I would greatly appreciate the assistance in getting something like this setup.

I like the fact that you are then not reliant on the Growatt server data anymore and that I can keep it local. 

I just do not have any experience using node red and I assume I would need a raspberry pi or pc that will receive the data via the USB?

 

Thank you once again.

Edited by uncappedshady

20 minutes ago, uncappedshady said:

Hi and thank you so much for the feedback. I would greatly appreciate the assistance in getting something like this setup.

I like the fact that you are then not reliant on the Growatt server data anymore and that I can keep it local. 

I just do not have any experience using node red and I assume I would need a raspberry pi or pc that will receive the data via the USB?

 

Thank you once again.

100%, happy to help. :)

Yeah, the other side effect of not relying on the growatt servers is that you do not see a 15 minute delayed / aggregate view of the data. It is literally as realtime as how frequently you poll the ModBus endpoint.

NodeRed is a little bit of a learning curve, but not crazy complicated once you get the hang of it.

And to answer your question about the USB connectivity - Yes, it would be preferable to have a dedicated device like a raspberry pi, or old laptop / computer that you can physically connect to the inverter. I am not sure what your HA hardware looks like? Is it a pi? If it is, and it is close enough to your inverter and it has some spare USB ports, you can plug straight in there and use the NodeRed addon for HA even.

See attached monitoring setup and example of what you can see / do in HA.

 

Inverter Monitoring.png

Selection_495.png

Selection_494.png

  • 1 month later...
  • Author

Hi again and thank you for the assistance. I have decided to opt for solar-assistant on raspberry pi which seems like a very similar setup to yours but just way easier for me to implement 😂

All is setup and have MQTT working beautiful with Hassio as well.

  • 2 weeks later...
On 2022/07/25 at 12:55 PM, Supergeek said:

100%, happy to help. :)

Yeah, the other side effect of not relying on the growatt servers is that you do not see a 15 minute delayed / aggregate view of the data. It is literally as realtime as how frequently you poll the ModBus endpoint.

NodeRed is a little bit of a learning curve, but not crazy complicated once you get the hang of it.

And to answer your question about the USB connectivity - Yes, it would be preferable to have a dedicated device like a raspberry pi, or old laptop / computer that you can physically connect to the inverter. I am not sure what your HA hardware looks like? Is it a pi? If it is, and it is close enough to your inverter and it has some spare USB ports, you can plug straight in there and use the NodeRed addon for HA even.

See attached monitoring setup and example of what you can see / do in HA.

 

Inverter Monitoring.png

Selection_495.png

Selection_494.png

Hey supergeek, I have an spf5000es and I am trying to do the same thing. I'm busy learning about modbus, what I don't understand is that the cable you used is a straight usb A to usb B that connects to the usb B port of the invertor, from my understanding in order to interface to modbus you need a usb to rs485 convertor, is this different for the usb B port? My suspicion is that the nodered contrib modbus is doing the conversion on a software level but I'm not sure and looking for confirmation. I'm busy tinkering with an esp32 and esphome in home assistant to try get it working over the air. Ps thanks for posting that diagram, and really nice work in the HA dash

  • 3 weeks later...
On 2022/07/25 at 11:55 AM, Supergeek said:

100%, happy to help. :)

Yeah, the other side effect of not relying on the growatt servers is that you do not see a 15 minute delayed / aggregate view of the data. It is literally as realtime as how frequently you poll the ModBus endpoint.

NodeRed is a little bit of a learning curve, but not crazy complicated once you get the hang of it.

And to answer your question about the USB connectivity - Yes, it would be preferable to have a dedicated device like a raspberry pi, or old laptop / computer that you can physically connect to the inverter. I am not sure what your HA hardware looks like? Is it a pi? If it is, and it is close enough to your inverter and it has some spare USB ports, you can plug straight in there and use the NodeRed addon for HA even.

See attached monitoring setup and example of what you can see / do in HA.

 

Inverter Monitoring.png

Selection_495.png

Selection_494.png

 

Hi @Supergeek,  I love what you have done and im struggling to replicate, would you be able to assist please.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.