From 96a0d4bdfc31f02a2cd24898cf182efc8070258e Mon Sep 17 00:00:00 2001 From: andig Date: Tue, 11 May 2021 20:17:44 +0200 Subject: [PATCH] Seat: respect home region --- internal/vehicle/seat.go | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/internal/vehicle/seat.go b/internal/vehicle/seat.go index 95b79b512..ec0c8db8f 100644 --- a/internal/vehicle/seat.go +++ b/internal/vehicle/seat.go @@ -1,6 +1,7 @@ package vehicle import ( + "fmt" "net/url" "strings" "time" @@ -52,17 +53,23 @@ func NewSeatFromConfig(other map[string]interface{}) (api.Vehicle, error) { }) err := identity.Login(query, cc.User, cc.Password) - if err == nil { - api := vw.NewAPI(log, identity, "VW", "ES") + if err != nil { + return v, fmt.Errorf("login failed: %w", err) + } - if cc.VIN == "" { - cc.VIN, err = findVehicle(api.Vehicles()) - if err == nil { - log.DEBUG.Printf("found vehicle: %v", cc.VIN) - } + api := vw.NewAPI(log, identity, "VW", "ES") + + if cc.VIN == "" { + cc.VIN, err = findVehicle(api.Vehicles()) + if err == nil { + log.DEBUG.Printf("found vehicle: %v", cc.VIN) } + } - v.Provider = vw.NewProvider(api, strings.ToUpper(cc.VIN), cc.Cache) + if err == nil { + if err = api.HomeRegion(strings.ToUpper(cc.VIN)); err == nil { + v.Provider = vw.NewProvider(api, strings.ToUpper(cc.VIN), cc.Cache) + } } return v, err