In any battery where cells are connected in series, the overall performance of the battery is limited by the performance of the weakest cell. GivEnergy batteries have a BMS with active balancing, which keeps the cells in step, but can't perform miracles. When one cell fails, the whole battery will fail.
By my understanding, GE have been selling batteries with a 10-year warranty since 2018, so all batteries are currently covered by warranty until at least 2028. After the warranty expires I guess we will be on our own.
When a battery eventually fails, the only choices are to replace the entire battery (or the entire system) or just replace one cell that has failed. Replacing a cell is a specialist job, but it is likely that repair businesses will offer this service once a demand exists.
It is therefore useful to know if one cell is underperforming prior to the battery failing.
All GE systems send cell voltage data to the portal every 5 minutes. Unfortunately GE only make this data accessible to their support staff, it is not accessible by customers. Customers can use GivTCP to record cell voltage history data, but analysing it is not so simple. Plotting a short history can yield a pretty rainbow, but doesn't tell the whole story because the rainbow changes from cycle to cycle. Plotting a long history typically results in an unintelligible mess.
It is worth noting too that the cell voltage readings have the (lack of) accuracy similar to other GivEnergy figures. The reading can change even when the cell voltage doesn't. This "noise" in the readings needs to be filtered out.
So I started recording a history of the cell voltages from my own battery, and trying to find a good algorithm to analyse them. The algorithm I settled on just reads through the history comparing numbers and doing some adding and subtracting, eventually coming to a "kind of total" for each cell. This led me to realise there is no reason to record the history, the "totals" can simply be accumulated in real time.
I have now incorporated this algorithm into my android app, converting the final "totals" into percentages for a more readable result. I don't really know how well it works, and it is likely going to need some improvements.
This is the thread where you can post your results (particularly interested if you have an older battery), and provide feedback that I can use to improve the algorithm.
















































