I think it could be more direct to focus on the actual energy passed to/from the battery, relative to used SOC. By computing a "virtual SOH" value every week or workday I hope any hidden pattern will show up. We have enough knowledge about the BMS info by now. My suggestion is:
Use an OBD2 reader to get the following info:
- SOC(t) (Total SOC for battery)
- SOC(d) (Displayed SOC)
- CCE (Cumulative Charge Energy)
- CDE (Cumulative Discharge Energy)
Use two samples and compute:
Used energy E = (CDE2-CDE1) - (CCE2-CCE1)
SOH(t) = E / (SOC(t) diff) / Total Capacity (30kWh)
SOH(d) = E / (SOC(d) diff) / Official Capacity (27kWh)
The main benefit is that no range- or energy consumption parameters will matter.
I already have 5 days statistics
based on my 100km commute:
Mon: SOC=54/58 E=15.6kWh => SOH=96.3/99.6
Tue: SOC=54/58 E=15.3kWh => SOH=94.4/97.7
Wed: SOC=54.5/58.5 E=15.4kWh => SOH=94.2/97.5
Thu: SOC=56/60 E=16.4kWh => SOH=97.6/101.2
Fri: SOC=55/59 E=16.4kWh => SOH=99.4/103.0
Over time we should see battery deterioration reflected in these values, and also if the BMS has any compensation built in for the displayed SOC.
This may already be seen in this limited data; If I use 29 kWh for total capacity instead of 30 kWh, the SOH values are very close to each other, so maybe
my battery has lost 1 kWh, but I can still use 27.