From c5c07da724e7b5d94210d6ef551b8ecf25c9be11 Mon Sep 17 00:00:00 2001 From: PanNwt <72402991+PanNwt@users.noreply.github.com> Date: Fri, 18 Jun 2021 08:56:13 +0200 Subject: [PATCH] Reduce api calls for OVMS vehicle (#1159) Co-authored-by: PanNwt --- vehicle/ovms.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vehicle/ovms.go b/vehicle/ovms.go index bf94a97a6..ecb36025e 100644 --- a/vehicle/ovms.go +++ b/vehicle/ovms.go @@ -32,6 +32,7 @@ type Ovms struct { *embed *request.Helper user, password, vehicleId, server string + interval time.Duration chargeG func() (interface{}, error) } @@ -62,6 +63,7 @@ func NewOvmsFromConfig(other map[string]interface{}) (api.Vehicle, error) { password: cc.Password, vehicleId: cc.VehicleID, server: cc.Server, + interval: cc.Cache, } v.chargeG = provider.NewCached(v.batteryAPI, cc.Cache).InterfaceGetter() @@ -143,7 +145,8 @@ func (v *Ovms) batteryAPI() (interface{}, error) { err = v.disconnect() } - if err == nil && resp.MessageAgeServer > 59 && ovmsConnected { + messageAge := time.Duration(resp.MessageAgeServer) * time.Second + if err == nil && messageAge > v.interval+time.Minute && ovmsConnected { err = api.ErrMustRetry } }