# \[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:** 6

<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:** [June 13, 2021, 3:38pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/103 "2021-06-13T15:38:20Z")

</div>

Do you still have 2 Solaredge devices? I see there is a conflict with something else.

Remove both - restart app - add 1 inverter

---

<div class="post-metadata">

**Author:** ![Bas\_Kamst](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bas_kamst/32/34615_2.png) [@Bas\_Kamst](https://community.homey.app/u/Bas_Kamst)\
**Post date:** [June 14, 2021, 7:12pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/104 "2021-06-14T19:12:47Z")

</div>

I will look into that app.  
I had wanted to have it in one app so not have to switch for the info, but if it isn’t in de modbus data (I guess) then it won’t be possible I guess.

---

<div class="post-metadata">

**Author:** ![Superbuis](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/superbuis/32/3564_2.png) [@Superbuis](https://community.homey.app/u/Superbuis)\
**Post date:** [July 1, 2021, 5:09pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/105 "2021-07-01T17:09:50Z")

</div>

Hi Pieter. Sorry for my late reply. I have a new internet provider so I had to reconfigure my complete network. But it worked! Thanks!

---

<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:** [July 2, 2021, 9:56am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/106 "2021-07-02T09:56:52Z")

</div>

I will upload an updated version to test soon which has the following new features:

- StorEdge: ability to use Homey as Remote Control.  
You can choose when to (dis)charge your battery and can even change the charge and discharge power parameters.  
If you combine this with my other app (Solcast), you can charge your battery during off-peak hours, when no sun is forecasted. Or you can use it to charge according dynamic energy prices.  
More documentation in the first post + [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/)

These are advanced settings and at your own risk. (depreciation of battery, unplanned charging or discharging)

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

---

<div class="post-metadata">

**Author:** ![bertdeelman](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bertdeelman/32/2382_2.png) [@bertdeelman](https://community.homey.app/u/bertdeelman)\
**Post date:** [July 17, 2021, 8:02pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/107 "2021-07-17T20:02:17Z")

</div>

Hi,

I want to use the values of the app for a Dashboard, MQTT based. For as I can see the MQTT topics are not created by the app. I use the MQTT Hub app at the Homey and MQTT Explorer.

These topics are made

- homey/solarpanel/[location]/[name device]/$name
- homey/solarpanel/[location]/[name device]/$type

And these topics are missing:

**Solaredge - Solar Power**  
homey/solarpanel/[location]/[name device]/measure-power

**Solaredge - Heatsink temperatuur**  
homey/solarpanel/[location]/[name device]/measure-temperature

**Solaredge - DC Voltage**  
homey/solarpanel/[location]/[name device]/measure-voltagedc

**Solaredge - Totale opbrengst**  
homey/solarpanel/[location]/[name device]/meter-power

**Solaredge - Status**  
homey/solarpanel/[location]/[name device]/status

May be it is a feature request. Any help would be appreciated.

Kind regards,  
Bert

---

<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:** [July 18, 2021, 6:06am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/108 "2021-07-18T06:06:29Z")

</div>

Honestly I have no idea how to do this, but I think this something for the MQTT hub and not for the solaredge app.

The Solaredge uses some custom capabilities, maybe that is why.

I tried mqtt hub a couple of months ago and I could receive all the data in Home Assistant from Solaredge

---

<div class="post-metadata">

**Author:** ![Ruben\_Vallinga](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ruben_vallinga/32/19907_2.png) [@Ruben\_Vallinga](https://community.homey.app/u/Ruben_Vallinga)\
**Post date:** [September 8, 2021, 7:55pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/109 "2021-09-08T19:55:12Z")

</div>

Integration with my SE5K inverter is working great, much better than API integration.  
Thanks for that 🙂

I have only one question, is it possible to view AC voltage and generated current without the Energie meter?

 ![IMG_1938.PNG](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/6/9668d983cc972f7d31edf7fb6ea8fb78da706b1b.jpeg) ![IMG_1939.PNG](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/f/2/f233b0a1df9cbd0dc33d99d5d214ff7beadeb7fa.jpeg)

Thanks!

---

<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:** [September 8, 2021, 11:43pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/110 "2021-09-08T23:43:58Z")

</div>

I have to look into that.  
According the manual it is possible, I will make a test version in the next week.

What you mean with current?

Have a look at this file, and tell me the parameter you want:  
[https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf](https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf)

---

<div class="post-metadata">

**Author:** ![Ruben\_Vallinga](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ruben_vallinga/32/19907_2.png) [@Ruben\_Vallinga](https://community.homey.app/u/Ruben_Vallinga)\
**Post date:** [September 9, 2021, 5:32am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/111 "2021-09-09T05:32:51Z")

</div>

That’s great 😄

Would be nice to monitor the voltage of each phase:

 ![Schermafbeelding 2021-09-09 om 07.21.53](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/f/9f8cee1fda3002bea3cfe95d046b55592e67ad88.png)

Also for current of each of the fase and combined:

 ![Schermafbeelding 2021-09-09 om 07.21.34](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/d/0/d0df02adaf3dbd0ac7c90380c3b940f8b55b1911.png)

This one is nice to have:

 ![Schermafbeelding 2021-09-09 om 07.26.01](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/2/520aaef1509ea92d38342edbb3dd2896ca800ccd.png)

---

<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:** [September 9, 2021, 6:19am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/112 "2021-09-09T06:19:49Z")

</div>

Ah you have 3 phase?

Sorry then it will be for the ‘ future’  
Currently the app is for 1-phase, as I need to rewrite the app for 3-phase.

So sorry, when I have some (or better a lot) of time, I will rewrite the app.

---

<div class="post-metadata">

**Author:** ![Ruben\_Vallinga](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ruben_vallinga/32/19907_2.png) [@Ruben\_Vallinga](https://community.homey.app/u/Ruben_Vallinga)\
**Post date:** [September 10, 2021, 2:20pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/113 "2021-09-10T14:20:19Z")

</div>

I have 3 phase indeed.  
Okay, will have to wait then 😉

Thanks!

---

<div class="post-metadata">

**Author:** ![BVDK](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bvdk/32/8256_2.png) [@BVDK](https://community.homey.app/u/BVDK)\
**Post date:** [October 10, 2021, 3:03pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/114 "2021-10-10T15:03:05Z")

</div>

Hi Pieter,

App is working great so thanks for that!!!

We have optimisers for each panel. Do you know if solar power for each panel is provided by modbus?

---

<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:** [October 10, 2021, 4:09pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/115 "2021-10-10T16:09:37Z")

</div>

Hi

No this info is not in the modbus data.  
You can check in the modbus documentation which info is available.

I know there are some unofficial ‘tools’ to get the data, but this requires you to ‘catch’ the data send to the Solaredge servers.  
That’s not the purpose of the app.

---

<div class="post-metadata">

**Author:** ![Marlon](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/marlon/32/3794_2.png) [@Marlon](https://community.homey.app/u/Marlon)\
**Post date:** [November 12, 2021, 1:04pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/116 "2021-11-12T13:04:19Z")

</div>

Ruben, if you have node-red you could read the values yourself. This video [Obtén los datos de tu Inversor Solar](https://www.youtube.com/watch?v=HaTI7-ui0_Y) shows how to read your inverter using node-red-contrib-modbustcp. You can figure out and read the values you want. It’s in spanish though.

the nodes required to read an process the values

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

this is an example how to read the buffer values

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/0/20b6f6ae75822887fbbc5e3e0f0df591dad0a535.png)

---

<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:** [November 12, 2021, 1:54pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/117 "2021-11-12T13:54:47Z")

</div>

This is great. Thank you.  
Can you share the node-red code here so I scan use it as reference?

---

<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:** [November 13, 2021, 7:47am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/118 "2021-11-13T07:47:44Z")

</div>

With home assistant, you can also get all the values.

I will try next week to release the 3-phase support

---

<div class="post-metadata">

**Author:** ![Marlon](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/marlon/32/3794_2.png) [@Marlon](https://community.homey.app/u/Marlon)\
**Post date:** [November 13, 2021, 3:05pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/119 "2021-11-13T15:05:27Z")

</div>

Arnold, below are the nodes I’m using to extract data from my SolarEdge Inverter every 30 seconds.

```auto
[{"id":"f3c2fd317aa56a7a","type":"modbus-read","z":"876db62c.d628f","name":"Read","topic":"","showStatusActivities":false,"logIOActivities":false,"showErrors":false,"unitid":"1","dataType":"HoldingRegister","adr":"40071","quantity":"38","rate":"30","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"db92a57b3119cab2","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":970,"y":780,"wires":[[],["53c6de8182c62fd2"]]},{"id":"53c6de8182c62fd2","type":"buffer-parser","z":"876db62c.d628f","name":"","data":"payload.buffer","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"uint16le","name":"ACI","offset":0,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"ACI_SF","offset":8,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16le","name":"ACV","offset":10,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"ACV_SF","offset":22,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"ACW","offset":24,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"ACW_SF","offset":26,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16le","name":"ACF","offset":28,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"ACF_SF","offset":30,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16le","name":"DCI","offset":50,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"DCI_SF","offset":52,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16le","name":"DCV","offset":54,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"DCV_SF","offset":56,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"DCW","offset":58,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"DCW_SF","offset":60,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"TEMP","offset":64,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"TEMP_SF","offset":70,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"swap16","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"output","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":1120,"y":790,"wires":[["e86e71c36d60ebc9"]]},{"id":"56478ebcc02294f7","type":"debug","z":"876db62c.d628f","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1520,"y":830,"wires":[]},{"id":"e86e71c36d60ebc9","type":"function","z":"876db62c.d628f","name":"calculatie values","func":"result = {};\nresult.payload = {};\n\nresult.payload.ACI=msg.payload.ACI*Math.pow(10,msg.payload.ACI_SF);\nresult.payload.ACV=msg.payload.ACV*Math.pow(10,msg.payload.ACV_SF);\nresult.payload.ACW=msg.payload.ACW*Math.pow(10,msg.payload.ACW_SF);\nresult.payload.ACF=msg.payload.ACF*Math.pow(10,msg.payload.ACF_SF);\n\nresult.payload.DCI=msg.payload.DCI*Math.pow(10,msg.payload.DCI_SF);\nresult.payload.DCV=msg.payload.DCV*Math.pow(10,msg.payload.DCV_SF);\nresult.payload.DCW=msg.payload.DCW*Math.pow(10,msg.payload.DCW_SF);\n\nresult.payload.TEMP=msg.payload.TEMP*Math.pow(10,msg.payload.TEMP_SF);\n\nreturn result;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1300,"y":790,"wires":[["56478ebcc02294f7","03c63fa1208cc71d"]]},{"id":"9a2e3aef8c189951","type":"influxdb out","z":"876db62c.d628f","influxdb":"6996f3e5.22a7cc","name":"","measurement":"solar_edge_modbus","precision":"","retentionPolicy":"","x":1860,"y":760,"wires":[]},{"id":"692143e91f42a266","type":"comment","z":"876db62c.d628f","name":"Read SolarEdge Inverter using modbus","info":"","x":1050,"y":740,"wires":[]},{"id":"03c63fa1208cc71d","type":"function","z":"876db62c.d628f","name":"daytime check","func":"var date = new Date();\nvar sunrise = global.get('sun_events.sunrise');\nvar sunset = global.get('sun_events.sunset');\n\nmsg.daytime = false;\n\nif (sunrise && sunset ) {\n if (date >= sunrise && date <= sunset) {\n msg.daytime = true;\n }\n}\n\nnode.status({text: 'Power: '+ msg.payload.ACW.toFixed(0) +'W - daytime: ' + msg.daytime + ' last checked (' + date.toLocaleString() + ')' });\n\nif (msg.daytime) {\n return msg;\n}\nelse {\n return null;\n}\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1530,"y":780,"wires":[["9a2e3aef8c189951"]]},{"id":"db92a57b3119cab2","type":"modbus-client","name":"Solar Edge","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"tcpHost":"192.168.1.29","tcpPort":"1502","tcpType":"TPC-RTU-BUFFERED","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true},{"id":"6996f3e5.22a7cc","type":"influxdb","hostname":"127.0.0.1","port":"8086","protocol":"http","database":"homey","name":"","usetls":false,"tls":""}]

```

below is the data as shown in Grafana

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/8/5871bebe9744bd9568985b1aaa42de409b8b6514.png)

---

<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:** [November 14, 2021, 7:36pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/120 "2021-11-14T19:36:41Z")

</div>

Thanks 🙏

---

<div class="post-metadata">

**Author:** ![tsveri](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tsveri/32/48145_2.png) [@tsveri](https://community.homey.app/u/tsveri)\
**Post date:** [December 3, 2021, 7:38am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/121 "2021-12-03T07:38:30Z")

</div>

When sending the flow solaredge-set storage control mode-Time og use(profile)(0xE004 = 2) inverter goes to (0xE004 = 3 (Backup only). So it seems to be a writing error. can you pleass take a look at this

---

<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:** [December 3, 2021, 7:52am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/122 "2021-12-03T07:52:35Z")

</div>

Do you have a Time of Use profile installed?  
This has to be configured by Solaredge.

I don’t have this profile, so I cannot test this

[https://www.solaredge.com/sites/default/files/storedge\_charge\_discharge\_profile\_programming.pdf](https://www.solaredge.com/sites/default/files/storedge_charge_discharge_profile_programming.pdf)

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

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