Sudden, unexplained drop in SoC

25 comments started 2025-03-24 last 2025-03-26
Home AutomationGivEnergy ProductsAC CoupledHome Assistant
W
#1 Weasel

Hi

I have just noticed that earlier this morning, my 13.5kWh AIO experienced a drop in SoC from 37% to 22% in 30 minutes starting at around 07:50. This equates to an average load of about 4kW for this half-hour period and all my graphs show that there was only the usual load of around 1kW for this period. The battery temperature was around 14degC and the outside temperature around 6.7degC.

Apart from running me closer than I prefer to empty, this sudden drop has confused predbat and resulted in some unexpected import at day-rates. I am on Cosy Octopus, so expect some importing util the next cosy period at 13:00 because the sun is hiding behind some clouds and only generating 300W at the moment. I currently have predbat set with best_soc_min at 4.0 since I rarely need more than half my battery between cosy period, so having a 4kWh buffer in case of power cuts seems sensible to me.

Putting aside the slight extra cost of the electricity this morning, what could cause a sudden drop in SoC? Is it time for a battery calibration? - I have not done one since installation last June

D
#2 DD

Weasel Apart from running me closer than I prefer to empty, ... I rarely need more than half my battery between cosy period

How low do you typically allow SoC to fall? Don't know about AIO, but perceived wisdom is to regularly fully run down then charge battery, to allow BMS to visit the extremes, since it's hard to gauge SoC from voltage over most of the range. There's a video on the GE YouTube channel to this effect.

W
#3 Weasel

Thanks - my battery has typically 50% or more SoC. I have removed my best_soc_min value in predbat. This will prevent importing this morning and will allow predbat to use all the battery. I appreciate that this removes my safety net, but if needs must etc

W
#4 Weasel

Weasel
I have now watched the youtube video and have set a manual forced discharge in predbat so that my battery is empty at 13:00 when my next cheap rate starts. Henceforth I will do this every week or two.

#5 PianSom

Weasel
Have you updated to BMS12? I have not regretted for one moment the upgrade - best version I have had in 18m.

W
#6 Weasel

PianSom yes I upgraded pretty much as soon as it became available.

If all i need to do is force a discharge every couple of weeks, then I can live with that just by setting a few forced discharge slots in predbat. In summer, on sunny days, I won't even notice and otherwise, I can set the discharge for 2am, in which case I won't notice unless this coincides with a power cut

B
#7 Blasteh

Considering your battery was installed last June and you're on BMS12 means that you haven't run a calibration since installing the latest firmware... probably best to do that first.

W
#8 Weasel

Blasteh I will schedule a calibration for some time in the next couple of days

W
#9 Weasel

A quick follow-up question. Does predbat play nicely with the scheduled calibration setting on the GE web dashboard?

I can see that I can schedule a calibration on the GE web page, but am unsure whether I ought to temporarily put predbat into monitor mode first and re-enable it after the calibration has finished

B
#10 Blasteh

Weasel I always stick it on read-only or monitor mode when doing a calibration, just in case.
Just remember to put it back to regular mode afterwards

W
#11 Weasel

Blasteh That's what I thought. I will top up between 22:00 and 00:00 (cosy period) and then put predbat in monitor mode. I have the calibration timed for 04:00 to coincide with my 04:00 to 07:00 cosy period.

I will set my alarm for 06:00 to wake me up and enable predbat to hopefully get some charge in the battery before 07:00. It looks like my solar panels will be supplying the house need by about 9am, so half an hour of charging at full beans should be enough. Fingers cross that the calibration is done by 06:30 otherwise I might have to pay something other than cheap-rate for my power (Oh the horror!! 🙂 )

W
#12 Weasel

Weasel In fact I have set up the 22:00 to 00:00 in the 1st charging slot and already put predbat into monitor mode. I no longer have to stay up until midnight, and at my age, that's a good thing 🙂

B
#13 Blasteh

Weasel The calibration dumps your battery first before charging, you'll want to start the calibration possibly 2 hours before the cheap rate, depends on what the state of charge is at the time.
Don't forget it takes a while to reach 0% as the output lowers when the SoC is lower.

D
#14 DD

Weasel I will set my alarm for 06:00 to wake me up and enable predbat to hopefully get some charge in the battery before 07:00.

Calibration should leave battery fully charged. I think the very last bit may charge very slowly, since it's trying to find charge that maximises voltage without going over. Won't be drawing much, but obviously can't supply power while it's charging

W
#15 Weasel

DD thanks for the tip, it's good to know that once recalibrated, the battery will be at 100%. I will report back when all is finished

G
#16 geoffreycoan

Weasel Does predbat play nicely with the scheduled calibration setting on the GE web dashboard?

Predbat should automatically detect that the inverter has started a calibration and will stop trying to control the inverter whilst it is running
https://springfall2008.github.io/batpred/what-does-predbat-do/#predbat-status

Status will change to "calibration"

Weasel I will set my alarm for 06:00 to wake me up and enable predbat to hopefully get some charge in the battery before 07:00.

You could always just create an automation to take predbat out of read only mode, but shouldn't need it as above.

alias: predbat read only turn off
description: ""
triggers:
  - trigger: time
    at: "12:52:00"
conditions: []
actions:
  - action: switch.turn_off
    target:
      entity_id: switch.predbat_set_read_only
    data: {}
mode: single
W
#17 Weasel

geoffreycoan thank you sir. I might risk putting predbat back into action before going to bed

W
#18 Weasel

geoffreycoan I re enabled predbat and set the calibration for 4am. I have a notification that the calibration started and I can see from Octopus that I am exporting. At 04:45, My GE app shows the battery at 29%, down from the 65% it was at 4am. I guess it will be fully discharged by a little shy of 6am, therefore fully charged by 8am. The will mean about 6kWh will be imported as my Cosy day-rate, costing me about 70p or so extra over the cosy rate. I think I can live with that.

Edit at 05:00: i have just checked the predbat is not interfering, and this appears to be the case. Predbat shows no outwards signs of angst and the dashboard is showing the correct current SoC and approximate cost. The battery is down to 18% or so.

Edit at 05:05: battery showing 9% so i figure that the calibration was quite some way off to drop 20% in 20 minutes

W
#19 Weasel

Charging commenced at 05:47. It took about 30 minutes to wring the last 2% from the battery as the discharge level dropped from 6kW to 3, then 1 and then 559W. Overall, the timing was about where I expected and I am still thinking that charging will be complete somewhere around 8:15

D
#20 DD

Weasel you can reduce the charging power, then increase it later when the solar can contribute.

W
#21 Weasel

DD i did not realise this, never mind.

The battery has just finished charging and all is well with the world. I will summarise my lessons learned later

W
#22 Weasel

I have complied this missive as much as an aide memoire as to advise others, but if it helps anybody who is new to this lark, then great.

What I learned from my very first scheduled battery calibration...

  • The calibration starts with a full discharge to 0% and then performs a charge back to 100%
  • It takes quite a while to discharge the last few % of the battery because the discharge rate slows down
  • Similarly the charge rate slows as the battery approaches 100%
  • For me, the charging time was a shade under 3 hours
  • The forced discharge means that I will export any power not consumed by the house (I knew this, but it is worth stating here)
  • There is no need to quiesce predbat - it plays nicely with calibration

What I can do differently next time

  • Bring forward the calibration time so that more of the charging period is at off-peak rates. I was unsure whether the calibration was charge-discharge-charge or just discharge-charge. Now I know for sure that it is the latter.
  • In summer I should be able to calibrate during the day when my house needs are met by the solar panels
  • In winter, I will try to choose my calibration times to use my overnight cosy period (04:00-07:00) for charging the battery. I know I am unlikely to get this exactly right, but lack the enthusiasm to try and guesstimate to the minute how long my battery will take to discharge. Nor do I think that lowering the charging rate will be of much benefit. I am happy to sacrifice a few pennies to the electricity gods to ensure that the calibration happens as quickly as possible and normal service can be resumed.

My preference is for summer calibration so that the solar can power the house if anything goes wrong. An unfortunately timed power cut during a calibration in winter leaves the house at greater risk of losing power due to a low battery SoC.

I also plan on doing a periodic forced discharge because my battery is generally charged to 100% at least once per day and rarely goes below 30% - even with some of the more eccentric plans thrown up by predbat 🙂 Again, these will be overnight during winter and on sunny days otherwise

G
#23 geoffreycoan

Weasel Nice summary, thanks !

Couple of other things I would add/suggest based on my own experience of a calibration when I last had the system recommissioned:

  • once kicked off you can't stop/cancel or pause the calibration, but what you can do is change the charge and discharge rates. I used this to good effect with a calibration that started in the morning on a not particularly sunny day; I dropped the discharge rate right down to preserve the SoC, then released the discharge during the evening to power the house, then did the overnight charge on the cheaper rates. I have a Gen 1 2.6kWh charge rate so can take 4 hours to fully charge my 9.5 battery
  • there are apparently benefits from doing a slower rate charge/discharge calibration, enabling the BMS to recognise more of the battery capacity. I think from memory 30% of normal charge/discharge rates has been suggested
  • if you do a calibration in the summer the battery will calibrate with a greater capacity than if you do the calibration in winter when its cold. For this reason I am holding off doing a calibration of my battery

Would be interesting to see how your battery remaining capacity 'sensor.givtcp_xxx_battery_remaining_capacity' has changed after the calibration vs the design capacity 'sensor.givtcp_xxx_battery_design_capacity'

W
#24 Weasel

geoffreycoan Thanks for the response
I must cogitate some more on the idea of slowing the charge and discharge rates during calibration. My 13.5 AIO can do 6kW each way, so reducing this to 2kW will extend the calibration cycle to 12+ hours which might be fine in the summer on a sunny day. In the winter, having 3 cheap rate periods each day complicates things a bit, but we are only talking about a few pennies difference overall (provided I avoid 16:00-19:00) and only once or twice per year

I can see why calibrating in the summer would give a greater capacity, but I would prefer to see a lower capacity and be able to achieve it rather than have the BMS showing a higher capacity than might be achieved. Again, a bit of moot point since my battery rarely goes below 50% - it was sized for when Cosy Octopus did not have a 22:00-00:00 cheap rate. I could skip the 22:00-00:00 period by a manual predbat tweak each day - or occasionally as part of a deep discharge cycle.

The battery design capacity has remained at 13.97 kWh (sensor sensor.givtcp2_battery_stack_1_stack_design_capacity)
The battery capacity has remained at 16.48 kWh (sensor sensor.givtcp2_xxxxxxxxxx_battery_capacity_kwh)

W
#25 Weasel

A quick update:
I deliberately decided to skip last night's 22:00-00:00 cheap rate charging session meaning my house was running on battery from 16:00. There was also a little generation from my solar panels.

As expected the battery SoC showed a steady decline until about 02:30 when the battery was at about 22% ie. A drop of about 7.5% per hour. During next 30 minutes, the SoC dropped by 5% showing distinct knuckle, before resuming it's earlier trajectory, ending up at 8% by 4am when the next cosy period started.

I am now discharging until 04:30 and the battery is already at the 4% limit. At 04:30, I hope to be charging the battery and expect to get a full charge by 07:00. I say "hope to be" because predbat is currently not predicted to start charging until 05:00

In summary, my battery discharge curve now has a slight kink in it at around 22%. The kink I discovered before recalibration happened at around 40% and was a sudden drop of 15%, so it is fair to say that the recalibration has been beneficial and I am happy to leave things be.

I intend to do a deep discharge of the battery every week or so, and will probably recalibrate sometime over the summer