Set Fronius Dynamic power reduction using a script

classic Classic list List threaded Threaded
5 meddelanden Alternativ
Svara | Threaded
Open this post in threaded view
|

Set Fronius Dynamic power reduction using a script

M A Numminen
This post was updated on .
hyvä ilta rakkaat ystävät

I've made a python script that can be used to change the setting for Dynamic power reduction on Fronius inverters. It's only been tested on a Fronius Symo 15.0.3-M.

This script might become handy if your grid fuses prevents you from running your PV system at full power. Then you might already have set up a Maximum grid feed-in power limitation. For example if you have 3x16A DII Diazed you've probably set up a typical export limitation of 11 kW.

However slow Diazed can withstand much more than that for quite longer times as someone on the forum already suggested. You'd have to find out by your self how much more and for how long time that is. Here at my PV site, I've been feeding the grid with 12,5 kW for several hours without any issues.

If you have a home automation server (openHAB or whatever) you can regularly log the grid feed in power and check the average at regular intervals. Now I run my 15 kW inverter without any power limitation at all using 16A grid fuses. Then my home automation checks every 5 minutes if the average feed in power (during a period of the two last hours) exceeds 12,5 kW. If so, it will start a timer and call the script to set the power limitation of 11 kW, allowing the fuses to cool down a bit. After 30 minutes the timer times out and the script is automatically called again to restore the normal power limitation. (I use 15,1 kW here) The above described method will allow you to harvest some extra solar energy when there are clouds.

DEPRECATED, se notes at the end of the post

Below is the script in case it can be of any help.
Pay some extra attention to  the settings made in the script line that reads:
{"DPL_WPEAK":17385,"DPL_ON":True,"DPL_WLIM_USE_ABS":True,"DPL_WLIM_ABS":args.powerlimit,"DPL_WLIM_REL":60,"DPL_FAILSAFE":True}

Those values are all fetched from the Fronius Datalogger Web GUI of the settings, DNO EDITOR. You are supposed to change them accordingly.

It's worth to mention that my script can stop working whenever your inverter software updates. This script doesn't use an official API (as there's no such thing available for the time being) hence not supported by Fronius. Also, if you don't understand quite well what this script is doing, don't try it.

#!/usr/bin/python

import argparse
import json
import sys

import requests
from requests.auth import HTTPDigestAuth

parser = argparse.ArgumentParser()
parser.add_argument("powerlimit", help="the new maximum grid feed-in power in Watts", type=int)
args = parser.parse_args()

headers = {'content-type': 'application/json;charset=utf-8'}
url = 'http://YOUR_SERVER_IP_HERE/config/exportlimit/'
data = {"exportlimit":{"DPL_WPEAK":17385,"DPL_ON":True,"DPL_WLIM_USE_ABS":True,"DPL_WLIM_ABS":args.powerlimit,"DPL_WLIM_REL":60,"DPL_FAILSAFE":True}}
params = {'method': 'save'}

r = requests.post(url, auth=HTTPDigestAuth('service', 'YOURPASSWORDHERE'), params=params, data=json.dumps(data), headers=headers)
print r.status_code

'''
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
'''


Use it on your own risk. This posting is for educational purposes only.

PLEASE NOTE THAT THE SCRIPT ABOVE IS DEPRECATED
Fronius has changed the login logic to a custom variant of AngularJS digest authentication that renders the above script unusable. That is, It doesn't work.

Svara | Threaded
Open this post in threaded view
|

Re: Set Fronius Dynamic power reduction using a script

M A Numminen
This post was updated on .
hyvä ilta

The attached graphics shows a typical day with mixed clouds. The red line marks the 11 kW border where the power limitation traditionally is set when using 16A fuses.

The exported power breaks the red line a few times but the 2 hour average power export never reaches 11 kW this day. The inverter Maximum grid feed-in power limitation was set to 15.1 kW. Note that the python script to lower the export limit was never called. Those 16A fuses won't burn that easy, not even close to that.

Typically for a PV plant with a 11 kW maximum grid feed-in power limit, the energy above the red line would be lost, or more correctly, it would never have been generated. Maybe it doesn't seem to be much but judging from just looking at the graph it may be as much as 5-7 % of what my PV system would have generated otherwise.

You might think that the script actually did nothing, I just removed the export limit. Well, that's kind of true but I wouldn't dare to remove the export limit on the inverter without having the home automation calling the script in case 2 hours average export power exceeds 12,5 kW. It just wasn't enough sun today to engage the script. I'll get back with a follow up post when that happens.

 
Svara | Threaded
Open this post in threaded view
|

Re: Set Fronius Dynamic power reduction using a script

genua
Har ingen koll på forumreglerna men känns lite trist med engelskan i dina intressanta inlägg.

Var är Arne?

Vill inte vara dysterkvist men hur ser ditt avtal med nätägaren ut? Antar att ditt nätavtal förbinder dig för en maximal inmatningseffekt?

Som skrivits om i andra trådar så har vi rätt till avgiftsfri inmatning upp till 63A under förutsättning att nätet är dimensionerat för att klara detta, så är förstås inte alltid fallet men de flesta serviser klarar 25A.

Vill man balansera sin årsförbrukning råkar man i de flesta fall ut för problemet att max inmatad effekt överstiger max uttagen effekt, detta problem kan många gånger lösas utan höjd fast avgift till nätägaren genom att bygga om mätarskåpet enligt SS 430 01 10. En föfrågan till nätägaren ger besked om maximal inmatningseffekt för din servis.
Svara | Threaded
Open this post in threaded view
|

Re: Set Fronius Dynamic power reduction using a script

M A Numminen
This post was updated on .
genua wrote
Har ingen koll på forumreglerna men känns lite trist med engelskan i dina intressanta inlägg.
Var är Arne?
Hej. Det finns ett syfte med engelskan i denna tråd och det är att ämnet och scriptet kan vara av intresse för fler än oss som bor i Sverige. Jag har letat mycket på nätet men inte funnit något liknande. Jag är inte illvillig, jag vill bara dela med mig. Jag skulle kunna publicera tråden på ett engelskspråkigt forum istället men tänkte att det var enklare att bara lägga in den här. I övriga trådar skriver jag på svenska.

Forumreglerna har jag inte läst men jag förutsätter att det räcker med att man är snäll, inte förstör för andra och följer nationella och internationella lagar samt inte minst sunt förnuft när man bemöter andra här på forumet. Nabble har Terms of Use som jag tror vi lyder under men de är på engelska.

Om inlägget genom språkvalet bryter mot reglerna så är det ju lätt att ta bort det.  

genua wrote
Vill inte vara dysterkvist men hur ser ditt avtal med nätägaren ut? Antar att ditt nätavtal förbinder dig för en maximal inmatningseffekt?

Som skrivits om i andra trådar så har vi rätt till avgiftsfri inmatning upp till 63A under förutsättning att nätet är dimensionerat för att klara detta, så är förstås inte alltid fallet men de flesta serviser klarar 25A.
Har man avtalat en maximal inmatningseffekt (peak eller genomsnittsvärde över en tidsperiod) med nätägaren så ska man naturligtvis inte överskrida den.

genua wrote
Vill man balansera sin årsförbrukning råkar man i de flesta fall ut för problemet att max inmatad effekt överstiger max uttagen effekt, detta problem kan många gånger lösas utan höjd fast avgift till nätägaren genom att bygga om mätarskåpet enligt SS 430 01 10.
Intressant. Ska titta på det. Annars så löser ju effekttariff hela problemet. Jag tror det kommer bli vanligt i framtiden.

Svara | Threaded
Open this post in threaded view
|

Re: Set Fronius Dynamic power reduction using a script

genua
M A Numminen wrote
Hej. Det finns ett syfte med engelskan i denna tråd och det är att ämnet och scriptet kan vara av intresse för fler än oss som bor i Sverige.
Jo det förstås, med sökmotorer kan ditt arbete njutas av många fler än de som förstår svenska!