Battery Capacity Reduced - How to check, how to fix?

Post Reply
StealthChesnut
Posts: 21
Joined: Mon Oct 17, 2022 2:31 pm

Hello all.

I seem to have an issue with battery capacity rapidly reducing, hoping someone can recognise what the problem might be, and what's a likely solution.

Over the past ~6 months I've noticed my battery capacity doesn't seem to match expectations. I have 4x 2600, 2 are V1, 2 are V2 and a V2 BMS. Total of 10400kWh, not accounting for losses, reserve, etc).

This has been most obvious today. This morning (early hours) the pack charged from 28% to 98% in 1 hour (~7.5kWh), but the max charge rate is around 4kWh. This afternoon it's discharged from 72% to 15% (~6kWh capacity) in 30 mins, max load of 1.08kW, average around 0.8kW for that time period - around 0.5kWh used.

BMS min temps are 10C or above throughout today and last night, so I don't expect this is cold temperature related.
BMS cell mv Highs and Lows generally track together, but when charging there does seem to be a 100mv gap. There have also been some spike/dip pairs where the mV high goes to ~4490mv and mv low goes to 2210mv at the same time - this happened on 24/12, 30/12, 02/01. The rest of the time the max/min is between 3550/3100.

Does this look like a duff cell(s) in the stack, and if so is there any way to locate it or identify which/how many of the battery packs might be affected?

Edit: checking in the foxcloud, I have error 194, battery over voltage, so I'll contact my installer and see what they say as well.

Edit2: Versions, in case it is relevant: Master - 1.51, Slave 1.02, Manager 1.56.
Creator of the HA-FoxESS-Modbus Integration for Home Assistant

6.7kW 18 panel East-West split solar array
H1-5.0 with 4x HV2600 Battery Storage
StealthChesnut
Posts: 21
Joined: Mon Oct 17, 2022 2:31 pm

Logged a call with my installer yesterday - just missed the closing time, but happy to say they've called back first thing this morning. First step is updating the firmware on everything, so will see what that does and report back.

After reading a few bits here and on FB I did see some mentions of the temperature of the front of the battery packs. Using an IR thermometer, it read:
4 - V2 - 21C
3 - V2 - 22C
2 - V1 - 31C
1 - V1 - 12C

Possibly pack 2 is working hard or trying to balance?
Creator of the HA-FoxESS-Modbus Integration for Home Assistant

6.7kW 18 panel East-West split solar array
H1-5.0 with 4x HV2600 Battery Storage
Dave Foster
Posts: 820
Joined: Thu Oct 13, 2022 7:21 pm

Reading what you've said there were considerable issues with pack balance on mixed packs and early firmware and this sounds very much like that.

100mV at 100% SoC when charging isn't too unexpected (it should only be 10-20mV when idle) but it sounds very much like the pack isn't balancing correctly (each individual pack manages it's own inter cell balance, the BMS manages the pack balance by broadcasting pack statistics to all of the batts)

I think the problem is around the BMS measurement for SoC as it derives it's own SoC from the SoC provided by each pack, the environment and cell voltages - and this is what the later firmware resolves

The battery firmware you can only see at the Inverter (unless you have agent access to the cloud)

If you go to the inverter panel and click on About, Bat Ver - it will list the Master (M:xxxxxx) and Slave (S:xxxxxx ) versions

The latest firmware for a mixed V2 pack is the Master (called BCU on V2) should be 1.011 and the V2 slaves (BMU) is 1.09. The V1 packs should be on a special mixed pack version 1.15.

There is a dev version of V2 master out for mixed packs (1.012) but it's only available if Fox R&D get involved - hopefully once updated your pack should start to behave better but it can take a while for the pack to balance particularly if you only charge at 4kwh.

A slower charge (~1000W) gives the active balance circuits more time to do their job when it gets above 90% SoC - you can force it to balance quicker by slowing the charge by setting the Max Charge current to 5A in the inverter settings (Setting, Battery, Max Charge Cur) but remember to set it back to 35A after a couple of charges.
StealthChesnut
Posts: 21
Joined: Mon Oct 17, 2022 2:31 pm

Thanks for the info Dave.

Firmware versions reported on the front panel are now:
M - 1.008
S 1 and 2 v2? - 1.00
S 3 and 4 v1? - 1.13
IV - 1.00

I think S1 and S2 are the v2 packs as they are at the top of the stack next to the BMS, so I'm assuming the numbering goes upwards the further down the chain from the BMS you get.

The batteries seem to be working better now - not charging in just an hour, anyway. Is it worth getting these versions updated to the ones you mentioned? I don't have access so will need to request installer to do it.
Creator of the HA-FoxESS-Modbus Integration for Home Assistant

6.7kW 18 panel East-West split solar array
H1-5.0 with 4x HV2600 Battery Storage
Dave Foster
Posts: 820
Joined: Thu Oct 13, 2022 7:21 pm

Yep the pack nearest the BMS is always allocated id 1, then the next pack in the chain is always 2 etc...

Those are very early versions for the V2 firmware, I think you'll get big improvements of stability and probably a small capacity increase if you get them updated to latest :)
StealthChesnut
Posts: 21
Joined: Mon Oct 17, 2022 2:31 pm

Packs have now been updated to 1.09 and 1.15.

Since the initial update there does seem to be improvement, cell high and low mv readings are normally 100mv difference and usually much less. Will give it some time to settle, but looks good for now.

Thanks again Dave!
Creator of the HA-FoxESS-Modbus Integration for Home Assistant

6.7kW 18 panel East-West split solar array
H1-5.0 with 4x HV2600 Battery Storage
StealthChesnut
Posts: 21
Joined: Mon Oct 17, 2022 2:31 pm

update time.

A few weeks ago one of the V1 batteries (the one that got warm, see previous post) started flashing a red light. Got in touch with my installer who then tried to do updates, but were having problems due to the mix of v1 and v2 batteries. We had a chat, and I think they got Fox involved to take a look. As part of the installer conversations I'd turned off/on the BMS, so the red light disappeared - not sure if the restart fixed that or the updates.

Firmware versions reported on the front panel are now:
M - 1.013
S 1 and 2 v2? - 1.10
S 3 and 4 v1? - 1.15

Inverter:
Master: 1.63
Slave: 1.02
Comm: 1.70

I'm still seeing (last night) state of charge go from 67% to 99% in about 10 minutes, which doesn't add up from the charge rate, duration, etc - 30% should be about 3.4kWh, and in 10 mins would need a charge rate of 20+kW, not the 4kW it was at. It is then charging at 400W for over four hours, so seems to be trying to balance.
Creator of the HA-FoxESS-Modbus Integration for Home Assistant

6.7kW 18 panel East-West split solar array
H1-5.0 with 4x HV2600 Battery Storage
Dave Foster
Posts: 820
Joined: Thu Oct 13, 2022 7:21 pm

Your firmware versions are the latest so that all stacks up.

Unfortunately mixed packs appear to struggle with imbalance much more than single version packs, the alarm flashing is worrying as i’m guessing the BMS was reporting a cell low (or high) fault which confirms that it wasn’t expecting what it measured.

I think the main thing to do is to eliminate all the obvious things and if there is still no improvement then call in FoxESS to look at it and let them diagnose the issue.

The balance circuits on these batteries need a bit of help when fast charging as they only have modest balance components, a good way to give them a hand is to reduce the charge current when they get above 92% to 5A that allows them more time to allow the top balancing - when you do this, you usually see the SoC stall at around 95% as it brings the lower cells / packs up.

I’ve written this simple automation for people and for most it has really made a difference.

Code: Select all

alias: Charge Reduction
description: ""
trigger:
  - platform: time_pattern
    minutes: /1
condition:
  - condition: or
    conditions:
      - condition: numeric_state
        entity_id: sensor.battery_soc
        below: 90
      - condition: numeric_state
        entity_id: sensor.battery_soc
        above: 93
action:
  - if:
      - condition: numeric_state
        entity_id: sensor.battery_soc
        above: 92
    then:
      - if:
          - condition: numeric_state
            entity_id: sensor.max_charge_current
            above: 10
        then:
          - service: number.set_value
            data:
              value: 5
            target:
              entity_id: number.max_charge_current
          - service: logbook.log
            data:
              message: Setting Max Charge to 5A
              name: Max Charge
    else:
      - if:
          - condition: numeric_state
            entity_id: sensor.battery_soc
            below: 90
        then:
          - if:
              - condition: numeric_state
                entity_id: sensor.max_charge_current
                below: 10
            then:
              - service: number.set_value
                data:
                  value: "35"
                target:
                  entity_id: number.max_charge_current
              - service: logbook.log
                data:
                  message: Setting Max Charge to 35A
                  name: Max Charge
mode: single

The next thing is to allow the batteries to reach minsoc (10%) and stay there for a few hours, for most people this happens anyway, but if you could allow your pack to run to 10% and then not charge it for a few hours it will help them bottom balance - you will sometimes see the BMS do a short low power maintenance charge ~1kw that really helps at the bottom end.

If you can run it like that for a few days and see if the pack improves, if it does great (most do) - but if not you’ll need to raise it with your installer or FoxESS direct and let them diagnose.
StealthChesnut
Posts: 21
Joined: Mon Oct 17, 2022 2:31 pm

Thanks Dave.

My installer referred it on to Fox for me. Had a quick chat with them, chap there logged in, took a look and has done a long slow charge over the course of a day.

At the moment it seems to all be ok again now, but in the Home Assistant stats the BMS kWh Remaining figure only reaches 7.5 kWh at most now. This has been gradually and very slowly deteriorating, but it seems low for 4 packs that are only 2 years old for the oldest 2.

What is a normal min SOC? It's been 15% on my system. I'll put your automation in - thanks for that!
Creator of the HA-FoxESS-Modbus Integration for Home Assistant

6.7kW 18 panel East-West split solar array
H1-5.0 with 4x HV2600 Battery Storage
Dave Foster
Posts: 820
Joined: Thu Oct 13, 2022 7:21 pm

Fingers crossed it performs ok again now 👍

Now it’s warming up I would definitely set them to 10%, they are warrantied for 90% depth of discharge and it’s near the bottom where the pack does some self balancing so you have everything to gain.

If your pack is in a cold place and not insulated, in the colder months it’s better to raise it to 15% in case the temp gets too low to allow it to charge (low single digits down to 0C), otherwise leave it at 10%.
StealthChesnut
Posts: 21
Joined: Mon Oct 17, 2022 2:31 pm

Thanks Dave.

The battery stack is in a garage, so while it's not heated, it doesn't go below 0C, and very rarely goes below 5C (didn't this winter). I am looking at getting a server rack / cabinet, with some fans, so I can ventilate in warmer months and keep them a little warmer in colder months.

Looking at the charge profile last night I'm still seeing SoC jumps of over 50% in 5 mins. I did see that a year ago you mentioned to Luke about splitting the stack into v1 and v2 groups, charging them both to 100% separately, then letting the pack fully discharge/charge to help the BMS reset where it thinks the limits are. Is it better to have the stack at 10/50/100% before splitting, do you know?
Creator of the HA-FoxESS-Modbus Integration for Home Assistant

6.7kW 18 panel East-West split solar array
H1-5.0 with 4x HV2600 Battery Storage
Dave Foster
Posts: 820
Joined: Thu Oct 13, 2022 7:21 pm

StealthChesnut wrote: Fri Mar 08, 2024 2:15 pm Thanks Dave.

The battery stack is in a garage, so while it's not heated, it doesn't go below 0C, and very rarely goes below 5C (didn't this winter). I am looking at getting a server rack / cabinet, with some fans, so I can ventilate in warmer months and keep them a little warmer in colder months.

Looking at the charge profile last night I'm still seeing SoC jumps of over 50% in 5 mins. I did see that a year ago you mentioned to Luke about splitting the stack into v1 and v2 groups, charging them both to 100% separately, then letting the pack fully discharge/charge to help the BMS reset where it thinks the limits are. Is it better to have the stack at 10/50/100% before splitting, do you know?
It's frustrating when you have these nagging problems, the advice to split the packs came from a German FoxESS dev team member who were looking at a similar problem, I don't think it matters particularly what the SoC is when you do it, as long as you do a full cycle all the way up to 100%, down to 10% and back up to 100% - Better to start with the V2's first, get those cycled then switch to the V1's and charge them, then rebuild in the original order V2's first - quite a lot of messing about but quite a few people report this as successful.

Probably better if you let them do a few cycles with the minsoc at 10% but in all honesty if that persists I would be sorely tempted to raise a ticket direct to Fox and ask them to review your pack, they offer some solid guarantees and if your pack isn't self healing it's possible it could be a dodgy cell - it's likely they will ask you to do some of the things like slow charge, pack splitting etc.. so you may be better to do it under their support rather than repeat it.
Dave Foster
Posts: 820
Joined: Thu Oct 13, 2022 7:21 pm

Just a quick one whilst i'm thinking about it - Tony has written some handy scripts that provide some very useful and visual information about your battery pack - I successfully used it to demonstrate a fault in a single cell for one user (Fox now replacing in warranty).

Have a look at this link https://github.com/TonyM1958/FoxESS-Clo ... 0Vzw7fziLw

If you run 'battery.ipynb' around the time your pack is 'jumping' you should hopefully see which batteries / cells are responsible for it
Post Reply