David avatar image
David asked

ESS - DC Feed-in enabled, Charge Current Limit (CCL) from BMS ignored

There has been several posts over the years where users cannot seem to get DC Feed-in working correctly. The issue hasn't been restricted to a single battery type or BMS.

I use a Batrium BMS, however, others with Pylontech batteries have the same issue.

I spent the best part of a full day testing and reading about it and have come to the conclusion that when DC Feed-in is enabled, an important bug rears its head - and it's dangerous.

When DC Feed-in is enabled, and the battery is nearing top of charge, most BMS's reduce the Charge Current Limit (CCL) in steps to help avoid any single cell going over cut off voltages.

For example, let's consider a system capable of pushing 160 amps into a battery. As the battery starts to get close to the top of charge, the BMS may reduce CCL to 80amps, and steadily reduce this amount further as the battery gets closer to full. Eventually, the battery gets to 100% SOC and the charge current should stop - CCL = 0.

When DC Feed-in is enabled, the CCL is completely ignored. Only the Charge Voltage Limit is honoured. This creates big problems - and its dangerous.

So the system will pump as much current into the battery as it has available - regardless of the CCL value being sent by the BMS. While the battery SOC is low, this isn't a problem. When its close to full it causes big problems. The battery cells go over their limits and even when the BMS sends CCL of 0 the battery continues to be charged until the Charge Voltage Limit (CVL) is reached and the current naturally reduces.

There have been a few posts about this, but no one seems to have nailed what's going on.

Can someone else please confirm this.

Video Demo:!AjZQHTTRHDNghodbXOaPiNx955NVPw?e=rSAZ6h

2 |3000

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


No issues here works very well with Pylontech battery.


Rob D


0 Likes 0 ·

Hi Rob.

Many people assume its working - However, can you take a look and confirm your DVCC is enabled, that DC Feed-in is enabled.

Then take a look at the current going into the batteries vs the CCL as reported in the Parameters section of your battery - See screenshot


Of course, this needs to be done while the battery is nearing full (but not) and while the sun is shining... Whats the current going into the batteries?

Can you confirm your MPPT models and the amount of solar etc?

0 Likes 0 ·
ccl.png (24.0 KiB)

Correct all enabled when the batteries are full and i have surplus power it's get diverted to the grid. from the charge controller.

As i know what the PV inverters are sending back, and then the MPPT is extra the power. I have seen it peak around over 7kW surplus.

I have a Smart MPPT 250v 60Amp Tr unit, Solar for the MPPT is 1890Watts.

The others i have 2x grid tied inverters on the input to the Multiplus2. 5 kw of PV

21kW of Pylontech batteries.

I will get more data when the sun is out next and the batteries are charged to 100%


Rob D


0 Likes 0 ·

The data when the battery is full isn't really all that useful. Please see this video:!AjZQHTTRHDNghodbXOaPiNx955NVPw?e=rSAZ6h

0 Likes 0 ·

No it does not do that at all. the charge current backs of and is diverted to multiplus2 to export power to the grid.

Are you running the latest Venus software and multiplus softwares?


Rob D


0 Likes 0 ·

Yes, The Cerbo is running the latest beta, The Multi and MPPT's (x3) are all up to date. Here are some screen shots:victronfirmware.png


0 Likes 0 ·
3 Answers
Daniël Boekel (Victron Energy Staff) avatar image
Daniël Boekel (Victron Energy Staff) answered ·

Hi @David

This is the reason that most batteries also reduce CVL when a cell gets too high, or even when the battery reaches 100% SOC

And even with only CCL control still it won't be dangerous, because a BMS will disconnect the battery if a cell reaches the maximum limit.

Also with a well sized system, this rarely is an issue except if for some reason DC PV power is way larger than inverter power. But than answer A and B come back.

2 |3000

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

PS. 100% charged should not mean CCL=0, if at target voltage (CVL) CCL=0, the battery will never be charged (without feed-in enabled)
0 Likes 0 ·
David avatar image David Daniël Boekel (Victron Energy Staff) ♦♦ ·

Thanks - But you are ignoring the issue - If the battery is say 90% full and the BMS commands a reduced charge rate, with DC Feed-In being enabled, this is ignored? With DC Feed-in disabled, it works just fine.

0 Likes 0 ·
Hi @David As I explained, most batteries (including pylontech) do what Victron recommends: control through changing CVL -and- CCL

There are thousands of Pylontech (and other brands) ESS systems running fine this way.

If it is an issue with you Batrium setup, change the parameters the BMS sends out, lower the CVL, etc.

And just curious: why do you have to reduce charge current? BMS should send a safe CVL, normally reducing CCL is only needed when a battery is out of balance or for example with low temperatures. having a system with a big enough inverter solves any overcurrent situations also.
Note that Pylontech sends out a lower CVL in those cases also.

PS watching your video: you seem to be using Li-Ion batteries (not LFP) so these cells can take all the current even at 100% SOC. no need to limit charge current, just keel CVL at 4,1V/ cell
If your batterie really is unbalanced, that's not good, I'd turn off feed-in in that case and check if the battery is healthy. With LFP a bit of unbalance at the top is normal, with li-ion it should stay balanced with every charge.

0 Likes 0 ·
David avatar image David Daniël Boekel (Victron Energy Staff) ♦♦ ·
Hi @Daniël Boekel (Victron Energy Staff)

Thanks for taking the time to reply.

I am using Lion (Nissan Leaf modules) - It's ~ 800ah @ 48v - so decent enough in size.

I have set a CVL for 57.4 - and so as long as the cells are in balance, things are OK - However, if the battery is nearing the top of charge, and I'm pumping 160amps into the battery, one cell may go over 4.15v - which triggers the BMS to change the CCL limit down to 0.5amps - so that the BMS balance resistor can bleed off the cells that's highest. This protects the battery without physically disconnecting it. I believe all Lithium batteries would do something similar.

With DC Feed-in disabled, the Victron gear follows the CCL value perfectly. The current is reduced down.

However with DC Feed-in enabled - the system will pump as much current into the batteries as they would take - ignoring the CCL value. If a cell happens to reach 4.15v for any more than 5 seconds, it will disconnect the battery - Obviously a not so ideal situation.

I simply cannot understand why the Victron gear doesn't follow CCL when feed-in is enabled but works PERFECTLY when it's disabled.

It's not something the average joe would notice either - However, I sit in front of my PC with my BMS on screen all day and can monitor it and I notice these things.

0 Likes 0 ·

Hi @David that does not sound like a healthy battery to me, please be careful and at least limit total charge current!

Also see my later message: Batrium -does- provide the option to limit CVL so please use that also.

'the average Joe' doesn't build a DIY lithium battery (ok except the Youtube AveRage Joe maybe). Building a battery with li-ion cells needs great care as it is potentially very dangerous.
LFP also needs caution, but is a big step less dangerous normally.

0 Likes 0 ·
David avatar image David Daniël Boekel (Victron Energy Staff) ♦♦ ·

Hi Daniel

Thanks again for your reply. I have attempted several times to record a video reply as the topic is complex. Each time the video ends up quite long-winded and I end up scrapping it :-) Then the sun goes down, so I cant demonstrate some of the scenarios.

If we can talk about CVL for a bit..
You suggest changing this. The BMS gives us two modes of charging.

1. Normal Mode

2. Limited Mode - Which according to the BMS documentation should limit charge current to .5amp - which matches the balance resistors.

If in 'normal' mode if we set CVL to 57.4v (4.1 per cell) as you suggest - when the battery is at anywhere over 85% if the current is high enough it's possible for one or more of the cells to overshoot 4.1v - perhaps to something like 4.12 or 4.13v.

The BMS then switches to 'Limited' mode where it bleeds off the highest cells via its resistors.
What CVL do you suggest here? If it's LOWER than the pack voltage, the Multi immediately starts discharging the pack down to that value (and sending that power to the grid - which is weird and undesired imho).

I would imagine setting slightly lower would be what you are suggesting? 57.3?

Regardless, with either voltage, the BMS won't have the ability to balance the cells?

I just wish it worked the same as it does with DC Feed-In disabled. CCL is followed (as I believe it should be) and everything works perfectly.

0 Likes 0 ·
@David Ah I understand, yes this mode is mostly helpful for LFP batteries then.

Maybe you can set a CVL that is only slightly lower so it doesn't discharge to grid?

I'm sorry to say that it seems you are trying to get a bad battery to work properly.
A li-ion battery should be balanced once, and stay balanced with -very- little balance current after that. if it needs balancing every time it is -not- a good battery and I would advice not to use it.

for LiFePO4 cells the same applies, but due to the charge profile it can look like they are out of balance when it is just a little bit of energy difference.

0 Likes 0 ·
David avatar image David Daniël Boekel (Victron Energy Staff) ♦♦ ·

Hi @Daniël Boekel (Victron Energy Staff)

Further to my reply above, I have now recorded a video :-)!AjZQHTTRHDNghogC4s57RF2yc-7tDg?e=KLPaAE

0 Likes 0 ·
puitl avatar image
puitl answered ·

@Daniël Boekel (Victron Energy Staff) and @David

Is there a solution for this problem now?

I have the same problem: CVL is working perfectly, CCL from BMS is ignored, also reducing charge current in the DVCC-menu doesn´t work.

What´s strange: Both thinks does work perfectly when charging from grid with the Multiplus.

My BMS from Seplos is sending a CCL of 10A when a (LFP) cell gets over 3,5V.
I think thats the perfect method because so the voltage of the higher cells just rises very slow and the BMS + my external balancer have time for equalizing the cells.
When reducing CVL the voltage of the higher cells also drops and so equalizing IS NOT possible.

@Daniel: Does it have a technical-reason that CCL only acts with Multiplus and when DC feed-IN is disabled or would it be possible and it "only" has to be add in you software??

2 |3000

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

Hi @Puitl

This has all been explained before. The technical reason is that it works this way to use all available PV power to feed-in to grid.

Battery / BMS design is not simple, but I can advise you to not charge above 3.5V per cell anyway. and set balancing to somewhere around that also.

If you look at the big players (BYD, Pylontech) they all send a higher CVL until the battery is getting almost fully charged, and than lower CVL. CCL is only lowered when a cell has overvoltage.

Note that balancing a battery should only have to be done once, after that only small corrections have to be made by the BMS.

0 Likes 0 ·
puitl avatar image puitl Daniël Boekel (Victron Energy Staff) ♦♦ ·

Hi @Daniël Boekel (Victron Energy Staff)

Ok, i understand what you are saying.
I only charge my cells to 3,45V. Only once/twice a year i go up to 3,55V (slowly with keeping an eye on the cell-voltages) for clean balancing and "SOC-update" but nevertheless two points:

1) I am sad about it that reducing max. charge-current in the DVCC-menü does not act!
(I have 10kWp and 3x MP2 3000 and with max. charge-current i can stretch battery-loading troughout the day - now i have to do it with turning up and down the CVL, which is not very smart ;)

2) When there is no technical reason and "our problem" is solvable with a simply programm-update from you, i don´t understand why you not do that because with this feature you don´t make any mistake, go up with the "philosophy" of other BMS beside Batrium and at the end you would add a additional feature to protect our expensive cells from overvoltage.

So please adjust this point :) :) :)

With 10kWp and 14kWh battery I do not care if there are flowing a couple of watts into the grid instead of the battery ;)

Thank you - I remain in joyfull anticipation :)

0 Likes 0 ·

@Puitl the technical reason has been explained a long time ago. feed-in means we need MPPT's to produce, it is not possible to combine this with a low charge current on the batteries because this would open a world of pain with oscillating systems.

Remember that most setpoints in the system are voltage based.

This all works perfectly fine with approved batteries

We support self made batteries as you know, we help you with tips and hints on how to properly configure them to work well. What more can we do?

I'll advice you once again to read my advice, look at how commercial batteries work (as I explained in this thread), and adjust your BMS settings accordingly.

PS. how is the Seplos performing? I have a couple of them I want to try out with personally but didn't have time to play with them yet.

0 Likes 0 ·
puitl avatar image puitl Daniël Boekel (Victron Energy Staff) ♦♦ ·

@Daniël Boekel (Victron Energy Staff)

" is not possible to combine this with a low charge current on the batteries because this would open a world of pain with oscillating systems. "

Thank you, exactly that is the technical-explanation which I have been missing so far!
Ok then you have to correct this part in your Cerbo-GX manual...


...into "CCL and limit charge current does only act when charging from grid with Mulitplus"!

To the Seplos BMS:
I like it much. Price/Feature/Performance-ratio is excellent.
All important parameters can be adjust with the software. With the software you also can watch "live" to the battery and single cell voltages and can record an live-view which can be exported as an Excel-file with all data.
(For example to look which cell is the weakest when discharging to SOC 0% without the need to "wait" live on the System and have a look every second).

SOC-calculation seems also very exact.

The only problem is that the Seplos only reduces CCL when cells go over 3,5V (adjustable), but i think you know that by now :D

I will write Seplos to think about to also adjust the CVL....

0 Likes 0 ·

There is an additional note in the GX manual under the section - 8.6. DVCC for systems with the ESS Assistant -

  • Note: When 'DC-coupled PV feed-in excess' is enabled with ESS, the DVCC system will not apply the DVCC charge current limit from PV to battery. This is behaviour is necessary to allow the export. Charge voltage limits will still apply.

    Charge current limits set at the individual solar charger device settings level will also still apply.

0 Likes 0 ·
puitl avatar image puitl Daniël Boekel (Victron Energy Staff) ♦♦ ·

@Daniël Boekel (Victron Energy Staff)

Question: Why does it work with BYD-batteries??
See this forum-entry and the 3 after it from me and user "optip":

At "optip"´s BYD-system CCL will be transfered into the MPPT / Networked Operation settings, at my system it doesn´t although the reduced CCL is visible in the BMS-parameters in the remote console!?

Please help me, i don´t understand it (:

0 Likes 0 ·

the Victron system works the same with BYD, BYD lowers CVL when battery full. But if you take a small BYD battery and big MPPT's, combined with too little feed-in capacity, it will also charge more current than asked.

But with every system: if CVL is reached, it won't go higher.

0 Likes 0 ·
puitl avatar image puitl Daniël Boekel (Victron Energy Staff) ♦♦ ·

I texted Seplos, we will see if they update the software to also beeing able reduce CVL...

I think the following is simple and would help:
(BMS standard CVL is 56,8V = 3,55V per cell)
If single cell gets over 3,55V then reduce CVL at 0,5V
If single cell gets over 3,60V then reduce CVL at 1V

0 Likes 0 ·

Is there a way to automatically adjust the CVL in Cerbo with a defined offset when a CCL is active? Then nothing would have to be changed in the BMS.

0 Likes 0 ·
Like the Quirks for some BMS in the file.
0 Likes 0 ·
I think there is a way, but only in a "custom way" ;)

My suggestion above is easy to update to the BMS and Seplos will think about it.

The problem with reducing CVL when CCL is active:
Seplos standard CVL is on 56,8V = 3,55V per cell.
When cell gets over 3,5V CCL = 10A to give the balancer time for balancing.
When you go down with CVL at this point your cells will not be "fully" charged (you are loosing about 0,x% capacity) because you are reducing the absorption-voltage.

For me my it is better to see it as a "protection":
When one cell gets over it´s charge-limit (3,55V) then reduce CVL more and more and set it back when cell gets under 3,55V, so when they are in top-balance all cells have 3,55V = 56,8V and no CVL-reduction is needed.
If that´s not enough then you have big disbalance and BMS cut-off would be active.

0 Likes 0 ·

ok, then it makes more sense if the BMS lowers the CVL when a cell reaches the limit and the CCL continues to be ignored.

0 Likes 0 ·
schaka avatar image
schaka answered ·

Hello, i had the same problem with my ESS System. Acutal Firmware is v2.84 on my cerbo.
I use 3x Multiplus II 48/5000, Cerbo GX, 3x MPPT 250/100 with 15,3 kWp Solar Moduls (45x Sunrise Energy 340 Wp). I use one BYD LVL 15.4 Batterie. Max feed in from energy provider is 10,7 KW.

If the batterie SOC is at 100 % and the generator power is very high, the batterie is always a little bit "overload". The bms sent error messages to my cerbo, and i have many days a report in the log.

I think the cerbo/multis need to regulate the mppts if the batterie is full.
Is there any option to use it normaly? Is there a change Victron is fixing this "control" problem?

2 |3000

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