From dca99c30bcae4f93db6d7ffd525e8df2278e06fb Mon Sep 17 00:00:00 2001 From: MarkusGH <34029447+MarkusGH@users.noreply.github.com> Date: Thu, 7 Dec 2023 07:58:26 +0100 Subject: [PATCH] Porsche: add wakeup (#10928) --- vehicle/porsche/api.go | 15 +++++++++++++++ vehicle/porsche/provider.go | 6 +----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/vehicle/porsche/api.go b/vehicle/porsche/api.go index 3ef1a3426..8f3d6f00a 100644 --- a/vehicle/porsche/api.go +++ b/vehicle/porsche/api.go @@ -2,6 +2,7 @@ package porsche import ( "fmt" + "net/http" "github.com/evcc-io/evcc/util" "github.com/evcc-io/evcc/util/request" @@ -67,3 +68,17 @@ func (v *API) Status(vin string) (StatusResponse, error) { err := v.GetJSON(uri, &res) return res, err } + +// WakeUp tries to wakeup the vehicle by requesting the current vehicle overview +func (v *API) WakeUp(vin string) error { + uri := fmt.Sprintf("%s/service-vehicle/de/de_DE/vehicle-data/%s/current/request", ApiURI, vin) + req, err := request.New(http.MethodPost, uri, nil, request.AcceptJSON) + if err != nil { + return err + } + resp, err := v.Do(req) + if err == nil { + resp.Body.Close() + } + return err +} diff --git a/vehicle/porsche/provider.go b/vehicle/porsche/provider.go index 0cc167caa..f7d3bd588 100644 --- a/vehicle/porsche/provider.go +++ b/vehicle/porsche/provider.go @@ -31,11 +31,7 @@ func NewProvider(log *util.Logger, connect *API, emobility *EmobilityAPI, vin, c }, cache), wakeup: func() error { - _, err := connect.Status(vin) - if err != nil && carModel != "" { - _, _ = emobility.Status(vin, carModel) - } - return nil + return connect.WakeUp(vin) }, }