Homey Community Forum

[APP] SolarEdge

Solaredge
Homey app to receive 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

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 is only 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 Solaredge is fine, so it is not the purpose to create this app again.

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

StorEdge batteries

Some info:

  • Solar Power is a calculated value (with some rounding), because the AC power is a combo of solar and batteries. (The SolarEdge official app is also doing this)
  • SoH (State of Health) is also a calculated value.
  • Total charged and discharged power is still a mystery for me, if someone finds a way to decode the data, feel free.

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.

Configuration

By default the modbus meter and StorEdge are disabled
You can enable them in the ‘advanced settings’ of the inverter.
Always reboot the app after changing these settings, as the capabilities will be updated

Support topic

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

Donations

If you appreciate the app: Buy me a Beer]
@athom a Homey Pro is always appreciated :slight_smile:

Limitations

Only 1 meter and 1 battery are supported

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)

Changelog

v1.2.0

  • StorEdge implementation finished

v1.1.4

  • Added heatsink temperature + DC Voltage
  • Bugfixes

v1.1.1

  • Re-write app to support inverters with and without energy meter + preparations for StorEdge
    Change capabilities, you can now use the power-by-the-hour app for meter calculations.
    Fixes for wrong IP address

v1.0.2 → v.1.0.7

  • Bugfixes

v1.0.1

  • Flows and tokens are working

v1.0.0

  • Initial release
4 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

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.