diff --git a/vehicle/porsche/identity.go b/vehicle/porsche/identity.go index 7585882ef..ec2095333 100644 --- a/vehicle/porsche/identity.go +++ b/vehicle/porsche/identity.go @@ -168,6 +168,9 @@ func (v *Identity) fetchToken(emobility bool) (tokenResponse, error) { } authCode := query.Get("code") + if authCode == "" { + return pr, errors.New("no auth code") + } codeVerifier := CodeVerifier.CodeChallengePlain() diff --git a/vehicle/porsche/provider_emobility.go b/vehicle/porsche/provider_emobility.go index 987498615..42c71de15 100644 --- a/vehicle/porsche/provider_emobility.go +++ b/vehicle/porsche/provider_emobility.go @@ -112,7 +112,7 @@ func (v *EMobilityProvider) request(uri string) (*http.Request, error) { // Status implements the vehicle status response func (v *EMobilityProvider) status(vin string) (interface{}, error) { if v.carModel == "" { - uri := fmt.Sprintf("https://api.porsche.com/service-vehicle/vcs/capabilities/%s", vin) + uri := fmt.Sprintf("https://api.porsche.com/e-mobility/vcs/capabilities/%s", vin) req, err := v.request(uri) if err != nil { return 0, err @@ -128,7 +128,7 @@ func (v *EMobilityProvider) status(vin string) (interface{}, error) { v.carModel = cr.CarModel } - uri := fmt.Sprintf("https://api.porsche.com/service-vehicle/de/de_DE/e-mobility/%s/%s?timezone=Europe/Berlin", v.carModel, vin) + uri := fmt.Sprintf("https://api.porsche.com/e-mobility/de/de_DE/%s/%s?timezone=Europe/Berlin", v.carModel, vin) req, err := v.request(uri) if err != nil { return 0, err