Batteries
The percentage on the app is an estimate, and estimates drift
No battery has a fuel gauge, so the state of charge you are shown is calculated, and knowing how it is calculated explains most of the odd behaviour owners notice.
By Daniel Okonkwo4 min read

There is no float in the tank
A fuel gauge measures a physical level. A battery has nothing equivalent. The energy is distributed through the chemistry of every cell, and there’s no direct way to observe how much of it remains, so the figure presented as a percentage is inferred from measurements that only partly correlate with what is left.
The management system does the inferring. It watches voltage, it watches current, it watches temperature, and it maintains a running model of what those observations imply. That model is good. It isn’t a measurement, and the difference between a good model and a measurement is exactly where the odd behaviour comes from.
This is why two batteries of identical size can report themselves quite differently under the same conditions. They are not disagreeing about physics. They are running different estimators.
Counting charge in and charge out
The main technique is coulomb counting, which is as literal as it sounds: integrate the current flowing in and out over time and keep a running total. Over a short period it is accurate and well behaved. Over weeks it drifts, because every small measurement error accumulates in the same direction and nothing in the method corrects it.
Voltage is the obvious correction, and it works better for some chemistries than others. Cells with a voltage that changes steadily as they discharge give a usable reading. Iron phosphate cells have a famously flat discharge curve, which is excellent for the equipment being powered and unhelpful here, because a large swing in remaining energy produces a very small change in voltage.
So the estimator leans on anchor points. A full charge is a reliable anchor, and so is a deep discharge, because at both extremes voltage moves decisively and the system can reset its count. A battery that spends months hovering between a third and two thirds full never touches either anchor, and its estimate quietly wanders.
Cells drift apart, and balancing pulls them back
A battery is many cells in series, and they are never quite identical. Small differences in capacity and self-discharge mean that after enough cycles some cells sit fuller than others, and since they share a series current, the fullest cell reaches its limit first and stops the whole pack.
Balancing is the remedy. Most systems bleed a little charge from the cells that are running ahead, usually near the top of a charge, until the pack is even again. It is slow by design, because doing it quickly would waste energy as heat, and it explains a behaviour owners often report: a battery sitting at ninety-something per cent, drawing a trickle, apparently refusing to finish.
That trickle is doing useful work. A pack that is never allowed to complete a balancing cycle gradually loses usable capacity, not because the cells have degraded but because the weakest one is ending every charge early on behalf of all the others.
Why the numbers you see are already scaled
The percentage shown to an owner is normally scaled to usable capacity rather than nominal capacity. Zero on the display isn’t an empty battery; it is the bottom of the window the manufacturer permits, with a reserve held back to protect cycle life and to keep the electronics alive. The same is true at the top.
That scaling is sensible and it makes cross-comparison harder. Two products can present the identical physical state as different percentages simply because their reserves differ, which is one more reason to compare quoted usable kilowatt-hours instead of anything the app displays.
It also explains the apparent step changes people notice after a firmware update. Manufacturers do revise these windows, sometimes to protect an ageing fleet and occasionally in response to a safety concern, and the visible result is a battery that suddenly reports slightly less capacity than it did last month while nothing physical has changed.
What an owner should actually do about it
Very little, which is the honest answer. Deliberately cycling a battery to its limits in order to recalibrate an estimator is a poor trade, since deep cycles cost cycle life and the estimator will correct itself the next time the system reaches a natural anchor point. Most systems reach one often enough without help.
What is worth doing is distinguishing an estimate problem from a real one. If reported capacity has fallen but the battery still runs the house for as long as it used to at the same loads, the estimate is what changed. If the running time has genuinely shortened across many cycles at similar temperatures, that is capacity fade and it is worth measuring against the warranty threshold.
And keep a modest scepticism about precision. A display reading sixty-two per cent is not claiming to know the state of the pack to within one per cent, whatever the digit suggests. Treat it the way you would treat a car’s range estimate: a good working guide, calculated from assumptions, and occasionally wrong in ways that are entirely explicable.
Common questions
Should I fully discharge the battery to recalibrate it?
Rarely, and not as a routine. A full discharge does give the estimator a clean anchor, and it also spends cycle life and puts the cells at the end of their comfortable range. If a manufacturer recommends an occasional calibration cycle, follow that guidance; otherwise let the system find its own anchors during normal operation.
Why does my battery stop charging just short of full?
Usually because it is balancing the cells, which happens near the top of a charge and deliberately proceeds slowly. It can also be a deliberate limit imposed to reduce calendar ageing, since holding cells at a very high state of charge is one of the conditions that ages them fastest. Both behaviours are the system protecting itself.
Is a sudden drop in reported capacity a fault?
Not necessarily. Recalibration after a long period without a full charge, a firmware change to the usable window, or simply cold weather can all move the number without anything being wrong. A fault looks like a persistent reduction in what the battery actually delivers, observed over many cycles at similar temperatures, rather than a single change in a displayed figure.
Editor, Power Your Roof
Daniel writes the explanatory pieces on solar basics, batteries, bills & tariffs and is unreasonably interested in the detail nobody else checks.





