Bug?: Peak shaving drains battery permanently despite minimum SOC

Bug in Venus OS v3.52 ?

3 x MP-II 48/5000
15 kWh battery with CAN-BMS
Grid meter present
All loads on AC-out, except Fronius inverter on AC-in
Raspberry Pi with Venus OS supplied by the battery, otherwise no DC loads
DESS off

With peak shaving = “Always”, the battery continues to discharge with an average of approx. 60 W or just over 1 A although minimum SOC has been reached. As a result, the SOC drops continuously below minimum SOC, the battery is constantly drained. This despite #1 low SOC being displayed.

This behavior can only be prevented with peak shaving = “Above minimum SOC only”. With this setting, permanent discharging at minimum SOC is prevented and the battery is kept at constant SOC.

Here an example with minimum SOC 20 %:

Peak shaving “always”:


Peak shaving “Above minimum SOC only”:


Until 17:00 peak shaving “always”, from 17:00 peak shaving “above minimum SOC only”


It seems to be the same or at least a similar behavior as already described by @hominidae here:

1 Like

I think it works as expected, you can choose it to stop at minimum soc or continue operation?!

Why an Option for that at all?

It doesn’t seem to make sence, when you think about the minimum soc as a limit you not want to go bellow for technical (protective) reasons.

But it’s useful for situations where you generally keep a higher minimum soc for backup reasons, but still want to avoid peaks hitting your (weak) grid connection.

For example, living in a country, where you have to expect grid loss for 12h a day, and turning your ac on always trips your main breaker.

Then you want to keep for example 80% soc, but continue with peak shaving so your mains stay online when the ac starts.

1 Like

Correct, that’s how I think it should work. But the system is located in Austria with a stable, permanently available grid. Furthermore, I did not have any high loads at the AC-out that could not be easily covered by the grid.

Peak shaving shouldn’t even be necessary in this case, so I have no problem with the “Only above minimum SOC” setting.

But since the grid is stable in my case and no extreme loads occur, the battery should not be permanently discharged with approx. 1 A even with setting “Always”. In my opinion, there is no reason for this behaviour if the grid is stable and there are no extremly high load-peaks?

Well, I understand but as said in my other post, I do have a (stable) 3x63A grid-connection…and even when setting/activating the limit to 62A - which is a lot and has never been seen and grid usage at that time was about 1A per phase only - the system continues to deplete the battery with a small load when below minSoC.

I’ll second this…at last this is what I understood with regards how peak-shaving should work.

I have this issue as well on a system I am commissioning. I have:
1x MP-II 48/3000-35-32
Cerbo S GX
Firmware v3.41
Latest ESS assistant (January 2025)
all loads connected on AC-in. No loads connected to AC-out (yet). CT clamp installed at grid connection point.

The maximum grid supply @230VAC is 100A, however the multiplus seems to try and limit this to 50A regardless of if the battery is below the minimum SOC set. The “Above minimum SOC only” setting seems to be ignored by the ESS system. I have turned off “peak shaving” using the GX menu.

When using the internal CT (which is really the external CT clamp), the ability to turn on/off the peak shaving function is disabled. I had tried to switch over to a digital energy meter to enable me to turn on the peak shaving function and change the default amps value to see if that has any effect but it does not seem to change the system performance.

The Multiplus is seeing an accurate current flow reading through the CT clamp based on tong testing and other MyEnergi devices that are connected.

I just updated firmware to v3.53 and confirm the issue still presents.

While testing I also found that the peak shaving function seems to also exceed the maximum current draw advised by the BMS! This seems to be a major oversight as battery maximum discharge/charging rates advised by a BMS should ALWAYS take priority over any other settings.

Im observing this behavior lately too and don’t like it either. So using old firmware could be a solution, but then we are loosing bug-/securityfixes and maybe some useful features/improvements unlike peak-shaving without the option too disable it.

Does this hurt battery life?

What the BMS reports and what is visualized in the UI is the continious maximum discharge current. Peak-Shaving is meant to shave peaks, and therefore makes use of the peak maximum discharge current which is typically twice as much as the continious discharge current and can be provided for 5 - 15 seconds. (Depending on the battery type and manufacturer)

Do you see the current being exceeded for longer periods - or just for peaks?

For instance, I have 8x Pylontech US3000C, they report a continious discharge current of 296A (that’S 37A per Module), while it’s technical rating on peak-discharge is 70A, so a total of 560A for upto 15 seconds.

Thanks that’s good info to know about peak shaving and how it operates. I have sized cables and fuses for the maximum amps I want to put on the battery packs, if on a hot day it’s not inconceivable that a fuse may trip under a peak shaving event.

I had designed my system assuming that peak shaving could be disabled as it indicates in the interface, but it appears that this is not the case, hence my frustration.

You could at least set the current above which peak shaving should occur.

If i’m not misstaken, a setting like this won’t cause any peak shaving bellow 40A per phase.

Hey Dognose I appreciate your responses on this topic.

Your suggestion does work, I have tested this at various current settings to validate it does actually affect the operation of the peak shaving function as expected. In my case the maximum I can set it to is 50A, when my actual grid connection allows 100A. Turning the function off doesn’t actually turn it off, instead it just seems to operate peak shaving at the maximum settable value, i.e. 50A.

It makes sense that the MPII-3000 would want to limit its through-current to 50A to protect itself, but where I have an external AC current sensor connected, and the loads are all on AC-IN this is not required and I should be able to either disable peak shaving or set peak shaving to 100A.

Are you sure about your grid? 100A (per Phase) is a huge grid connection for a private property.

Is it possibly 100A Total, so 33A per Phase?

The Idea of the Peak Shaving is to prevent your grid breaker from dripping. So, if your grid for example has 33A per phase, and you set the Prakshaving to 33A, then the multis will take any load above 33A, as long as they can.

There is also a setting somewhere (maybe even in VEConfigure) where you can specify your systems maximum input current. Eventually you need to raise that value first, before you can select a higher value for peak shaving.

Wouldn’t make sence to say “my grid can do 20A, so start Peak Shaving at 30A”.


But I’ve also talked to a colleague about this in general.

Back to your original observation that it is draining battery - it does in some sence. The constant battery usage you are seeing during idle is not due to active Peak-Shaving happening - it is just due to the fact, that the multis leave their inverter turned on, in order to start to peak shave quickly, when required.

Thus, even if you would / could set it to 1000A - the inverters will be on at 0 load and cause some vampire drain from the battery. (On vs Standby is something around 60W vs 18W per multi)

Hi Dognose yes I have 100A single phase, 230VAC. 63A or 100A is typical for Australian houses.

The setting in VEConfig for Shore current can only be set to 50A as far as I can tell.

The original poster’s comment I believe is more that the inverter is pulling hundreds of watts from the battery when, with load inrush currents below the “peak shaving” threshold, or when peak shaving should be disabled. So it seems odd that the inverter would still be trying to assist loads under those conditions when it should just be idle.