dusball
New Member
After having my Seplos BMS V 3 now for a couple of months - I've determined the SOC calculation the system gives is completely unreliable. Since I feed my data into HomeAssistant I've developed a short equation to give a better indication of state of charge based upon batter voltage. There's probably a better one out there available but until find one that uses more of a logarithmic calculation for the end curves this will have to do. Since the discharge and charge curve is relatively flat a formal is easy to extrapolate for the flat areas of the curve. It may could be tweaked but this give a pretty close approximation if you look at the graphs others have provided. Sharing here in case others have the same frustration as me.
Solve for Y to get state of charge with Voltage- Solve for X to get Voltage from SOC,
for state of charge between 0 and 14%
for state of charge between 15 and 99%
for state of charge between 99 and 100%
Not perfect and if you're using HA- you'll want to use filters "limits" on the end points to ensure it doesn't go past 0% and 100%
My Value Template for HA:
{{(((float(states.sensor.seplos_bms_0_pack_voltage.state) / 16 * 50.0 ) - 158.25 ) / 0.1) | round(2) }}
Solve for Y to get state of charge with Voltage- Solve for X to get Voltage from SOC,
for state of charge between 0 and 14%
0-14 | -9.5x + 0.5y + 23.75 = 0 |
for state of charge between 15 and 99%
15-99 | 50x - 0.1y - 158.25 = 0 | Example X(soc) =( (50 * Voltage) + 158.25 ) / .01 |
for state of charge between 99 and 100%
99 | x - 0.275y + 23.85 = 0 |
Not perfect and if you're using HA- you'll want to use filters "limits" on the end points to ensure it doesn't go past 0% and 100%
My Value Template for HA:
{{(((float(states.sensor.seplos_bms_0_pack_voltage.state) / 16 * 50.0 ) - 158.25 ) / 0.1) | round(2) }}