SolarEdge production throttling from Domoticz

Moderator: leecollings

User avatar
jvdz
Posts: 2328
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

SolarEdge production throttling from Domoticz

Post by jvdz »

I've been exploring ways to regulate the power production of my SolarEdge SE5000H with display using Modbus over TCP/IP. Until now, I've relied on "sunspec_ardexa" to retrieve data, but that functions purely as a background process.

Recently, I came across the Modbus TCP plugin developed by Addie: [GitHub Repository]( addiejanssen/domoticz-solaredge-modbustcp-plugin ). After discussing and troubleshooting a few issues, I found that it works well, which led me to consider integrating a Dimmer-type device. This device would display a 0-100% value corresponding to the Modbus registry key "active_power_limit" (F001), as outlined in the Power Control Protocol for SolarEdge Inverters Technical Note.

Since development on the original GitHub repository appears to have stalled, I started exploring similar implementations, like the simple slider used in Home Assistant. I then modified a copy of the original code to include an additional Dimmer device. This new feature displays the current "active_power_limit", and adjusting the dimmer level updates the SolarEdge inverter with the new limit.

The Power limitation is test and working as expected.
Schermafbeelding 2025-06-05 174533 (Klein).png
Schermafbeelding 2025-06-05 174533 (Klein).png (66.06 KiB) Viewed 662 times
The battery selectorswitches needs testing by somebody that has this installed and would like to get feedback on that.

There are currently 3 Branches available on my cloned github repository:
Original Master (v1.1.1) updated with the active_power_limit Dimmer&Sync (v1.2.3) option:
https://github.com/jvanderzande/domotic ... tcp-plugin

Original METERS (v2.0.4) updated with the active_power_limit Dimmer&Sync (v2.0.4.2) option:
https://github.com/jvanderzande/domotic ... ree/meters

Development (v2.0.5.1) based on my meters branch using the latest solaredge_modbus and Selector Switches for Battery modes:
https://github.com/jvanderzande/domotic ... /MetersDev
The 2 extra Selector switches which still need to be tested by somebody that has the battery setup:
Schermafbeelding 2025-06-20 122543 (Telefoon).png
Schermafbeelding 2025-06-20 122543 (Telefoon).png (28.04 KiB) Viewed 54 times
Schermafbeelding 2025-06-20 122534 (Telefoon).png
Schermafbeelding 2025-06-20 122534 (Telefoon).png (34.46 KiB) Viewed 54 times
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
User avatar
waltervl
Posts: 5842
Joined: Monday 28 January 2019 18:48
Target OS: Linux
Domoticz version: 2024.7
Location: NL
Contact:

Re: SolarEdge production limitation from Domoticz

Post by waltervl »

Make use of a dimmer or perhaps better to use a custom setpoint device? As a setpoint device is now far more flexible to setup and use.
https://wiki.domoticz.com/Dummy_for_vir ... t_Setpoint
I do not have a SolarEdge or an inverter I can set the max ouput rate for so cannot help to test....
Domoticz running on Udoo X86 (on Ubuntu)
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
eddieb
Posts: 335
Joined: Wednesday 04 July 2018 7:48
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Netherlands
Contact:

Re: SolarEdge production limitation from Domoticz

Post by eddieb »

Nice to see someone working on that modbus tcp again.
I am using it and would sure like to have some posibility to limit production and so would like to test if possible
RPI4 Beta / Tasmota / ZigBee2MQTT / P1meter / Haier AC with Node-Red and MQTT / SolarEdge SE3500H modbus_tcp / Opentherm gateway / Plugwise Anna/Smile / ObserverIP weatherstation thru WuDirect
Feeding ADSB https://adsb.im/home
User avatar
jvdz
Posts: 2328
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: SolarEdge production limitation from Domoticz

Post by jvdz »

I will make it available soon in my forked version in a separate branch.
Which versions are you running?
pymodbus==3.6.9
solaredge_modbus==0.8.0
-or-
pymodbus==2.5.3
solaredge_modbus==0.7.0

I am currently running the newest set, but regularly see that not all modbus values are returned by the se5000h and was wondering if the old set would be running better?
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
eddieb
Posts: 335
Joined: Wednesday 04 July 2018 7:48
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Netherlands
Contact:

Re: SolarEdge production limitation from Domoticz

Post by eddieb »

How can I find those version numbers ?
I installed it a couple of years ago and it worked fine.
running latest possible domoticz beta on my rpi4 on my old buster install
in progress trying to get everything working on a new rpi5 with docker ...
RPI4 Beta / Tasmota / ZigBee2MQTT / P1meter / Haier AC with Node-Red and MQTT / SolarEdge SE3500H modbus_tcp / Opentherm gateway / Plugwise Anna/Smile / ObserverIP weatherstation thru WuDirect
Feeding ADSB https://adsb.im/home
imautohuttraeger
Posts: 139
Joined: Saturday 14 March 2020 13:40
Target OS: Raspberry Pi / ODroid
Domoticz version: 2025.1
Location: Germany
Contact:

Re: SolarEdge production limitation from Domoticz

Post by imautohuttraeger »

Plugin:
cd ~/domoticz/plugins/domoticz-solaredge-modbustcp-plugin
git log -1

solaredge_modbus:
pip3 show solaredge_modbus

(Not my knowledge - ChatGPT helped me earlier today so I could recycle it here ;-)
eddieb
Posts: 335
Joined: Wednesday 04 July 2018 7:48
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Netherlands
Contact:

Re: SolarEdge production limitation from Domoticz

Post by eddieb »

$ git log -1
commit 126d018d87e95045e581dc03273e17babbef376d (HEAD -> master, origin/master, origin/HEAD)
Author: Addie Janssen <[email protected]>
Date: Sun Oct 2 17:31:23 2022 +0200
$ pip3 show solaredge-modbus
Name: solaredge-modbus
Version: 0.7.0
$ pip3 show pymodbus
Name: pymodbus
Version: 2.4.0
RPI4 Beta / Tasmota / ZigBee2MQTT / P1meter / Haier AC with Node-Red and MQTT / SolarEdge SE3500H modbus_tcp / Opentherm gateway / Plugwise Anna/Smile / ObserverIP weatherstation thru WuDirect
Feeding ADSB https://adsb.im/home
User avatar
gizmocuz
Posts: 2536
Joined: Thursday 11 July 2013 18:59
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: Top of the world
Contact:

Re: SolarEdge production limitation from Domoticz

Post by gizmocuz »

Can you actually set a limit like 500 Watt, or 0 Watt? Or is it a percentage? (0-100) in SolarEdge?
Quality outlives Quantity!
User avatar
jvdz
Posts: 2328
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: SolarEdge production limitation from Domoticz

Post by jvdz »

It is the actual max power production that can be set to anything between 0-100%.
EG: I have a se5000h so when I set the dimmer to 20% it maximizes the production to 1000W.

Just made my changes available for those that like to test it in this branch: https://github.com/jvanderzande/domotic ... ower_limit
I am using it currently with the requirements.txt:

Code: Select all

pymodbus==2.5.3
solaredge_modbus==0.7.0
For those that like to work with version 0.8.0 there is an requirements080.txt that can be used.
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
User avatar
gizmocuz
Posts: 2536
Joined: Thursday 11 July 2013 18:59
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: Top of the world
Contact:

Re: SolarEdge production limitation from Domoticz

Post by gizmocuz »

Then it makes sense to use a dimmer slider... If you could somehow set the actual Watt limit (which would be awesome as you know how many Watts your house need... and not percentage), you could use a Setpoint device (with parameters for Unit (Watt), min=0, max=5000h)
Great work on the plugin!
Quality outlives Quantity!
User avatar
jvdz
Posts: 2328
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: SolarEdge production limitation from Domoticz

Post by jvdz »

I do not see any register variable in the used ""solaredge_modbus" library that returns the max power for the inverter, but honestly think that one could easily make a dummy Selector device with fixed levels or a customized SetPoint as you suggest, and then let a script calculate and set the proper percentage level for the "Solaredge - PowerControl" Dimmer. :-)

Curious to hear from others if things are working for them too.
I have changed the average calculation from 30 to 10 "last values" as I didn't want the power device to drop too slow in Domoticz when setting the DImmer. I might even remove the Average() calculation totally for Power.
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
User avatar
jvdz
Posts: 2328
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: SolarEdge production limitation from Domoticz

Post by jvdz »

Nobody tried yet or is it all working? :-)

I have been playing a bit more with the plugin and build in an option to "sync" the update of the SolarEdge Data with the existing IDX of another (p1) Device.
This makes the Energy Dashboard showing more accurate information as they update at more or less at the same time.
Is that something we feel is a nice feature to permanently include?
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
imautohuttraeger
Posts: 139
Joined: Saturday 14 March 2020 13:40
Target OS: Raspberry Pi / ODroid
Domoticz version: 2025.1
Location: Germany
Contact:

Re: SolarEdge production limitation from Domoticz

Post by imautohuttraeger »

This is definitely a nice feature to permanently include!

As I don't have a domoticz device showing the Batterie charging / discharging, I get cumulative figures when I include the "solar edge total energy" to the top the dashboard. Charging is subtracted, discharging is added and the the power of my little "balcony power plant", which runs in parallel to the big solaredge plant on the roof, is also added (but the "hidden" power that feeds into the house from the balcony plant seems to be subtracted).

My P1 is a virtual one fed by an infrared reading head ("Hichi" with Tasmoa).

Any idea how to the get the battery in without installing an extra power meter between the battery and the inverter?
User avatar
jvdz
Posts: 2328
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: SolarEdge production limitation from Domoticz

Post by jvdz »

imautohuttraeger wrote: Saturday 07 June 2025 15:47 This is definitely a nice feature to permanently include!
Thanks for the feedback.
imautohuttraeger wrote: Saturday 07 June 2025 15:47 Any idea how to the get the battery in without installing an extra power meter between the battery and the inverter?
This isn't really in scope for this thread, but guess you first have to supply some details on your battery setup. I know of some solutions using modbus via ESP to feed Domoticz.
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
imautohuttraeger
Posts: 139
Joined: Saturday 14 March 2020 13:40
Target OS: Raspberry Pi / ODroid
Domoticz version: 2025.1
Location: Germany
Contact:

Re: SolarEdge production limitation from Domoticz

Post by imautohuttraeger »

It is a "Solaredge Home Battery". A stack of 3 x 4.6 kWh = 13.8 kWh. Linked to a Solaredge inverter "SE 10K".

If this off topic issue deviates from the scope of this thread I could of course outsource it to a separate thread.
User avatar
jvdz
Posts: 2328
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: SolarEdge production limitation from Domoticz

Post by jvdz »

Ah ok, so you like this plugin to also retrieve the battery information. Should be a nice option and should be doable, but I don't have any connected so would be hard for me to code/&test.

In this file on github you can find the registry options currently used in this plugin and it needs to be figured out what is required for the Battery info.
This project for HASS, which also has the powerlimit option I added, has it build in to check for the Battery option.
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
User avatar
jvdz
Posts: 2328
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: SolarEdge production limitation from Domoticz

Post by jvdz »

Updated github with the sync option.
https://github.com/jvanderzande/domotic ... ower_limit

It has a fixed setting for http://127.0.0.1:8080 to get the p1 device info as that is the only way I found to retrieve information of an device that beling to another hardware.
In case it can't retrieve the info, it will fallback to the define update timing.
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
imautohuttraeger
Posts: 139
Joined: Saturday 14 March 2020 13:40
Target OS: Raspberry Pi / ODroid
Domoticz version: 2025.1
Location: Germany
Contact:

Re: SolarEdge production limitation from Domoticz

Post by imautohuttraeger »

jvdz wrote: Saturday 07 June 2025 17:09 Ah ok, so you like this plugin to also retrieve the battery information. Should be a nice option and should be doable, but I don't have any connected so would be hard for me to code/&test.

In this file on github you can find the registry options currently used in this plugin and it needs to be figured out what is required for the Battery info.
This project for HASS, which also has the powerlimit option I added, has it build in to check for the Battery option.
Well I would say everything including the string "*battery*" (28 x) is interesting 😉

Seriously: As a non-coding guy who is just "copying - pasting - not knowing - hoping" I can`t really be helpful. Simple user-testing could be an option. But I should establish a testing environment with a septate Raspi at first and can`t always guarantee timely feedback. And it could be quite cumbersome to always provide "step-by-step" instructions for me.
eddieb
Posts: 335
Joined: Wednesday 04 July 2018 7:48
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Netherlands
Contact:

Re: SolarEdge production throttling from Domoticz

Post by eddieb »

hi @jvdz
I would like to use your version of this plugin.
how do I git clone this one ?
If I use the URL under CODE I get the original plugin ...
RPI4 Beta / Tasmota / ZigBee2MQTT / P1meter / Haier AC with Node-Red and MQTT / SolarEdge SE3500H modbus_tcp / Opentherm gateway / Plugwise Anna/Smile / ObserverIP weatherstation thru WuDirect
Feeding ADSB https://adsb.im/home
User avatar
jvdz
Posts: 2328
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: SolarEdge production throttling from Domoticz

Post by jvdz »

UPDATE: See first page of repository
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest