diff --git a/templates/definition/vehicle/volvo-connected.yaml b/templates/definition/vehicle/volvo-connected.yaml index 1b24e73e3..e82ad0f7f 100644 --- a/templates/definition/vehicle/volvo-connected.yaml +++ b/templates/definition/vehicle/volvo-connected.yaml @@ -49,7 +49,6 @@ params: service: auth/redirecturi - name: vin example: WF0FXX... - required: true - name: accessToken deprecated: true - name: refreshToken diff --git a/vehicle/volvo-connected.go b/vehicle/volvo-connected.go index edab7e96c..171aeb042 100644 --- a/vehicle/volvo-connected.go +++ b/vehicle/volvo-connected.go @@ -41,10 +41,6 @@ func NewVolvoConnectedFromConfig(ctx context.Context, other map[string]any) (api return nil, errors.New("missing vccapikey") } - if cc.VIN == "" { - return nil, errors.New("missing vin") - } - if err := cc.Credentials.Error(); err != nil { return nil, err } @@ -59,10 +55,15 @@ func NewVolvoConnectedFromConfig(ctx context.Context, other map[string]any) (api api := connected.NewAPI(log, cc.VccApiKey, ts) + cc.VIN, err = ensureVehicle(cc.VIN, api.Vehicles) + v := &VolvoConnected{ - embed: &cc.embed, - Provider: connected.NewProvider(api, ts, cc.VIN, cc.Cache), + embed: &cc.embed, } - return v, nil + if err == nil { + v.Provider = connected.NewProvider(api, ts, cc.VIN, cc.Cache) + } + + return v, err }