From 887394fc0eb6bf9c4f2bb159b0439210b7dc4dd5 Mon Sep 17 00:00:00 2001 From: andig Date: Fri, 1 Jul 2022 17:22:35 +0200 Subject: [PATCH] Porsche: accept inprocess as paired --- vehicle/porsche.go | 2 +- vehicle/porsche/api.go | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/vehicle/porsche.go b/vehicle/porsche.go index e158a0ab9..7d18d36b9 100644 --- a/vehicle/porsche.go +++ b/vehicle/porsche.go @@ -69,7 +69,7 @@ func NewPorscheFromConfig(other map[string]interface{}) (api.Vehicle, error) { } // check if vehicle is paired - if res, err := api.PairingStatus(cc.VIN); err == nil && res.Status != porsche.PairingComplete { + if res, err := api.PairingStatus(cc.VIN); err == nil && !porsche.IsPaired(res.Status) { return nil, errors.New("vehicle is not paired with the My Porsche account") } diff --git a/vehicle/porsche/api.go b/vehicle/porsche/api.go index 772770b4b..54e243a3e 100644 --- a/vehicle/porsche/api.go +++ b/vehicle/porsche/api.go @@ -12,9 +12,14 @@ import ( const ( ApiURI = "https://api.porsche.com" - PairingComplete = "PAIRINGCOMPLETE" + PairingComplete = "PAIRINGCOMPLETE" + PairingInProcess = "INPROCESS" ) +func IsPaired(status string) bool { + return status == PairingComplete || status == PairingInProcess +} + // API is an api.Vehicle implementation for Porsche PHEV cars type API struct { *request.Helper