Revert "Mercedes: add odometer"

This reverts commit 31201a9d6f1735a619ee2f25c53f5298dc6f09bf.
This commit is contained in:
andig 2023-04-09 11:44:11 +02:00
parent 274a87d83c
commit ebff68aa2d
4 changed files with 3 additions and 39 deletions

View file

@ -68,19 +68,6 @@ func (v *API) Range(vin string) (EVResponse, error) {
return res, err
}
// Odometer implements the /odo response
func (v *API) Odometer(vin string) (EVResponse, error) {
var res EVResponse
uri := fmt.Sprintf("%s/vehicles/%s/resources/odo", v.BaseURI(), vin)
err := v.GetJSON(uri, &res)
if err != nil {
res, err = v.allinOne(vin)
}
return res, err
}
// allinOne is a 'fallback' to gather both metrics range and soc.
// It is used in case for any reason the single endpoints return an error - which happend in the past.
func (v *API) allinOne(vin string) (EVResponse, error) {
@ -89,7 +76,7 @@ func (v *API) allinOne(vin string) (EVResponse, error) {
uri := fmt.Sprintf("%s/vehicles/%s/containers/electricvehicle", v.BaseURI(), vin)
err := v.GetJSON(uri, &res)
var evres EVResponse
evres := EVResponse{}
for _, r := range res {
if r.Soc.Timestamp != 0 {
@ -100,10 +87,6 @@ func (v *API) allinOne(vin string) (EVResponse, error) {
if r.RangeElectric.Timestamp != 0 {
evres.RangeElectric = r.RangeElectric
}
if r.Odometer.Timestamp != 0 {
evres.Odometer = r.Odometer
}
}
return evres, err

View file

@ -50,8 +50,7 @@ func NewIdentity(log *util.Logger, id, secret string, options ...IdentityOption)
Scopes: []string{
oidc.ScopeOpenID,
oidc.ScopeOfflineAccess,
"mb:vehicle:mbdata:evstatus", // soc, range
"mb:vehicle:mbdata:payasyoudrive", // odo
"mb:vehicle:mbdata:evstatus",
},
}

View file

@ -10,7 +10,6 @@ import (
type Provider struct {
chargerG func() (EVResponse, error)
rangeG func() (EVResponse, error)
odoG func() (EVResponse, error)
}
// NewProvider creates a vehicle api provider
@ -22,9 +21,6 @@ func NewProvider(api *API, vin string, cache time.Duration) *Provider {
rangeG: provider.Cached(func() (EVResponse, error) {
return api.Range(vin)
}, cache),
odoG: provider.Cached(func() (EVResponse, error) {
return api.Odometer(vin)
}, cache),
}
return impl
}
@ -40,7 +36,7 @@ func (v *Provider) Soc() (float64, error) {
}
// Range implements the api.VehicleRange interface
func (v *Provider) Range() (int64, error) {
func (v *Provider) Range() (rng int64, err error) {
res, err := v.rangeG()
if err == nil {
return int64(res.RangeElectric.Value), nil
@ -48,13 +44,3 @@ func (v *Provider) Range() (int64, error) {
return 0, err
}
// Odometer implements the api.VehicleOdometer interface
func (v *Provider) Odometer() (int64, error) {
res, err := v.odoG()
if err == nil {
return int64(res.Odometer.Value), nil
}
return 0, err
}

View file

@ -9,8 +9,4 @@ type EVResponse struct {
Value int64 `json:",string"`
Timestamp int64
}
Odometer struct {
Value int64 `json:",string"`
Timestamp int64
} `json:"odo"`
}