Marco Nijholt avatar image
Marco Nijholt asked

Multiplus II + ESS + Power Assist not working as I expect when minimum SOC is reached.

Hi all,

So i'm running into a bit of a issue with the behavior of the system. I'm pretty sure this is intended but still wanted to ask for options.

Little introduction

I have a 3 Phase system setup (3x Multiplus II) backed by 30kwh lifepo4 batteries which are charged by the MPPT RS inverter. I'm using a EM24 to measure grid power even though my whole house is behind the victron installation.

My grid connection is 3x25A and one of the goals of getting this system is to not have to upgrade to a 3x40A connection which would cost me 700 euros a year. My house is fully electric (no gas connection), electric cooking, electric heating, electric car, heatpump for pool.

This means I have a lot of consumers that if turned on at the same time can trip the breakers. Since i sell power to the grid for 1:1 (untill 2025), the main reasons for the system was 1: UPS functionality, 2: saves 700 euros a year on a higher grid connection bill. 3: Was building a new house, so it was the perfect time to get all the wiring in and 4: Being ready for when i no longer sell to the grid at 100% rate.

The issue

I'm generally running a 75% Minimum SoC with a 0W Grid set point. Excess PV is delivered to the grid. Usually in the evening it reaches the minimum SoC. Once it reaches the minimum SoC it seems like input current limit is completely ignored. This means if when the minimum SoC is reached, my breakers can trip when multiple loads are on at the same time.

In my opinion, the input current limit should always be respected, almost as a same priority as grid failure (Since it in 99% of cases leads to grid failure, why else would you configure a input current limit).

The expected behavior for me would be that if a peak load needs to take from the batteries below the minimum state of charge on 1 or multiple phases. It starts assisting on the phases that require it. If there are phases available that have extra capacity left, it can convert AC to DC to supplement the DC requirement for the peak shaving phase. If this is not sufficient (maybe all phases are overloaded) it can take energy from the battery beyond the minimum SoC. Since if it does not do so, theres a risk the grid goes down and having to take from batteries regardless. After the peak load is gone it could top up the batteries back to the minimum state of charge using the grid (not beyond). Since I want the DC coupled solar only to top the battery up to 100% minimizing inverter losses.

Ideally, i'd want to have a minimum SoC for self consumption and a second minimum SoC for power assist to minimise inverter losses. E.g. discharge to 75% for self consumption, then discharge to 50% for peak shaving. If battery is at 50%, still allow peak shaving however when possible use grid to charge back to 50%.

Is what i'm experiencing intended?

Does anyone have any advice or recomendations?

ESSpowerassistinput currentpeak
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

lifeingalicia avatar image lifeingalicia commented ·

I have amuch smaller install but run it similar.

Grid set point to nearly 0 Charge current limited - Inverter power limited.

SOC set to 40% Bats to optimized with battery life

I do a scheduled charge early morning as I want a hot shower whatever the weather


0 Likes 0 ·
1656879575830.png (45.5 KiB)
Marco Nijholt avatar image Marco Nijholt lifeingalicia commented ·
Are you on grid or off grid? Does current limiting (power assist) work for you when Minimum SoC is reached?
0 Likes 0 ·
8 Answers
Alistair Warburton avatar image
Alistair Warburton answered ·

I am off grid, single phase and don't run ESS, because it isn't flexible enough as far as I can tell.

I am also not an expert but when looking into ESS I am pretty sure I saw a setting that applied current limiting differently based on SOC... Although it my have been a Quatro I was looking at and it would have been recent firmware.

I basically exist on self consumption and always try to leave headroom for solar because the generator is far too expensive to run unless absolutely necessary.

My solution, only recently realised as an automated one, is to manage the system externally.

I have a BYD battery on one of my inverters so stick with the DVCC and BMS integration on that system but when it comes to what charges and when my choices are as much about the weather forecast as anything else.

If you want a bespoke strategy, have you considered doing it with an external device?

To be clear I am not saying ESS doesn't work or even that it cant do what you want. It defiantly cant do what I want, mostly because it isn't designed to, so I didn't implement it and therefore cant comment on details or experience.

I can say that implementing 'an ESS' system, using external logic doing exactly what you want/need is absolutely possible and not all that hard.

Case in point... Implemented THIS today.

I will be following this thread because I want to learn the Victron ESS system, either to cherry pick its best strategies or potentially to use it, with additional control, to do what I need.

I couldn't work out how to be in bypass, ready for Assist and not charging using ESS, and that was just the first thing. I am not saying you cant, just that I couldn't see how, hence the mod earlier.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

shaneyake avatar image
shaneyake answered ·

The grid input limit and ESS don't play nicely together. It is always best to set it as high as you can while using ESS.

When you hit minimum SOC the inverter is essentially turned off unless grid fails.

What you are wanting is peak shaving which isn't natively supported by ESS but can be add on pretty easily via NodeRed which will be included in the Cerbo in the future but is currently in Beta.

What you basically want to do is change the ESS control input from grid to battery power with limits once you are at minimum SOC. If you set the control limits to the max allowed from gird this will keep battery at 0W till that limit is hit and then will fill with battery to keep at grid limit. Once load is turned off the system will then slowly charge to get back to minimum SOC.

I am happy to help you set this up via email or phone. I have sites doing a similar thing.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Alistair Warburton avatar image Alistair Warburton commented ·
Interesting... Always good to know these things.

I don't want to hijack this thread but if you would answer some, 'totally unsupported system' questions I will post a question on a related subject; well; thoughts about a similar subject/s anyway.
0 Likes 0 ·
shaneyake avatar image shaneyake Alistair Warburton commented ·
Sure, send me the link to the question.
0 Likes 0 ·
klandos avatar image
klandos answered ·

Have a look at:

I had the same problem I think. You could do it the same way just change to 70%+ it worked for me ok.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Marco Nijholt avatar image
Marco Nijholt answered ·

Seems like this (not very complicated and i'd imagine comon) usecase is simply not possible with the integrated assistant, unfortanate.

To me, this seems a bug and not a feature.

  • I use the ESS to optimize self consumption up to 35-75% Minimum SoC (Summer vs Winter).
  • The remainder is a buffer for power outages (and ideally power assist).
  • The minimum SoC is "Unless grid is down".
    • To me a input current limit should be included in this priority because if powerassist does not kick in, the input current being specified for a reason, would likely cause a grid outage and it switching to battery power anyway.
    • Input current limit is respected for backfeeding PV into the grid.
    • If ess by its design, reacts slower than Power Assist, that in theory is still just fine of a grid connected setup. Most Grid breakers are of the C type, and can handle temp burts. Also worse case you can setup the input current limit with a buffer to your actual grid.

To me this is a basic feature of the ESS assistant and should be implemented by victron.

For now i'll explore the external control mode considering I have plenty of programming experience, might eventually be the correct way anyway to implement dynamic grid setpoints based on expected irradience of the solar system for next day. As well as programming functions like tesla's stormwatch etc.

To me PowerAssist is a critical function of the multiplus ii, and it not working at all, even in a "slower" form for ESS is a mistery.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

shaneyake avatar image shaneyake commented ·

I don't disagree that peak shaving should be implemented in ESS at somepoint.

Nowhere in the ESS manual does it say that peak shaving will work and having a grid that can not supply your loads is pretty uncommon. In most cases you should just request that your supply be upgraded.

Currently the way ESS works the inverter is basically switched off when min SOC is reached. It has been like this since ESS started. It is well known that input current limit and PowerAssist doesn't play nice with ESS.

If all of your loads on the inverter output the inverter will respond just as fast as PowerAssist. There is only delay if you need to pull data from a grid meter.

Since NodeRed is now included in the GX it is really easy to get the system to function the way you would like and still only use on the GX for all control.

I have seen hundreds for request to Victron for pretty uncommon features which they could never implement every use case, so in response they gave us native NodeRed support. Which I have been using for over a year now, doing some very complicated control on huge systems reliably, it is really not a bad option.

I am happy to have a call and setup NodeRed to do exactly what you have described.

0 Likes 0 ·
Marco Nijholt avatar image Marco Nijholt shaneyake commented ·

"having a grid that can not supply your loads is pretty uncommon."

You are not very wrong here, I could very much increase my grid connection. Upping this from 3x25 to 3x40A however would cost me 700 euros a year extra. If you wanted a even higher connection the costs just rise even more. Having the option to do peak shaving can save alot of people a significant amount of money. It's also why PowerAssist is a advertised feature of the Multiplus, its just dissapointing it does not work together with ESS.

I'd love to get into contact to get me started with the external control. Email works for me

0 Likes 0 ·
shaneyake avatar image shaneyake Marco Nijholt commented ·

Okay, send me an email at

0 Likes 0 ·
Alistair Warburton avatar image
Alistair Warburton answered ·

I agree wholeheartedly... In many respect adding complicated nuance to stock components to attempt to deal with niche applications is a fools errand. However not so long ago 2-3 years, my questions about automating stuff from external applications were not well received at all.

I think the Node Red integration is great and thus far the only thing I have found somewhat lacking, when revisiting the topic in general, is lack of write access, via Modbus, to some stuff that seems like it would defiantly be needed, .

To be clear until Monday I only had a CCGX so as far as I know couldn't use the integrated Node Red solution. I have since installed a new Multi and a Cerbo GX to handle it and now I guess I can install Node Red.

My specific gripe is not being able to write to Charge current limit BUT I do not know if this is possible using the dedicated Victron nodes and I dont want to hijack this thread either.

I am off grid so cant use ESS, and don't want to either. ESS implements functions I do not want/need and I want, even less, to have to engineer around. It simply isn't designed to do what I need and I don think, based on the manual, is even capable of some of it.

Bits and pieces not withstanding, I think Node Red integration is a great plan and hope that it will eventually become the standard way to manipulate none critical settings.

I don't think I would want to see a node that bypassed DVCC and messed with an integrated BMS for example, but handling AC and charge limits and even feed in for those grid connected systems, replacing ESS essentially, seems lie a great plan to me.

When you add in the world of other opportunities the strategy presents its a no brainer IMHO

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

shaneyake avatar image
shaneyake answered ·

Victron has been pretty open about how to control their hardware externally, years ago it was lot harder but they still made the documents available. I only use there products because we have really good external control. My work is all about creating custom solutions for customers that want to do niche or optimized installs.

There is a limition to VE.Bus which is where all the problems you are talking about come from and Victron has made it clear they are never going to be fixed. From what I can tell Victron is going to be switching to VE.CAN and all R&D is heading in that direction.

VE.Bus does not allow for charge current, AUX relay, AC-OUT2 relay, K1 control or the reading of AUX1, AUX2 input. These aren't available in the VE.Bus spec and since that is how a GX talks to the inverter it will never be added. I was hoping for General Flag or some flag transmission but also not supported. There is a possibility this could be added via an Assistant in the future but I doubt Victron will do it.

The CCGX was in the Beta for the Large image with NodeRed but has limitations so I don't think it will make it out of the Beta. CCGX is old now and has been replaced by the Cerbo for the last few years. All new installs should not have a CCGX.

The ESS Assistant allows remote control of all inverter functions.
If you think of a Victron inverter as a bi-directional AC-DC converter, the way you control it makes more sense.
You have 4 parameters you can adjust.

/hub4/disablecharge - Disable AC -> DC
/hub4/disablefeedin - Disable DC -> AC
/hub4/l1/acpowersetpoint - This is the AC input setpoint if you have no loads on AC-OUT then this would be how much energy you want to move from AC-> DC or DC -> AC.
But since in most causes we do have loads on AC-OUT we will have to compensate for that.
/Mode - This controls the inverter mode but most causes we will just use "ON" or "Inverter Only", Inverter only disconnects from Grid and "ON" connects to grid.

The easiest way to do what you want is have 2 modes.
When SOC greater than X disconnect
When SOC less than X connect
This will control /Mode

Charge_power = 1000W
Grid_Power_limit = 4000W
Grid_Power_min = 100W
Battery_Power_Error = Charge_power - Battery_Power
Setpoint_integral = Battery_Power_Error*0.1 + Setpoint_integral
acpowersetpoint = Battery_Power_Error*0.1 + Setpoint_integral

if(Setpoint_integral > Grid_Power_limit){ Setpoint_integral=Grid_Power_limit;}
if(Setpoint_integral < 0){ Setpoint_integral=0;}
if(acpowersetpoint > Grid_Power_limit){ acpowersetpoint=Grid_Power_limit;}
if(acpowersetpoint < Grid_Power_min){ acpowersetpoint=Grid_Power_min;}
This will control /hub4/l1/acpowersetpoint

This would connect and disconnect you from grid. Reducing you backfeed.
And when connected to grid would limit the grid draw to Grid_Power_limit.
This should be as responsive as Power Assistant on the grid side but you will see charging and discharging slowly ramp up and down as loads change.
Not touching DVCC, those limits are still active.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

shaneyake avatar image shaneyake commented ·

@Marco Nijholt would basically work the same way but would switch from

Battery_Power_Error to Grid_Power_Error when above and below desired SOC but keep connected to the grid.

0 Likes 0 ·
Alistair Warburton avatar image Alistair Warburton commented ·

That is great info thanks... I wasn't aware of the VE.Bus limitation, and a boat load of other stuff I guess, but lack of seemingly available settings/info makes more sense now.

I don't want to discuss my stuff on someone else's thread but I would be grateful if tyou would cast your eye over THIS, if you have 5 mins.

0 Likes 0 ·
shaneyake avatar image
shaneyake answered ·
Note: This was comment to @Alistair Warburton but too long as comment.
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Simon Schneider avatar image
Simon Schneider answered ·

I have the same problem.

Really would like to use PowerAssist with my ESS (without external meter). Main reason:

I only have a 16A Multi which usually has enough transfer power, but sometimes it just happens there is a peak over 16A for a couple minutes. While discharging to min. SoC I can reach over 16A because AC is added to battery power, but if min SoC is reached there is now way of getting over the 16A without PowerAsisst. I would like to know a way to get around that. Buying a bigger Multi would work but PowerAsisst would be so much cheaper :D

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.