SolarEdge Modbus change export limit

Hi,

Is it possible to use openhab with any addon to change export limit on a SolarEdge inverter?
Example: If the electricity price is below 0 I want to set export limit to 0.

Regards

Yeah it should be possible. I do similar with my Fronius inverter using the modbus addon.

Unfortunately, I can’t test with Solaredge, as my energy retailer (Amber Electric in .au) already has control of the inverter to support curtailment.

Thanks for answer!

Great!

Hope to find an example how to do with solaredge.
Have Google My fingertips off but havent found that I am searching for.

Let me try write up what should work for solar edge based on my reading of the docs


Quick and dirty steps


I learner a lot from threads like Solaredge Leistungs-Limit via Modbus RS485?! - Wechselrichter - Photovoltaikforum

In simple terms, what should be required is:
Write 1 to register 61762 to enable Advanced Power Control
Write 1 - 100 to register 61441 to set the percent output desired
Write 1 to register 61696 to ‘Commit Power Settings’

I get an error writing to 61696 which is think is due to my power company having control of the inverter to do curtailment.

In terms of OH config, you obviously need to install the modbus add-on, I have a 'Modbus TCP slave’s with the IP and port of the inverter, then addition things of type 'Modbus Data’s for each register above. I left the read registers blank, and set the write register to the values above, write type ‘Holding Register’

Write value type I have as:
61762: 32bit positive or negative integer
61441: 16bit positive or negative integer
61696: 32bit positive or negative integer
Not sure these are correct :slight_smile:

Create items linked to each ‘thing’ and try creating a rule and see how you go :slight_smile:

So realisiere ich eine dynamische Leistungsreduzierung meines SolarEdge PV-Wechselrichters v2 – meintechblog.de is another good article!

Thank you! :slightly_smiling_face:

I will use Google translate to those sites in German :slightly_smiling_face:

I found a couple Python scripts for Home Assistant and I think solaredge has possibility to set export to 0.

But I havent found which Modbus addresses I have to set when I will set export to 0.

I assume that I must set export on every phase.

When export is set to 0 I will only use production for self consumption.

I have Modbus module for collect export and import data.

Have a read of https://www.photovoltaikforum.com/core/attachment/88445-power-control-open-protocol-for-solaredge-inverters-pdf/

Pages 15 and 16 describe the Export Limits and how to change them.

For my Fronius Inverter at my other property, I dynamically adjust solar production as the home consumption changes, but only when FIT is negative, and battery is full (or nearly full).

var Number requiredSolar = (AldingaPW2_HomePower.state as Number)/5000*10000;

if (requiredSolar > 10000) requiredSolar=10000;
logInfo("curtailSolar", "required solar percent = {}", requiredSolar);
Fronius_WMaxLim_Enable_Value_as_Number.sendCommand(0);
if ((AldingaPW2_PowerwallCurrentCharge.state as Number) > 0.97) {
  logInfo("testing", "current PW2 charge ({}) > 97%, curtail output",(AldingaPW2_PowerwallCurrentCharge.state));
  Fronius_WMaxLimPct_Value_as_Number.sendCommand(requiredSolar);
} else {
  logInfo("testing", "current PW2 charge ({}) < 97%, set full rate production",(AldingaPW2_PowerwallCurrentCharge.state));
  Fronius_WMaxLimPct_Value_as_Number.sendCommand(10000);
}
Fronius_WMaxLim_Enable_Value_as_Number.sendCommand(1);

The relevant document from Solaredge is here indeed.
https://www.photovoltaikforum.com/core/attachment/88445-power-control-open-protocol-for-solaredge-inverters-pdf/

I think you need to enable it first in the setapp / display before you can control it with modbus.
In the Power Control menu:

  1. Set Advanced Power Control to Enable
  2. Set Reactive Power mode to RRCR

As I’m about to install a battery myself
 also exploring this.

1 Like

Yes! That is the way to go I think.
Thank you! :slightly_smiling_face:

I will call solaredge support to ask them to set export to 0 and then see which Modbus addresses that change . Just a double check . :slightly_smiling_face:
I dont have permission to use setapp, only view mode.

Even without setapp, so long as you have physical access to the inverter, you can connect to it via wifi and change these settings. Project: SolarEdge local connection to home assistant - HACS - mod bus tcp - Jarrod's Tech has the steps to do this
 you should also be able to access the menu items to change site export


Ok. Thank you! :slightly_smiling_face:
I will look into that! :+1:

1 Like

Did you ever find a way to limit/stop the export from your SolarEdge with the modbus protocol?
My system knows when the PV price turns negative, now I only need a way to shutdown the inverter via openHAB.

I havent dived into this yet.
SolarEdge has a function in their app that will shutdown when its negative price.
I was thinking to use that but I will, any day now :), look up modbus parameters that will only limit export and only produce that Im using for the house.

Hi, I would also like to limit the export as now we have negative prices for electricity today. I have Fronius Symo inverter. I tried to change the export limit under DNO editor but I don’t have/know the service password so no access to the DNO editor.

Is it possible to change the limit via Modbus tcp? I tried e.g. MB address 61762 but it doesn’t seem to work for me. I tried to look at the pdf file mentioned above but it’s not clear to me how to activate the export limit. I tried e.g. address 142 but it’s not a correct MB address.

For Fronius curtailment, I do the following:
Set 40246 to 0
Set 40242 to the % of capacity - where the value must be between 100 (min production) and 10000 (max production)
Set 40246 to 1

This is using Modbus - hope this helps :slight_smile:

Great, many thanks. This works. Are these MB registers documented somewhere? I need to automate the export limit in OH but now it seems to be pretty straigthforward with Modbus.

I don’t recall where I got those registers from. There appears to be some documentation at Modbus TCP

My solution is that when the FIT is negative - I do a calculation based on house load, and scale the inverter production to match it - but only if the battery is full :slight_smile:

Ok, thanks. I’m somewhat confused about the registers because I have seen also registers 40232 and 40236. I think I need to do more tests but somehow I managed to screw up my VNC connection to my OH server yesterday so I can’t test the Modbus registers with any Modbus software until I’m back at home after 2 weeks.

Here is the document describing the registers for solarEdge

You especially want to read from p34 “Enable the Dynamic Power Control Mode” and the examples like ’ Inverter with Modbus ID 1, Set Dynamic Reactive Power Limit to 100. ’

ignore this reply
 it refers to SolarEdge, whereas @jlikonen is looking for Fronius Symo inverter

Hi, it seems that only the registers @ Paul_Smedley mentioned above work for me, none of those given in the Fronius or Sunspec docs. It seems also that I need to follow the correct order of commands:

Set 40246 to 0
Set 40242 to the % of capacity - where the value must be between 100 (min production) and 10000 (max production)
Set 40246 to 1

It also seems that if I want to change the capacity in 40242 I need to set first 0 in 40246.