My Givenergy battery stopped working nearly a month ago. After unsuccessfully reaching out to my installer, who looks like he's also busted, I found Solar Tech Support on a Google search. They fixed my issue in a couple of hours. Any frustrated Givenergy customers, I highly recommend these guys.
Did the new batteries actually work? Proving a storage upgrade with calculus
- Real customer data
- Measured, not guessed
- The maths shown in full
If you've just had storage added — or yours doesn't seem to last like it used to — a single full-discharge test tells you exactly how much usable capacity you really have. Measured, not guessed.
Ask about a capacity testRemote diagnosticWhat a fantastic service. Had my fault diagnosed within minutes and actually managed to resolve the issue remotely within a few minutes more. This guy is like a “Solar Batman” helping consumers fix their problems using his extensive industry knowledge and expertise. Outstanding service. Thank you so much.
Ronald was great to help me sort out my giv energy inverter issue since company has gone bankrupt in april 26.
Massively massively recommended. We had a big battery array (49kW across three phases) put in four years ago. c £35k cost. It’s been a total nightmare for many reasons, not least 1. our installer being totally useless and unresponsive and 2. Givenergy, our battery supplier, going bust. Long story short it had never worked anywhere near properly despite countless hours on phones and emails; the best we’d achieved was one third of the batteries working. Rather than write it off, I asked a PM friend to try to source someone who could come on site and review and revive the system. He found Solar Tech Support and Ron. Ron assured us he was the man to get it going again. After so many years of pain, I was not convinced but, true to his word, five hours later it was up and running. Lovely chap, super knowledgeable with a support team to lean on who are also clearly super technical. I honestly didn’t think there was much chance of getting this array going ever again so was absolutely delighted when Ron and team pulled it off. Bravo!
Made contact for assistance with my GiveEnergy battery that wasn't discharging. Ronald looked at my issue the same day, identified the root cause with a clear explanation of what was going on along with some options on how to remediate the issue. So far my battery is now working and keeping my fingers crossed that it stays this way. Ronald is a very experienced and knowledgeable engineer and I would recommend.
I sent a message on their website regarding a problem I have on my Givenergy system. Although not supplied by Ronald, I thought it was worth an email. Within the hour on a Saturday, he phoned and we discussed the problem. He logged in remotely and gave excellent advice. I'm too far away for his on-site help but he did diagnose the problem and was happy also to chat through my thoughts about an upcoming solar/battery install I'm planning. Great bloke.... if only he was nearer!
Mike had two extra battery packs added to his storage system, and asked a fair question: are they actually doing anything? You can't answer that from the percentage on the app — it swings from 0 to 100% no matter how much real capacity sits behind it. So we did what an engineer does. We ran one full discharge, measured how much energy actually came out, and compared it to what four healthy packs should give. The tool for turning a wiggly power graph into a single, defensible number is the same definite integral you met in first-year calculus. Here is the method, the maths in full, and Mike's result.
The question the app can't answer
After you have storage added, the obvious instinct is to open the app and look at the battery percentage. The problem is that the percentage tells you almost nothing about capacity. State of charge is a normalised gauge: the battery management system (BMS) scales it so that "full" is 100% and "empty" is 0%, whatever the true amount of energy in the pack. Lose half a pack and the gauge still climbs to 100% at the top and falls to 0% at the bottom — it just gets there faster.
The only honest way to test capacity is to measure energy directly: charge to full, run the system flat under load, and count the kilowatt-hours that come out. Mike's system is two original packs — 8.2 kWh and 5.2 kWh — plus the two freshly-added 2.6 kWh packs. Four healthy batteries should deliver a specific, predictable amount of energy. If the new pair is doing nothing, the total falls short in a way we can calculate in advance.
Power is a rate; energy is the total
First, the distinction the whole method rests on. Power (in watts) is an instantaneous rate — how fast energy is flowing right now. Energy (in watt-hours) is the accumulated total. If the power were constant, you would just multiply: a steady 3 kW for 2 hours is 6 kWh — the area of a rectangle, base times height.
But a real discharge is not a rectangle. It holds a plateau near the inverter's maximum, then steps down as the cells empty. The "height" of the graph changes with time, so there is no single number to multiply by. To get the total energy you need the area under a curve whose height varies — and the exact tool for that is the definite integral:
In plain words: the total energy E is the integral of power P over the discharge, from the start (t = 0) to the end (t = T). The integral sign is, quite literally, an elongated "S" for "sum" — which is the clue to how we actually compute it.
From Riemann sums to the integral — the bit I enjoy
Here is the catch: the monitoring portal does not hand you a tidy formula P(t) to integrate. It hands you readings at instants in time. So we rebuild the area the way the integral is defined in the first place — as a limit of sums. Slice the discharge into thin strips of width Δt, take the power in each strip, and add up power times width:
That is a Riemann sum. Make the strips thinner and, for any well-behaved signal, the sum converges on the true area. That limit is the definition of the definite (Riemann) integral — ever-finer pieces melting into the smooth area under the curve:
Ordinarily the next move would be the Fundamental Theorem of Calculus: find an antiderivative of P(t) and evaluate it at the two endpoints. But the portal never hands us a formula for P(t) — only samples — so there is nothing to antidifferentiate. That is exactly why we compute the area numerically instead.
We can do better than flat-topped rectangles for free. Instead of pretending the power is constant across each strip, join consecutive readings with a straight line. Each strip becomes a trapezium, and its area is the average of the two end heights times the width:

Why this is exactly the right tool here: the trapezoidal rule is exact whenever the signal is a straight line across the strip. Mike's discharge is a near-flat plateau for most of its length, so over that stretch the approximation is essentially perfect. The only real curvature is at the step-downs near the very end, and those are short.
And on the smooth stretches the error is not a mystery — it has a known shape. Wherever the power varies smoothly, the composite trapezoidal rule carries an error bounded by:
Two useful things fall straight out of that. The error shrinks with the square of the strip width — halve Δt and you quarter the error — and it is proportional to P″, the second derivative: the curvature of the line. Along the long, near-straight plateau P″ ≈ 0, so that whole section is captured almost exactly.
The one place that bound does not formally apply is at the sharp corners, where the power steps down and the second derivative is effectively undefined — it would be wrong to claim the formula holds there. But the corners are handled by where we put the samples: drop a reading directly on each corner, and every segment between two readings is itself almost a straight line — precisely the case the trapezoidal rule integrates with no error at all. So the corners, far from wrecking the estimate, are pinned down exactly. That is why a figure read by eye off this graph is trustworthy to within a few percent — and why we still quote a band rather than pretend to a single exact number.
An aside for the control-theory nerds: the percentage is an integral too
While we are here — the dashed state-of-charge line on these graphs is itself the output of an integration. The standard way a BMS tracks charge is coulomb counting: start from a known state and integrate the current flowing in and out over time.
It is a pure open-loop integrator, and that is its weakness: any small bias in the current measurement gets integrated along with the real signal, so the estimate drifts over hours and days. It is the textbook problem of integrating a noisy measurement without feedback. Real systems treat the 0% and 100% rails as anchors — fixed points where they re-zero the integrator — and the better ones blend in a voltage-based estimate, a simple observer, to pull the drift back out. Which is exactly why, for a capacity test, we trust the energy integral of measured power over the reported percentage. One is a direct measurement of energy leaving the cells; the other is an estimate that has been quietly accumulating its own error.
How we run the test
The procedure is deliberately simple. Charge to 100%. Put the house on the battery and let it discharge in one clean run down to 0%, logging Battery Power throughout. Then sample the curve at the points where it actually changes — the corners are what matter, the flat stretches you can take in a single long strip — and apply the trapezoidal rule.
One detail stops the result being argued with. The quantity the portal labels Battery Power is measured at the battery terminals, on the DC side. So its integral is the energy that left the cells — not the smaller amount that reached the house after the inverter took its cut. That means we can compare it directly with the batteries' usable kWh, with no fudge factor for inverter efficiency. Had we measured on the AC side instead, we would have to gross the number up for conversion losses, and the conclusion below would only get stronger.
Mike's numbers

Running the trapezoidal rule over the logged points gives a measured total of about 17.8 kWh, with a sensible reading band of 17.2–18.5 kWh.
Now the yardstick. Usable capacity is each pack's nameplate multiplied by the depth of discharge (DOD) it is allowed to use:
- 8.2 kWh pack at 100% DOD = 8.20 kWh
- 5.2 kWh pack at 80% DOD = 4.16 kWh
- 2.6 kWh pack at 80% DOD = 2.08 kWh (the first new one)
- 2.6 kWh pack at 80% DOD = 2.08 kWh (the second new one)
- Total usable, all four healthy = 16.5 kWh (nameplate 18.6 kWh)
So 17.8 kWh measured is about 108% of the 16.5 kWh you would expect from four healthy packs — full capacity, and a shade more, because the system ran the cells slightly deeper than the conservative 80% figures assume.
And here is the clincher, the part that actually settles whether the new packs work. The two original packs can supply at most 13.4 kWh between them — and that is only if you drain them stone dead, well past their normal limits. Mike's system delivered 17.8 kWh: about 4.4 kWh beyond anything the originals could produce on their own. That surplus has to come from somewhere, and the two new 2.6 kWh packs are rated at exactly 4.16 kWh usable between them. The arithmetic closes almost to the decimal. Had the new pair been dead, the system would have hit 0% at around 16:40 — more than two hours sooner — and handed over only about 12.4 kWh.
All four packs are pulling their weight. The two newly-added 2.6 kWh modules are delivering their full share — the measured energy is roughly 4.4 kWh more than the original two packs could ever provide alone, which is precisely what two healthy new packs should add.
Why this beats "it looks fine on the app"
A capacity test like this is worth running after any battery addition, or whenever a system "doesn't seem to last as long as it used to". The app's percentage genuinely cannot see a weak or idle pack — it normalises the very thing you want to measure. The maths can, and it needs nothing more than the data the system already records plus one full cycle to look at. Power in, integrate over time, compare to what four healthy packs owe you. The curve does not lie.
Frequently asked questions
Want to know if your battery is really delivering?
Tell me what you have and what changed — a recent battery addition, or a system that feels like it does not last. A full-discharge capacity test measures what is actually there.
We use cookies to measure traffic and improve our ads — including sharing limited, hashed details with Meta (Facebook) and Google to measure ad performance. Accept, or decline for essential cookies only. Privacy policy
Got a solar fault or need a quick answer? Drop us a message — we usually reply within a few minutes. Mon–Fri, 9am–7pm.