From cdd2d6870e5ca7531af6e6c09b8b0cd23d9c713f Mon Sep 17 00:00:00 2001 From: lex777777 <84906358+lex777777@users.noreply.github.com> Date: Wed, 7 Jun 2023 11:26:22 +0200 Subject: [PATCH 1/5] Update types.go Add MileageKm (Odometer) --- vehicle/seat/cupra/types.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vehicle/seat/cupra/types.go b/vehicle/seat/cupra/types.go index 6e403bb244..8f08fad390 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 + } } From e75060cd44776ea2fa9561eddcefc9ca6911f246 Mon Sep 17 00:00:00 2001 From: lex777777 <84906358+lex777777@users.noreply.github.com> Date: Wed, 7 Jun 2023 11:28:27 +0200 Subject: [PATCH 2/5] Update provider.go Add Odometer interface --- vehicle/seat/cupra/provider.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/vehicle/seat/cupra/provider.go b/vehicle/seat/cupra/provider.go index d6673e2f16..f84dc5e639 100644 --- a/vehicle/seat/cupra/provider.go +++ b/vehicle/seat/cupra/provider.go @@ -84,6 +84,18 @@ 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() + if err == nil { + return float64(res.Measurements.MileageKm), nil + } + + return 0, err +} + var _ api.VehicleClimater = (*Provider)(nil) // Climater implements the api.VehicleClimater interface From 07894ec0ad20fddf0e19cd4c09b86caa3df4b448 Mon Sep 17 00:00:00 2001 From: andig Date: Wed, 7 Jun 2023 19:22:57 +0200 Subject: [PATCH 3/5] Update provider.go --- vehicle/seat/cupra/provider.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/vehicle/seat/cupra/provider.go b/vehicle/seat/cupra/provider.go index f84dc5e639..2954387891 100644 --- a/vehicle/seat/cupra/provider.go +++ b/vehicle/seat/cupra/provider.go @@ -109,11 +109,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.Measurements.MileageKm), err } var _ api.VehicleChargeController = (*Provider)(nil) From b56352803e25bd045f5b577020be09119d758878 Mon Sep 17 00:00:00 2001 From: andig Date: Wed, 7 Jun 2023 19:24:25 +0200 Subject: [PATCH 4/5] Update provider.go --- vehicle/seat/cupra/provider.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/vehicle/seat/cupra/provider.go b/vehicle/seat/cupra/provider.go index 2954387891..3ea39d778c 100644 --- a/vehicle/seat/cupra/provider.go +++ b/vehicle/seat/cupra/provider.go @@ -89,11 +89,7 @@ var _ api.VehicleOdometer = (*Provider)(nil) // Odometer implements the api.VehicleOdometer interface func (v *Provider) Odometer() (float64, error) { res, err := v.statusG() - if err == nil { - return float64(res.Measurements.MileageKm), nil - } - - return 0, err + return float64(res.Measurements.MileageKm), err } var _ api.VehicleClimater = (*Provider)(nil) From 24b6e7dcd0c1c2ba760e0522506d210aabdde06c Mon Sep 17 00:00:00 2001 From: lex777777 Date: Thu, 8 Jun 2023 01:19:00 -0400 Subject: [PATCH 5/5] formatting and revert TargetSoc --- vehicle/seat/cupra/provider.go | 2 +- vehicle/seat/cupra/types.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/vehicle/seat/cupra/provider.go b/vehicle/seat/cupra/provider.go index 3ea39d778c..bb57668a99 100644 --- a/vehicle/seat/cupra/provider.go +++ b/vehicle/seat/cupra/provider.go @@ -105,7 +105,7 @@ var _ api.SocLimiter = (*Provider)(nil) // TargetSoc implements the api.SocLimiter interface func (v *Provider) TargetSoc() (float64, error) { res, err := v.statusG() - return float64(res.Measurements.MileageKm), 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 8f08fad390..a65cb4a797 100644 --- a/vehicle/seat/cupra/types.go +++ b/vehicle/seat/cupra/types.go @@ -38,6 +38,6 @@ type Status struct { } } Measurements struct { - MileageKm float64 + MileageKm float64 } }