It looks like you are restricting the control from IP address 192.168.10.81? I assume this isn’t your HA instance. Try removing this within the Fronius. Mine looks like this.
This is a neat thread, so bookmarking.
I don’t as yet have a need for any throttling of export or production other than the fixed limit imposed by my local grid distribution company (and which is set in the inverter’s settings), however the day may come when I may need such a capability.
It would be very cool if these modbus inverter control features could be added to the existing HA Fronius integration.
Hi juande,
I have a FRONIUS GEN24 6KW. I have seen your solution for zero injection and it works for me but I have a question.
Do you know in which modbus register the value that you have set for the export of 150W is stored?
I say this because I would like to modify this value dynamically via modbus.
For example if I want to export that export up to 2000W so that the inverter works in a relaxed way at those times when there is no consumption or little consumption at home.
If I don’t want it to export (zero injection) I set it to 0 or 150 as you have done. But as I say that this value can be modified dynamically by modbus.
I have been looking in the Fronius MODBUS Excel file and I cannot find the address that contains said value.
Thank you
Hi aldifesu
In the Fronius documentation there is no info nor data field to do this. There is only a possibility to adjust to a % Power output relative to inverter max power output. Thus, you could do this by estimating what % if for your inverter 2000W and use this value in the modes register
So that was my reason to configure things in such way
Hope that Fronius can solve this in future
Hi,
what about to posibility to enable/disable Dynamic power reduction algorithm.
With all actual settings after disable and repatelly enable.
Any info ? I don’t found such a Modbus telegram or http API statement.
I wrote a case email to Fronius, but still no answer.
HI, I have the same problem with a Primo gen 24, similar interface. At the moment I connected it to HA via WiFi, no Modbus cables.
It’s not clear if it’s the same thing (so I must send ModBus commands via IP) or if there’s an easier way to do that.
My problem is that the mains line has an overvoltage problem, so when the voltage begins to rise I need to cut production power to avoid the inverter being disconnected and having to wait 5 minutes for the restart.
Correct, send the modbus commands via IP, you don’t need cables.
I would be adjusting the Fronius inverter’s volt-var and volt-watt settings first before applying your own production control. Usually each region has recommended settings for this. The volt-watt and volt-var settings are designed to manage grid over-voltage by both production limitation and by injecting more reactive power.
They made a big difference in our case. I was getting regular grid over-voltage shutdowns. Haven’t had one since making the changes.
The other method of over-voltage control is adding load, as that helps to reduce voltage. My water heater is really good for this.
If I understand correctly these settings are behind a “region setup” that is locked and requires a specific password. I will ask my installer.
I can’t add loads at will and even when I can I can’t always control how long they’ll be operating (the washing machine will pause and this usually is enough to cause it to disconnect.
Pretty sure they are user adjustable via the Inverter’s display menus. But you do need to know how to access them.
The regional settings are there to make it easy for installers to ensure the inverter complies with the most recent requirements for the local power grid.
In my case the local standards changed a couple of years after mine was installed. I updated to the latest and it really helped.
I have no display on my inverter, it’s all done via the web UI. The regional standards get updated when I update the firmware because there’re notes for that, but I have no access. Will ask the installer anyways.
Ah, newer Gen 24 model?
OK, yeah check with installer. It should have been installed with the relevant country/region codes.
What I found with mine is the regional codes with latest set up standards were renamed and so the firmware updates were not applying any changes to standards on my inverter. Don’t know where you are. Here (Australia) the latest volt-watt and volt-var standards were introduced on 18 Dec 2021.
Volt-watt does some of the job but it was volt-var for me which made a big difference.
This was what I was dealing with:
The dots are voltage samples for each phase (red, white, blue) a month or so before and after I put in place updated volt-var settings. Note in particular the white dots consistently exceeding 258 V before making the change.
I would experience regular inverter shut downs due to grid over-voltage.
I also captured the inverter’s error codes:
While this is an unusual way to display it, the dots in the upper band indicate when grid voltage dependent power reduction is active (volt-watt mode), while the dots in the lower band indicate instances of the inverter shutting down.
That was over a year ago now and I have not had a shutdown since.
All that said, adding load is also another strategy I used to help with voltage issues. My water heater helps keeps daytime voltages on its phase down. I use a smart PV diverter so it varies the power delivered to the water heater based on available excess energy on that phase.
The other load I use is a ducted aircon system which during summer operates on that white phase.
Very useful posts, thanks to you all.
So, can this fronius stuffs be configured purely over modbus cos I don’t have the service password to get to those menus on my inverter
I’ve queried a few of the modbus addresses I’ve seen in this thread but I just get back 0xffff from them all
Seems mine is a Symo 15.0-3-M
I’ve managed to get a start on this, I have the template sensor for solar trim, and trim+150 watts but I’m confused about how to apply it as an automation cos once you send 40236=1 the trim value crashes to near zero …
- sensor:
- name: "Solar Trim Percent"
state: '{{ (((states("sensor.solarnet_power_grid")|float(0))|multiply(-1))/15000)|multiply(10000)|int }}'
- name: "Solar Trim Percent Surplus"
state: '{{ (((states("sensor.solarnet_power_grid")|float(0)-150)|multiply(-1))/15000)|multiply(10000)|int }}'
Is that where solar_trim_percent_when_greater_load
comes into it?
I tired doing this with my inverter but it keeps turning one of the solar arrays off so the inverter is only producing half of what it can actually output
So I would like to implement something similar with my setup due to negative FIT on Amber.
I’m very new to Home Assistant and finding some of the config side of things a bit confusing.
Currently have Fronius Primo 5kw and Tesla PW2 setup and I’d like the solar to keep charging my battery even if the FIT is negative and then once full, try to mimic the load in the house until FIT goes positive again.
I’ve got as far as setting up an automation that needs to see the FIT (from Amber API) drop below 0.01c for 1 min and also my PW2 charge level is above 99%. This then triggers my “input_boolean.solarlimitor”
After this point I’m not sure how to proceed as the examples in this thread are for different fronius models and from what I can tell they all have different modbus addresses for the function.
I’m also wondering if this all relies on having the extra Fronius Smart Meter to be able to do it because of the complication of the battery or can I use the metering values from the PW2 for this?
Any pointers or examples would be greatly appreciated.
My suggestions would be to:
- Setup your Fronius Modbus as per @juande example above on your inverter.
- Create an automation that will trigger when feedin price is negative and your battery is full, example of action below (your address might be different, but this works for me)
service: modbus.write_register
data:
unit: 1
hub: mb_fronius
address: 40236
value: "0"
- Create the inverse to allow Fronius full output when feed-in is positive.
action:
- service: modbus.write_register
data:
unit: 1
hub: mb_fronius
address: 40236
value: "0"
- service: modbus.write_register
data:
unit: 1
hub: mb_fronius
address: 40232
value: "10000"
- service: modbus.write_register
data:
unit: 1
hub: mb_fronius
address: 40236
value: "1"
Thank you very much for that, greatly appreciated.
Makes it much clearer now.
Will give it a shot when I get home and see how it goes.