diff --git a/templates/definition/vehicle/smart.yaml b/templates/definition/vehicle/smart.yaml index a5b425820..8e6bfecf6 100644 --- a/templates/definition/vehicle/smart.yaml +++ b/templates/definition/vehicle/smart.yaml @@ -28,7 +28,7 @@ params: - name: cache default: 15m render: | - type: smart-eq + type: mercedes vin: {{ .vin }} user: {{ .user }} region: {{ .region }} diff --git a/vehicle/mercedes.go b/vehicle/mercedes.go index 836cbb145..f23b6c547 100644 --- a/vehicle/mercedes.go +++ b/vehicle/mercedes.go @@ -1,7 +1,6 @@ package vehicle import ( - "errors" "time" "github.com/evcc-io/evcc/api" @@ -16,16 +15,11 @@ type Mercedes struct { } func init() { - registry.Add("mercedes", func(other map[string]any) (api.Vehicle, error) { - return newMercedesFromConfig("mercedes", other) - }) - registry.Add("smart-eq", func(other map[string]any) (api.Vehicle, error) { - return newMercedesFromConfig("smart-eq", other) - }) + registry.Add("mercedes", NewMercedesFromConfig) } -// newMercedesFromConfig creates a new vehicle -func newMercedesFromConfig(brand string, other map[string]any) (api.Vehicle, error) { +// NewMercedesFromConfig creates a new vehicle +func NewMercedesFromConfig(other map[string]any) (api.Vehicle, error) { cc := struct { embed `mapstructure:",squash"` Tokens Tokens @@ -51,7 +45,7 @@ func newMercedesFromConfig(brand string, other map[string]any) (api.Vehicle, err cc.User = cc.Account_ } - log := util.NewLogger(brand).Redact(cc.Tokens.Access, cc.Tokens.Refresh) + log := util.NewLogger("mercedes").Redact(cc.Tokens.Access, cc.Tokens.Refresh) identity, err := mercedes.NewIdentity(log, token, cc.User, cc.Region) if err != nil { return nil, err @@ -59,15 +53,9 @@ func newMercedesFromConfig(brand string, other map[string]any) (api.Vehicle, err api := mercedes.NewAPI(log, identity) - if brand == "smart-eq" { - if cc.VIN == "" { - return nil, errors.New("missing VIN") - } - } else { - cc.VIN, err = ensureVehicle(cc.VIN, api.Vehicles) - if err != nil { - return nil, err - } + cc.VIN, err = ensureVehicle(cc.VIN, api.Vehicles) + if err != nil { + return nil, err } v := &Mercedes{