Merge pull request #527 from premultiply/patch-5

Increase SoC estimator accuracy
This commit is contained in:
andig 2020-12-17 08:25:03 +01:00 • committed by GitHub
commit 449ffd75ab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -111,7 +111,7 @@ func (s *SocEstimator) SoC(chargedEnergy float64) (float64, error) {
if socDelta != 0 || energyDelta < 0 { // soc value change or unexpected energy reset
// calculate gradient, wh per soc %
if socDelta > 1 && energyDelta > 0 && s.prevSoC > 0 {
if socDelta > 2 && energyDelta > 0 && s.prevSoC > 0 {
s.energyPerSocStep = energyDelta / socDelta
s.virtualCapacity = s.energyPerSocStep * 100
s.log.TRACE.Printf("soc gradient updated: energyPerSocStep: %0.0fWh, virtualCapacity: %0.0fWh", s.energyPerSocStep, s.virtualCapacity)