From 84a74480cdd97c9be478d4bdbc8bace3922ac924 Mon Sep 17 00:00:00 2001 From: andig Date: Sat, 27 Sep 2025 14:56:30 +0200 Subject: [PATCH] Polestar: fix range/odo panic --- vehicle/polestar/provider.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/vehicle/polestar/provider.go b/vehicle/polestar/provider.go index cb2c35df9..11ba072a1 100644 --- a/vehicle/polestar/provider.go +++ b/vehicle/polestar/provider.go @@ -63,6 +63,9 @@ var _ api.VehicleRange = (*Provider)(nil) // Range via car telemetry func (v *Provider) Range() (int64, error) { res, err := v.telemetryG() + if len(res.Battery) == 0 { + return 0, api.ErrNotAvailable + } return res.Battery[0].EstimatedDistanceToEmptyKm, err } @@ -71,6 +74,9 @@ var _ api.VehicleOdometer = (*Provider)(nil) // Odometer via car telemetry func (v *Provider) Odometer() (float64, error) { res, err := v.telemetryG() + if len(res.Odometer) == 0 { + return 0, api.ErrNotAvailable + } return float64(res.Odometer[0].OdometerMeters) / 1e3, err } @@ -79,5 +85,8 @@ var _ api.VehicleFinishTimer = (*Provider)(nil) // FinishTime via car telemetry func (v *Provider) FinishTime() (time.Time, error) { res, err := v.telemetryG() + if len(res.Battery) == 0 { + return time.Time{}, api.ErrNotAvailable + } return time.Now().Add(time.Duration(res.Battery[0].EstimatedChargingTimeToFullMinutes) * time.Minute), err }