From 7f788e4ace73dc846bccda16c54c405b1c8b6d64 Mon Sep 17 00:00:00 2001 From: andig Date: Mon, 16 Nov 2020 15:44:30 +0100 Subject: [PATCH] Ignore invalid charge estimates --- vehicle/vw/impl.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/vehicle/vw/impl.go b/vehicle/vw/impl.go index 5f2c36959..7eaed1455 100644 --- a/vehicle/vw/impl.go +++ b/vehicle/vw/impl.go @@ -41,12 +41,17 @@ func (v *Implementation) ChargeState() (float64, error) { func (v *Implementation) FinishTime() (time.Time, error) { res, err := v.chargerG() if res, ok := res.(ChargerResponse); err == nil && ok { - var timestamp time.Time - if err == nil { - timestamp, err = time.Parse(time.RFC3339, res.Charger.Status.BatteryStatusData.RemainingChargingTime.Timestamp) + rct := res.Charger.Status.BatteryStatusData.RemainingChargingTime + + // estimate not available + if rct.Content == 65535 { + return time.Time{}, api.ErrNotAvailable } - return timestamp.Add(time.Duration(res.Charger.Status.BatteryStatusData.RemainingChargingTime.Content) * time.Minute), err + var timestamp time.Time + timestamp, err = time.Parse(time.RFC3339, rct.Timestamp) + + return timestamp.Add(time.Duration(rct.Content) * time.Minute), err } return time.Time{}, err