# \[APP\]\[Pro\] SolarEdge + Growatt TCP modbus

**URL:** <https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487>\
**Category:** Apps\
**Tags:** app, pv-solar\
**Created:** [March 30, 2021, 10:17am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487 "2021-03-30T10:17:23Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Edwin\_Biemond](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/edwin_biemond/32/72686_2.png) [@Edwin\_Biemond](https://community.homey.app/u/Edwin_Biemond)\
**Post date:** [March 30, 2021, 10:17am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/1 "2021-03-30T10:17:23Z")

</div>

**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](https://www.dropbox.com/s/584915enkxc508u/Setup%20Growatt.pdf?dl=0)

General information can be found at: [Growatt Protocol](https://www.photovoltaikforum.com/core/attachment/265072-pdfcoffee-com-growatt-inverter-modbus-rtu-protocolii-v120-english-pdf-free-pdf/)

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](https://smarthome.exposed/wattsonic-hybrid-inverter-gen3-modbus-rtu-protocol/)

# 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](https://homey.app/nl-nl/app/solaredge.modbus/SolarEdge-+-Growatt-TCP-modbus/)  
Github code: [Github Link](https://github.com/biemond/com.solaredge)

## 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](https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf)

**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](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](https://www.solaredge.com/sites/default/files/upgrading_an_inverter_using_micro_sd_card.pdf)  
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/](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)

---

<div class="post-metadata">

**Author:** ![Edwin\_Biemond](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/edwin_biemond/32/72686_2.png) [@Edwin\_Biemond](https://community.homey.app/u/Edwin_Biemond)\
**Post date:** [March 30, 2021, 12:31pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/2 "2021-03-30T12:31:32Z")

</div>

**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](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

---

<div class="post-metadata">

**Author:** ![Koaz74](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/koaz74/32/25814_2.png) [@Koaz74](https://community.homey.app/u/Koaz74)\
**Post date:** [March 30, 2021, 12:50pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/3 "2021-03-30T12:50:43Z")

</div>

Excellent!

---

<div class="post-metadata">

**Author:** ![Koaz74](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/koaz74/32/25814_2.png) [@Koaz74](https://community.homey.app/u/Koaz74)\
**Post date:** [March 30, 2021, 1:40pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/4 "2021-03-30T13:40:49Z")

</div>

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 ☹  
Any suggestions?

---

<div class="post-metadata">

**Author:** ![Pieterv123](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/pieterv123/32/13353_2.png) [@Pieterv123](https://community.homey.app/u/Pieterv123)\
**Post date:** [March 30, 2021, 2:16pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/5 "2021-03-30T14:16:05Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Koaz74](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/koaz74/32/25814_2.png) [@Koaz74](https://community.homey.app/u/Koaz74)\
**Post date:** [March 30, 2021, 2:32pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/6 "2021-03-30T14:32:40Z")

</div>

![](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/0/d/0d7a1bda90389cd0013a174251e861ce309a22ac.png)

A Paolo Coazzin è piaciuta la tua email

---

<div class="post-metadata">

**Author:** ![tlangelaar](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tlangelaar/32/10980_2.png) [@tlangelaar](https://community.homey.app/u/tlangelaar)\
**Post date:** [March 30, 2021, 3:04pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/7 "2021-03-30T15:04:20Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Pieterv123](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/pieterv123/32/13353_2.png) [@Pieterv123](https://community.homey.app/u/Pieterv123)\
**Post date:** [April 1, 2021, 7:02am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/8 "2021-04-01T07:02:27Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Ria\_Banis](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ria_banis/32/7966_2.png) [@Ria\_Banis](https://community.homey.app/u/Ria_Banis)\
**Post date:** [April 1, 2021, 7:08am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/9 "2021-04-01T07:08:39Z")

</div>

Is this only for FW V5?

---

<div class="post-metadata">

**Author:** ![Pieterv123](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/pieterv123/32/13353_2.png) [@Pieterv123](https://community.homey.app/u/Pieterv123)\
**Post date:** [April 1, 2021, 7:20am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/10 "2021-04-01T07:20:27Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Ria\_Banis](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ria_banis/32/7966_2.png) [@Ria\_Banis](https://community.homey.app/u/Ria_Banis)\
**Post date:** [April 1, 2021, 7:23am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/11 "2021-04-01T07:23:58Z")

</div>

Just tried to install:

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/7/b7e0a994b46dde82d8fa48c135013b0e56e6bb96.jpeg)

---

<div class="post-metadata">

**Author:** ![Pieterv123](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/pieterv123/32/13353_2.png) [@Pieterv123](https://community.homey.app/u/Pieterv123)\
**Post date:** [April 1, 2021, 7:24am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/12 "2021-04-01T07:24:59Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Ria\_Banis](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ria_banis/32/7966_2.png) [@Ria\_Banis](https://community.homey.app/u/Ria_Banis)\
**Post date:** [April 1, 2021, 7:46am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/13 "2021-04-01T07:46:26Z")

</div>

Ok, I misunderstood you. Sorry

---

<div class="post-metadata">

**Author:** ![Arnold\_vd\_Linden](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arnold_vd_linden/32/19336_2.png) [@Arnold\_vd\_Linden](https://community.homey.app/u/Arnold_vd_Linden)\
**Post date:** [April 2, 2021, 1:00pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/14 "2021-04-02T13:00:00Z")

</div>

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

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/1/a1a4ee4ebcd40eb08c89887460d7864251c3f3c8.jpeg) ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/c/bc59550df80b042ebf3e7b3f5959db3bee2deaea.jpeg)

But in Homey I don’t see any values

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/e/3/e3b3934a7b981a80bc2ef7005a7972244d119c06.jpeg)

Any idea what is going wrong?

---

<div class="post-metadata">

**Author:** ![Pieterv123](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/pieterv123/32/13353_2.png) [@Pieterv123](https://community.homey.app/u/Pieterv123)\
**Post date:** [April 2, 2021, 1:19pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/15 "2021-04-02T13:19:01Z")

</div>

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](https://homey.app/nl-be/app/solaredge.modbus/SolarEdge/test/)

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

---

<div class="post-metadata">

**Author:** ![Arnold\_vd\_Linden](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arnold_vd_linden/32/19336_2.png) [@Arnold\_vd\_Linden](https://community.homey.app/u/Arnold_vd_Linden)\
**Post date:** [April 2, 2021, 1:39pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/16 "2021-04-02T13:39:06Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Pieterv123](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/pieterv123/32/13353_2.png) [@Pieterv123](https://community.homey.app/u/Pieterv123)\
**Post date:** [April 2, 2021, 2:03pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/17 "2021-04-02T14:03:36Z")

</div>

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](https://homey.app/a/solaredge.modbus/test/)

---

<div class="post-metadata">

**Author:** ![Arnold\_vd\_Linden](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arnold_vd_linden/32/19336_2.png) [@Arnold\_vd\_Linden](https://community.homey.app/u/Arnold_vd_Linden)\
**Post date:** [April 2, 2021, 3:26pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/18 "2021-04-02T15:26:10Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Pieterv123](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/pieterv123/32/13353_2.png) [@Pieterv123](https://community.homey.app/u/Pieterv123)\
**Post date:** [April 2, 2021, 3:42pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/19 "2021-04-02T15:42:34Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Arnold\_vd\_Linden](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arnold_vd_linden/32/19336_2.png) [@Arnold\_vd\_Linden](https://community.homey.app/u/Arnold_vd_Linden)\
**Post date:** [April 3, 2021, 1:36pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/20 "2021-04-03T13:36:52Z")

</div>

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

[Next page](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487.md?page=2)
