[APP][Pro] SolarEdge + Growatt TCP modbus

Purpose
The difference of this app and the already existing solar panels app is that this app reads the data directly from the inverter.
The solaredge api and others are mostly limited to 300 calls/ day, so you get only updates every 10-15 minutes.

The modbus app receives data every few seconds.
If you have the Solaredge energy monitor installed you can maximize your self-consumption and limit your exported power by using it. You can make flows based on your generated solar power, exported power, imported power or current power consumption.

The iOS / android app from Growatt or Solaredge are fine, so it is not the purpose to create this app again.

Growatt

Homey app to receive near realtime data from your Growatt - SPA, SPH or TL-X XXX Hybrid Inverter and others in the same range using local Modbus TCP

To enable modbus tcp on your Growatt converter do the following described in this doc Dropbox - Setup Growatt.pdf - Simplify your life

General information can be found at: Growatt Protocol

Special thanks for Luc Van Laer for his guidance and help to add support for Growatt inverters

Supported devices

Following devices are supported
Growatt - SPA, SPH, TL-X XXX Hybrid Inverter and others in the same range

Wattsonic 3rd generation

Wattsonic gen3 inverter and their clones (sunways, solinteg, A-Tronix, St-ems).

For more information see Wattsonic Hybrid Inverter Gen3 Modbus RTU Protocol | SmartHome.Exposed

Sungrow inverters with meters and a battery

Huawei inverters with meters and a battery (read only mode)

Solaredge

Homey app to receive near realtime data from your Solaredge solar installation using local Modbus TCP

Links
The app is now live in the Homey app store: Homey App Store
Github code: Github Link

Supported devices

Following devices are supported

  • Inverters with SetApp and with display
  • Modbus energy Meter
  • Storedge devices (DC connected battery storage)

Enable Modbus TCP on your inverter

Modbus TCP is disabled by default on all inverters, you have to enable this function
Important: The TCP server idle time is 2 minutes after starting. In order to leave the connection open, the request should be made within 2 minutes. The connection can remain open without any MODBUS requests.
General information can be found at: Sunspec Protocol

Inverters with SetApp

  • Enable wifi direct on the inverter.
  • Connect to the inverter access point like you would for a normal wifi network. The wifi password is published at the right side of the inverter.
  • Then open up a browser and go to http://172.16.0.1 .
  • From this webpage you can enable modbus TCP without setApp or installer account.

Inverters with display (without SetApp)

Your CPU firmware has to be at least v 3.xxxx, if this is not the case, upgrade your firmware.
Firmware upgrade
Go to the menu by the following steps:

  • Switch of the DC power
  • Long press the ‘OK’ button for a few seconds
  • Release the ‘OK’ button
  • The screen will ask a password, this is ‘12312312’ (the 2nd button from the left is ‘1’, the 3rd button is ‘2’, etc…)
  • Go to Communication → LAN Conf → Modbus TCP (the default port is 502).
  • To modify the TCP port, select Modbus TCP → TCP Port, set the port number and long-press Enter

Advanced configuration:
Better read the Solaredge documentation before use:
https://www.photovoltaikforum.com/core/attachment/88445-power-control-open-protocol-for-solaredge-inverters-pdf/
To use Homey as a Remote Control, the "Storage Mode"has to be changed to “Remote Control”(in a flow action), afterwards you can configure the Remote Control and Charge and Discharge parameters with a flow action.

Support topic

For support please use the official support topic on the forum or Github

Thanks

Thanks to Richard Barkestam and Jelger Haanstra for the SMA Energy app, where this app is based on.

Nice to know:
This Solaredge app is currently one of the first to support advanced Storedge functions.
Not even the official SolarEdge app or website support these advanced configurations. (nor other domotica stuff)

13 Likes

Troubleshooting

Basic stuff

  • Don’t enable StorEdge or the Energy meter if you don’t have this installed, the app will crash

Your inverter is connected but you don’t get any data. (timeout)

Do the the following sequence:

For Setapp devices

  • Flick the switch on SolarEdge to P and connect your mobile device to the WiFi hotspot (password on the side of the inverter, or use the QR code + mySolarEdge app)
  • Open the browser and visit http://172.16.0.1 5 and click on the “Communication” menu item
  • Select “RS485-2”
  • Choose Protocol “SunSpec (Non-SE Logger)”, also under that set Device ID to 1 (mine was set to 5). Now some Modbus TCP requests were responding.
  • Change the Protocol over to “SolarEdge Master” (now a SolarEdge logger script was getting data too)
  • Change back protocol to “None”
  • Power cycle the inverter for good measure, and it was all still working

For display devices

  • Switch off the DC power
  • Long press the ‘OK’ button for a few seconds
  • Release the ‘OK’ button
  • The screen will ask a password, this is ‘12312312’ (the 2nd button from the left is ‘1’, the 3rd button is ‘2’, etc…)
  • Click on the “Communication” menu item
  • Select “RS485-2”
  • Choose Protocol “SunSpec (Non-SE Logger)”, also under that set Device ID to 1 (mine was set to 5). Now some Modbus TCP requests were responding.
  • Change the Protocol over to “SolarEdge Master” (now a SolarEdge logger script was getting data too)
  • Change back protocol to “None”
  • Power cycle the inverter for good measure, and it was all still working
2 Likes

Excellent!

I read on pdf “SolarEdge systems support a single Modbus Leader only – either single Modbus RTU or single Modbus TCP”

Problem: I use solaredge meter on RS485 RTU modbus, so I cannot use your program on Modbus Tcp :frowning:
Any suggestions?

That is no problem.
I also have the Solaredge Modbus meter connected to my RS485.
What they mean is that you can have only one Modbus TCP connection, so you can connect Homey, but not Homey AND Home Assistant. (example)

The cloud connection stays active in this way. (unlike other solutions on the web)

When you have the Solaredge Modbus meter connected, the app will also calculate your current consumption and import and export

A Paolo Coazzin è piaciuta la tua email

Once I have my SolarEdge 1 phase HD Wave SE4000H installed I’ll dice into your app and want to join improving it.

The app is now live in the Homey app store.
See the link in the first post.
Enjoy :slight_smile:

1 Like

Is this only for FW V5?

Actually no, I submitted the next version, which will work on older homeys (I hope so)

Just tried to install:

you have to wait till Athom approves the next version (1.0.4)

Ok, I misunderstood you. Sorry

I have installed version 1.0.4 and set my SE3000H inverter as described on github.

But in Homey I don’t see any values

Any idea what is going wrong?

I think it is a bug with the TCP connection, I also noticed it this morning.
I am unsure which Modbus device ID Solaredge is using.

Can you try this test version? 1.0.5
Solaredge test

Can you let me know if it works? Then I will push this version live

1.0.5 isn’t working
“Apparaat niet beschikbaar”
Also when I create a new device

I published v. 1.0.6 to test
In the advanced settings of the inverter, you can change the device ID.
Default = 1 for Solaredge, but if you have some devices connected to it (modbusmeter, batteries,…) it could be different depending what your installer did
So try 0,1,2,…

After a change you have to reboot the app!

Solaredge test

Sorry, but still no data.
I have checked the config again.
When the app is disabled the SolarEdge says Ready in the display. When the app is enabled it says Connected.
The RS485 has ID 1 so I assume it is also for the LAN the same.
I tried ID 0 to 5 but none gave any data.

Did you also reboot your inverter? Take off the AC power, en leave the homey app running on id 1 or 2
According to the manual the inverter only accepts new connections during the first 120seconds

Done that, but still the same results.
SolarEdge say connected but no data in Homey.