From 3a435ad68bd2a09c767e2ecc7a42d45a8625dbcb Mon Sep 17 00:00:00 2001 From: andig Date: Fri, 26 Feb 2021 18:36:01 +0100 Subject: [PATCH] Simplify Tesla integration (#700) --- go.mod | 6 +++--- go.sum | 11 ++++++----- vehicle/tesla.go | 12 ++++-------- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/go.mod b/go.mod index 9396aa068..054ddd6a2 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/asaskevich/EventBus v0.0.0-20200907212545-49d423059eef github.com/avast/retry-go v3.0.0+incompatible github.com/benbjohnson/clock v1.0.3 - github.com/bogosj/tesla v0.0.0-20210211144207-92a50058e036 + github.com/bogosj/tesla v0.0.0-20210226163712-3a995277d27d github.com/containrrr/shoutrrr v0.4.0 github.com/denisbrodbeck/machineid v1.0.1 github.com/eclipse/paho.mqtt.golang v1.3.1 @@ -52,10 +52,10 @@ require ( github.com/spf13/viper v1.7.1 github.com/thoas/go-funk v0.7.0 github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c - github.com/uhthomas/tesla v0.0.0-20210210215721-a076a03e9349 + github.com/uhthomas/tesla v0.1.1 github.com/volkszaehler/mbmd v0.0.0-20210117183837-59dcc46d62d4 golang.org/x/net v0.0.0-20201216054612-986b41b23924 - golang.org/x/oauth2 v0.0.0-20210126194326-f9ce19ea3013 + golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93 gopkg.in/sourcemap.v1 v1.0.5 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b ) diff --git a/go.sum b/go.sum index 859409f8e..789c29318 100644 --- a/go.sum +++ b/go.sum @@ -63,8 +63,8 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bogosj/tesla v0.0.0-20210211144207-92a50058e036 h1:bkSWyrNev6+gvKxa1ZlH5i8MfNHsEVn3go1S9aCi6Y0= -github.com/bogosj/tesla v0.0.0-20210211144207-92a50058e036/go.mod h1:KT8NxKXUX5A0v1wX4PXGJqK1+J1BywYDgGhVruqzlmI= +github.com/bogosj/tesla v0.0.0-20210226163712-3a995277d27d h1:Ug4K8qKaxzZRo72YBdr9xMkxiYwSACnaJgKsVsOpaow= +github.com/bogosj/tesla v0.0.0-20210226163712-3a995277d27d/go.mod h1:xmG/yUw+GhxVB2m5GQLV4Vo/byvOf0wwhYGQ6IWPl+k= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -492,8 +492,8 @@ github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/uhthomas/tesla v0.0.0-20210210215721-a076a03e9349 h1:qPxS3j79JB/G//ak6t3iAF1owc6hupiqICiBbjbCqbY= -github.com/uhthomas/tesla v0.0.0-20210210215721-a076a03e9349/go.mod h1:VEiKAVT/KQUesEKv8ofrbxdY3kXgSVEOeBKfqfrYHr8= +github.com/uhthomas/tesla v0.1.1 h1:5w0XOqZ8+yx1ROqAyEXw2koJM8BjnbDC9QgZieCTTU4= +github.com/uhthomas/tesla v0.1.1/go.mod h1:VEiKAVT/KQUesEKv8ofrbxdY3kXgSVEOeBKfqfrYHr8= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= github.com/valyala/fasttemplate v1.1.0/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= @@ -599,8 +599,9 @@ golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20210126194326-f9ce19ea3013 h1:55H5j7lotzuFCEOKDsMch+fRNUQ9DgtyHOUP31FNqKc= golang.org/x/oauth2 v0.0.0-20210126194326-f9ce19ea3013/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93 h1:alLDrZkL34Y2bnGHfvC1CYBRBXCXgx8AC2vY4MRtYX4= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= diff --git a/vehicle/tesla.go b/vehicle/tesla.go index 67e143893..c1d0a7556 100644 --- a/vehicle/tesla.go +++ b/vehicle/tesla.go @@ -70,13 +70,9 @@ func NewTeslaFromConfig(other map[string]interface{}) (api.Vehicle, error) { return nil, fmt.Errorf("login failed: %w", err) } - // authenticated http client with logging + // authenticated http client with logging injected to the Tesla client ctx := context.WithValue(context.Background(), oauth2.HTTPClient, request.NewHelper(log).Client) - http := authClient.Config.Client(ctx, token) - - // injected to the Tesla client - client := &tesla.Client{HTTP: http} - tesla.ActiveClient = client + client, _ := tesla.NewClient(ctx, token) vehicles, err := client.Vehicles() if err != nil { @@ -84,11 +80,11 @@ func NewTeslaFromConfig(other map[string]interface{}) (api.Vehicle, error) { } if cc.VIN == "" && len(vehicles) == 1 { - v.vehicle = vehicles[0].Vehicle + v.vehicle = vehicles[0] } else { for _, vehicle := range vehicles { if vehicle.Vin == strings.ToUpper(cc.VIN) { - v.vehicle = vehicle.Vehicle + v.vehicle = vehicle } } }