Batteries not fully discharging

I have 3 5kWh batteries. Recently I have noticed that when the inverter reports that the batteries are down to 4%, then looking at the individual batteries they are all at around 15%. This is consistent with the overnight charging, which always seems to require less than expected to fill the batteries. Last night, for example the batteries were charged from 3 to 15.6 ie should have needed 12.6kWh, but the battery charge reported was 9.3kWh. I had assumed that the problem was battery calibration, so did a calibration a few weeks ago, but no change. Any ideas?

A calibration is usually a good fix for such issues.

I’d suggest looking at the individual battery cell voltages to see if one is out of alignment which would be an indicator of a failing battery. If you have Home Assistant you can use GivTCP to do this, or the Android RubikCube GivEnergy inverter app will show you the individual cell voltages.

With three batteries in a chain you are never going to get the the full capacity either charging or discharging because when one reaches full or empty the entire chain stops, but does seem like there is something else happening

Remember that the reported inverter SOC % is not the same as the battery pack % - my inverter SOC is 11% SOC at the moment, and the battery shows 16% (I assume you’re using the app to see the battery %). Your difference does look a bit high compared to mine, but I have an 8.2 battery, and 5kWh batteries may use a different algorithm.
I’d agree that the kWh charged is an issue, but as Geoffrey says this could be due to one battery pack reporting higher than others - check the voltage of each cell when the inverter is reporting full.

1 Like

Thanks for the replies. I have hopefully attached some screenshots of graphs from Home Assistant which illustrate the problem. Battery voltage tracks together most of the time but when it is below 52V is when the inverter decides the battery charge has fallen to 4%. At this time the batteries are each reporting around 15%. This is around 18:00 on the 23rd December.

Is it possible that the algorithm decides that the 4% limit has been met when battery voltage approaches 51?


the BMS determines what is the voltage to SoC conversion (i.e. when is full and when is empty and all the points in between) when you do a calibration. 51V is high for deciding the battery is empty.

Here’s the SoC and battery voltage graphs for my 9.5 (left) and 5.2 (right) batteries, as you can see they get much lower when empty

But you can’t really tell much from the overall battery voltage, you need to look at the cell voltages and how well they track together. My guess is that you have a cell that is significantly out of alignment of the others and its this reading a low reading that causes the BMS to stop discharging.

Again, here’s my cell graphs, my 9.5 has a couple of cells that are divergent from the others, I need to do a recalibration but will wait for it to be a bit warmer to see if it resolves the differences. On the 5.2 they’re very close in alignment; no issues at all

And looking over a longer timeframe you can see the same cells popping up as the high and low outliers

Getting back to this after the break. Looking at the graphs of the cell voltages all seems fine. No obvious outliers. See the image for one battery, I won’t bore you with the other 2 which are similar. Still in the situation where the inverter says I am down to 4%, but the batteries say they are at 16%, and judging by the energy needed to recharge to 100% the batteries are correct! I think I am going to stop worrying about it. I only lose about 2kWh a day, and it only matters for a few months in the winter. Maybe I’ll put a support email into GivEnergy. May get an answer in time for next winter!

I sent all the stuff to GivEnergy Support, and after the initial boilerplate response (are you sure its switched on, etc) got an email from a support guy who had updated the firmware to 3022. He said that this version includes a self-calibration feature which should resolve the problem. It seems to have made no difference.