diff --git a/vehicle/seat/cupra/provider.go b/vehicle/seat/cupra/provider.go index d6673e2f16..bb57668a99 100644 --- a/vehicle/seat/cupra/provider.go +++ b/vehicle/seat/cupra/provider.go @@ -84,6 +84,14 @@ func (v *Provider) Range() (int64, error) { return int64(res.Engines.Primary.Range.Value), err } +var _ api.VehicleOdometer = (*Provider)(nil) + +// Odometer implements the api.VehicleOdometer interface +func (v *Provider) Odometer() (float64, error) { + res, err := v.statusG() + return float64(res.Measurements.MileageKm), err +} + var _ api.VehicleClimater = (*Provider)(nil) // Climater implements the api.VehicleClimater interface @@ -97,11 +105,7 @@ var _ api.SocLimiter = (*Provider)(nil) // TargetSoc implements the api.SocLimiter interface func (v *Provider) TargetSoc() (float64, error) { res, err := v.statusG() - if err == nil { - return float64(res.Services.Charging.TargetPct), nil - } - - return 0, err + return float64(res.Services.Charging.TargetPct), err } var _ api.VehicleChargeController = (*Provider)(nil) diff --git a/vehicle/seat/cupra/types.go b/vehicle/seat/cupra/types.go index 6e403bb244..a65cb4a797 100644 --- a/vehicle/seat/cupra/types.go +++ b/vehicle/seat/cupra/types.go @@ -37,4 +37,7 @@ type Status struct { ProgressBarPct float64 } } + Measurements struct { + MileageKm float64 + } }