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

<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:** [July 3, 2023, 5:29pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/545 "2023-07-03T17:29:33Z")

</div>

checking 1.24, also checked those 3000 registers and little bit more.

Storage SPHType

：03 register range：0~124,1000~1124；04 registerrange：0~124,1000~1124，1125~1249

new register 1125~1249

---

<div class="post-metadata">

**Author:** ![Phil\_Bro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phil_bro/32/78156_2.png) [@Phil\_Bro](https://community.homey.app/u/Phil_Bro)\
**Post date:** [July 3, 2023, 5:37pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/546 "2023-07-03T17:37:28Z")

</div>

I’m sure I am wrong stating that the function Discharge SOC is for all modes the same, the only exception here (not being able to SET this SOC in load first modus) is the load first modus. What if this parameter (since it has no address in the list) simply uses the Mod code of one of the other, 1071 or 1091?

Would be to Chinese I agree, and you should have been able to see the change while monitoring…

Hmm… just thinking out load here…

---

<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:** [July 3, 2023, 5:43pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/547 "2023-07-03T17:43:43Z")

</div>

yep 10 and 100% did not change to 14 or 15%

```auto
prioritychange 0 0 Priority
gridfirststopsoc 10 0 GridFirst stop SOC
batfirststopsoc 100 0 BatFirst stop SOC

```

---

<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:** [July 3, 2023, 5:44pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/548 "2023-07-03T17:44:57Z")

</div>

[https://github.com/evcc-io/evcc/files/10957121/New-Modbus.RS485.RTU.Protocal.Latest.Ver.pdf](https://github.com/evcc-io/evcc/files/10957121/New-Modbus.RS485.RTU.Protocal.Latest.Ver.pdf)

---

<div class="post-metadata">

**Author:** ![Phil\_Bro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phil_bro/32/78156_2.png) [@Phil\_Bro](https://community.homey.app/u/Phil_Bro)\
**Post date:** [July 3, 2023, 5:49pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/549 "2023-07-03T17:49:50Z")

</div>

Thanks, stored the v1.24, checked that as you did the same, nothing so far.

---

<div class="post-metadata">

**Author:** ![Phil\_Bro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phil_bro/32/78156_2.png) [@Phil\_Bro](https://community.homey.app/u/Phil_Bro)\
**Post date:** [July 3, 2023, 5:52pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/550 "2023-07-03T17:52:41Z")

</div>

One other thing, you test on a system with batteries installed? Not that this changes the fact not having a MOD variable, but it could prevent detecting any change (inverter does not forward this as command since there is no connected battery)

---

<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:** [July 3, 2023, 5:58pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/551 "2023-07-03T17:58:03Z")

</div>

yes with batt with load 1st

---

<div class="post-metadata">

**Author:** ![Phil\_Bro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phil_bro/32/78156_2.png) [@Phil\_Bro](https://community.homey.app/u/Phil_Bro)\
**Post date:** [July 3, 2023, 6:02pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/552 "2023-07-03T18:02:33Z")

</div>

Here is the info when selecting the load 1st modus;

There is something mentioned as ‘The Load Priority Prohibition Mode’ …

I try to understand what this tells us.

 ![Screenshot 2023-07-03 at 19.59.28](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/e/d/ed969239dcb186d08b4f3e1829d43c6feed8171d.jpeg)

---

<div class="post-metadata">

**Author:** ![Phil\_Bro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phil_bro/32/78156_2.png) [@Phil\_Bro](https://community.homey.app/u/Phil_Bro)\
**Post date:** [July 3, 2023, 6:21pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/553 "2023-07-03T18:21:32Z")

</div>

I have another angle to work with;

Grid first  
Priority: Load \> Grid \> Battery

The difference of LOAD first and grid first is a matter of priority. As you see the grid first does not change the 1st prio, the second is the one we need to manipulate to have better control of the battery, the last prio.

We can manipulate that since we are able to maximize the amount of injection to the grid (as you implemented with the update). That being said, if we set the modus to Grid first AND (what we do anyway regardless of the modus!) set the Export limit to a lower value, we define with that a lower percentage of the total to the grid, meaning the remaining % will be available for the next priority, the batteries.

Now we need to know, with grid first as modus, if the value (assume #1071) changes. If so, we have a final solution. Remark has to be made that if export limit is set to 0, the prio list will take out export, etc etc.

EDIT: with 100% guarantee that the export limit as implemented is not modus related. As far as I can see #123 is NOT modus dependent, which is perfect, but please confirm that.

> **[Guidance for Operation Modes of the SPH Series Inverter](https://www.energetica-india.net/articles/guidance-for-operation-modes-of-the-sph-series-inverter)**
>
> Guidance for Operation Modes of the SPH Series Inverter - Articles of Research Energy India Markets

---

<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:** [July 3, 2023, 6:37pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/554 "2023-07-03T18:37:20Z")

</div>

was reading the same 😆 [Guidance for Operation Modes of the SPH Series Inverter](https://www.energetica-india.net/articles/guidance-for-operation-modes-of-the-sph-series-inverter)

was also thinking about batt 1st, set to 100% (don’t reach 100% ) and disable AC charge. .

---

<div class="post-metadata">

**Author:** ![Phil\_Bro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phil_bro/32/78156_2.png) [@Phil\_Bro](https://community.homey.app/u/Phil_Bro)\
**Post date:** [July 3, 2023, 6:38pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/555 "2023-07-03T18:38:41Z")

</div>

The battery first modus has no DIScharge stop SOC, only Charge Stopped Soc.

The only remainder is grid first, but no problem with that modus at all.

---

<div class="post-metadata">

**Author:** ![Phil\_Bro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phil_bro/32/78156_2.png) [@Phil\_Bro](https://community.homey.app/u/Phil_Bro)\
**Post date:** [July 3, 2023, 6:39pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/556 "2023-07-03T18:39:34Z")

</div>

have this link bookmarked since it explains the mode variants with pictures… easier for me…

---

<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:** [July 3, 2023, 6:48pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/557 "2023-07-03T18:48:36Z")

</div>

1. Priority: Battery \> Load \> Grid
2. How it works?

When the solar is sufficient, solar will charge the battery at top priority, and the surplus solar power will support the loads with the grid.

When the solar is insufficient, **the solar will charge the battery at top priority, while the load will be powered by the grid**. If you enable the AC Charge function, the grid will not only support the load but also charge the battery together with solar power until battery reaches “Charge Stopped SOC”

---

<div class="post-metadata">

**Author:** ![Phil\_Bro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phil_bro/32/78156_2.png) [@Phil\_Bro](https://community.homey.app/u/Phil_Bro)\
**Post date:** [July 3, 2023, 6:49pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/558 "2023-07-03T18:49:55Z")

</div>

correct CHARGE stop soc… which is not the o so wanted DISCHARGE stop soc…

---

<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:** [July 3, 2023, 6:52pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/559 "2023-07-03T18:52:44Z")

</div>

the goal is never to reach this, don’t charge from grid , and load will use grid because it is not reached yet.

also let me check again. this load 1st soc.

 ![Screen Shot 2023-07-03 at 20.50.47](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/e/7e548f2614bdd9133aba94445d2db22171f8f7da.png)

---

<div class="post-metadata">

**Author:** ![Phil\_Bro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phil_bro/32/78156_2.png) [@Phil\_Bro](https://community.homey.app/u/Phil_Bro)\
**Post date:** [July 3, 2023, 6:57pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/560 "2023-07-03T18:57:26Z")

</div>

I understand. Load will use grid but in the reversed event, delimiting the battery is still not possible.

The theory behind my suggestion using the grid mode has only one reason, set the absolute minimum (deep unload) of the battery, as protection and to extend technical lifespan and logically to play with the value above the minimum for other reasons. This value can only be set in grid first mode or load first mode.

---

<div class="post-metadata">

**Author:** ![Phil\_Bro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phil_bro/32/78156_2.png) [@Phil\_Bro](https://community.homey.app/u/Phil_Bro)\
**Post date:** [July 3, 2023, 8:02pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/561 "2023-07-03T20:02:59Z")

</div>

Now I’m off-line here, I tried to change the modus from load first to grid first (using shinelink) and no way possible, keep giving me errors.

Will try some times more and give it a rest 24hours.

EDIT: Must have something to do with me opening the China-Gate again and the server not able to (re)connect, however other settings are accepted. Will keep the SHina Gate open 24hours and see.

EDIT: still no luck with this. As soon as I want to set the timeslot to ON, it fails to set. I have no idea, will keep on checking this. For sure I was able to set grid mode with a timeslot. I know that all other timeslots (so all modes and all timeslots) need to be set to OFF to avoid overlapping, even when another particular mode is not activated.

Meanwhile:

> **[Growatt Inverter Mode Switch](https://community.home-assistant.io/t/growatt-inverter-mode-switch/335482)**
>
> TL;DR - Provide switches through the GW API (if it’s possible) to change the hybrid inverter mode. My Growatt hybrid inverter (in a PV + battery setup) has the option to change between 3 modes. Grid First - where the system prioritises export...

---

<div class="post-metadata">

**Author:** ![Phil\_Bro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/phil_bro/32/78156_2.png) [@Phil\_Bro](https://community.homey.app/u/Phil_Bro)\
**Post date:** [July 4, 2023, 6:36pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/562 "2023-07-04T18:36:40Z")

</div>

Status still the same with 1 difference, grid mode is NOT selectable, not even when the time tables are OFF. It gave me some time to read and read again the explanation of

> **[Guidance for Operation Modes of the SPH Series Inverter](https://www.energetica-india.net/articles/guidance-for-operation-modes-of-the-sph-series-inverter)**
>
> Guidance for Operation Modes of the SPH Series Inverter - Articles of Research Energy India Markets

and raised more questions than clearity, Regardless if Grid first or battery first has been selected, if it meets the parameters set with SOC (discharge (grid) or charge SOC (battery), the dynamics of the growatt will automatically switch to load first. 2 things:

1. 

If the user is able to select grid mode AND discharge SOC with some time slot, this will be the ultimate, it allows us (when implemented) the control of the discharge SOC, the thing we want.

1. 

If we stuck with the grid first option not available (am I the only one here?) than there is nothing to do and we need the shinelink interface to set the discharge SOC.

I see no advantages selecting the battery first at all, discharge SOC setting is missing there.

EDIT:  
If we find a way to SET the 3 different modes by APP and include the subsetting for all the modes, like they did here for batt first:

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/f/bf99c99483d286b72dd4388b4707ec47a9f9cfdd.png)

> **[Growatt Inverter Mode Switch](https://community.home-assistant.io/t/growatt-inverter-mode-switch/335482/113)**
>
> Thanks mjdyson! i tried changing the two files… when i use ad-growatt/growatt\_app.py at b1e1dc4f66d0ff40c2787df5095f0de930710fe4 · mjdyson/ad-growatt · GitHub file, i break my ability read settings from my selected inverter (using multi inverter...

We might be able to see if it works and second, why my SPH does not allow the grid first setting at all.

---

<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:** [July 4, 2023, 7:28pm UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/563 "2023-07-04T19:28:02Z")

</div>

yes that is doable, all register are there and know. let me do that.

---

<div class="post-metadata">

**Author:** ![Yestond](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/yestond/32/9807_2.png) [@Yestond](https://community.homey.app/u/Yestond)\
**Post date:** [July 6, 2023, 7:14am UTC](https://community.homey.app/t/app-pro-solaredge-growatt-tcp-modbus/45487/564 "2023-07-06T07:14:38Z")

</div>

Do you still need me to do anything?

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

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