Loadpoint: don't error odometer if vehicle asleep (#16283)

This commit is contained in:
andig 2024-09-23 09:38:33 +02:00 • committed by GitHub
parent 50bd2f744f
commit 5733b3d603
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 2 deletions

View file

@ -7,5 +7,10 @@ import (
)
func AcceptableError(err error) bool {
return errors.Is(err, api.ErrAsleep) || errors.Is(err, api.ErrMustRetry)
for _, e := range []error{api.ErrAsleep, api.ErrMustRetry, api.ErrNotAvailable} {
if errors.Is(err, e) {
return true
}
}
return false
}

View file

@ -9,6 +9,7 @@ import (
"github.com/evcc-io/evcc/api"
"github.com/evcc-io/evcc/core/keys"
"github.com/evcc-io/evcc/core/loadpoint"
"github.com/evcc-io/evcc/core/session"
"github.com/evcc-io/evcc/core/soc"
"github.com/evcc-io/evcc/core/vehicle"
@ -304,7 +305,7 @@ func (lp *Loadpoint) vehicleOdometer() {
lp.updateSession(func(session *session.Session) {
session.Odometer = &odo
})
} else if !errors.Is(err, api.ErrNotAvailable) {
} else if !loadpoint.AcceptableError(err) {
lp.log.ERROR.Printf("vehicle odometer: %v", err)
}
}