NEWS
Test Adapter Porsche v0.0.x
-
Ich kann seit einiger Zeit keine Verbindung mehr aufbauen
porsche.0 2025-06-13 15:37:24.955 error {"error":"invalid_request","error_description":"User identifier prompt skipped.","state":"tCujKe54DVDekKxoq4kId2tr2jCY3baew-OmFRozElo"} porsche.0 2025-06-13 15:37:24.955 error No code found. Please check your credentialsHat irgendwer eine Idee wie ich das Problem lösen kann?
-
Wollte den Adapter jetzt auch nutzen, habe leider das gleiche Problem.
Da dein Post von Juni 2025 ist, gehe ich davon aus das der Adapter nicht mehr gepflegt wird oder? -
Hi ich wollte mich melden, da ich auch an dem Modul interessiert war, leider hat wohl Porsche die Anmeldung verändert.
Lokal habe ich einen "proof of concept" mit der neuen Anmeldemethode hinbekommen.
Um das nutzen zu können habe ich ein script mit dem ein api token generiert wird.
Leider ist das ganze etwas unschön(ist ein poc), aber momentan habe ich nicht die Zeit es aufzuhübschen. Wer möchte kann sich das unter meinem Fork anschauen.
https://github.com/gimmig/ioBroker.porsche -
@gimmig
Das wäre cool wenn das funktioniert über Iobroker.
Kannst du kurz erklären wie das funktioniert bzw. was man machen muss?Hi @nik82,
ich habe ein Skript für die Generierung eines tokens gemacht.
Dieses wird im terminal auf der iobroker Umgebung ausgeführt.
https://github.com/gimmig/ioBroker.porsche/blob/master/get-refresh-token-simple.js
Dazu noch npm install ausführen.$ npm install $ node get-refresh-token-simple.jsDieses führt dich mit einer Anleitung durch den Prozess des generierens.
Am Schluß der Anleitung muss der token in die Admin Konfiguration eingetragen werden.Wie gesagt das Modul ist noch in der test Phase. Aber ich habe zumindest die Verbindung zur Porsche Api hinbekommen.
-
@gimmig Danke für deine Arbeit, leider kann ich mit der Anleitung die Installation nicht nachvollziehen. Könntest du bitte eine genauere Anleitung hier reinstellen!
@gto gerne,
sofern eine iobroker.porsche Instanz läuft, muss in der iobroker Umgebung, in einem Terminal die Instanz gestoppt werden:$ iobroker stop porscheAnschließend meine Version auf der root Ebene installieren:
iobroker url gimmig/ioBroker.porscheDanach in das Verzeichnis gehen, wo sich das neue Modul befindet:
cd /opt/iobroker/node_modules/iobroker.porscheDie erforderlichen Node Module installieren und das script für die token Generierung starten:
$ npm install $ node get-refresh-token-simple.jsBeim starten kommt folgende Anleitung:
=== Porsche Connect Refresh Token - Manual Setup === This script will help you obtain a refresh token manually. Step 1: Open this URL in your browser: https://identity.porsche.com/authorize?xxxxx Step 2: After logging in, you will be redirected to a URL like: my-porsche-app://auth0/callback?code=XXXXX&state=XXXXX Step 3: Copy the ENTIRE redirect URL and paste it below. If the page shows an error (e.g., "Cannot open app"), that's normal! Just copy the URL from the address bar. Paste the callback URL here: my-porsche-app://auth0/callback?code=xxxxxxxx&state=xxxxx ✅ Authorization code extracted Step 4: Exchanging code for tokens... [INFO] Exchanging authorization code for tokens... [INFO] Tokens received successfully ✅ Tokens received! ✅ Refresh token saved to: .porsche-refresh-token.json ═══════════════════════════════════════════════════════════════ REFRESH TOKEN (copy this to your ioBroker server): ═══════════════════════════════════════════════════════════════ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ═══════════════════════════════════════════════════════════════ 📋 Next steps: 1. Copy the refresh token above 2. On your ioBroker server, update /opt/iobroker/node_modules/iobroker.porsche/ 3. Add the refresh token to adapter configuration 4. Remove Puppeteer dependency (not needed anymore!) 💡 Benefits: ✅ No browser/Puppeteer needed on server ✅ Works perfectly in LXC containers ✅ Much lower resource usage ✅ More reliable 🧪 Testing refresh token... [INFO] Refreshing access token... [INFO] Access token refreshed successfully ✅ Refresh token works! Token refresh test successful. New access token expires in: 3600 seconds ✅ Setup complete!Schritt zwei ist etwas kniffelig, denn je nach browser möchte dieser die Url nicht wirklich öffnen.
Das heißt man muss die url ( my-porsche-app://auth0/callback?code=XXXXX&state=XXXXX) in der browser Konsole evt. raus suchen.Nachdem der token generiert wurde. Kannst du wieder auf der root Ebene von iobroker das Modul starten
$ cd / $ iobroker start porscheDer Token Kann nun in iobroker in der Porsche Instanz eingetragen werden.
Ich hoffe das hilft erstmal. Eine elegantere Lösung zur token Generierung wäre natürlich besser. Sobald ich mehr Zeit habe, geht es an dem Modul weiter. :)
-
So jetzt hab ich es auch endlich mal geschafft zu testen, habe aber ein Problem.
Wenn ich die generierte URL aufrufe an meinem PC:https://identity.porsche.com/authorize?xxxxx
Dann komme ich zur Anmeldung, soweit alles gut:

Aber nach dem ich mein Passwort eingebe und auf Fortfahren drücke, passiert nichts mehr, die URL bleibt im Browser so wie Sie ist und ich kann dann auch nicht mehr auf Fortfahren klicken, die Seite ist dann wie eingefroren:

Irgendeine Idee?
Hab Chrome probiert und Firefox, auch im Inkoknito Modus, aber leider immer das selbe.
Kurzer nachtrag, wenn ich nach dem es nicht mehr weiter geht, im Browser auf zurück gehe, dann erscheint ganz kurz eine URL mit my.porsche.com/code=XXX&state=XXX, die geht aber sofort wieder weg.
Hab die URL jetzt mit Screenrecorder gefilmt und dann abgeschrieben und eingegeben, ging aber auch nicht. -
@gto gerne,
sofern eine iobroker.porsche Instanz läuft, muss in der iobroker Umgebung, in einem Terminal die Instanz gestoppt werden:$ iobroker stop porscheAnschließend meine Version auf der root Ebene installieren:
iobroker url gimmig/ioBroker.porscheDanach in das Verzeichnis gehen, wo sich das neue Modul befindet:
cd /opt/iobroker/node_modules/iobroker.porscheDie erforderlichen Node Module installieren und das script für die token Generierung starten:
$ npm install $ node get-refresh-token-simple.jsBeim starten kommt folgende Anleitung:
=== Porsche Connect Refresh Token - Manual Setup === This script will help you obtain a refresh token manually. Step 1: Open this URL in your browser: https://identity.porsche.com/authorize?xxxxx Step 2: After logging in, you will be redirected to a URL like: my-porsche-app://auth0/callback?code=XXXXX&state=XXXXX Step 3: Copy the ENTIRE redirect URL and paste it below. If the page shows an error (e.g., "Cannot open app"), that's normal! Just copy the URL from the address bar. Paste the callback URL here: my-porsche-app://auth0/callback?code=xxxxxxxx&state=xxxxx ✅ Authorization code extracted Step 4: Exchanging code for tokens... [INFO] Exchanging authorization code for tokens... [INFO] Tokens received successfully ✅ Tokens received! ✅ Refresh token saved to: .porsche-refresh-token.json ═══════════════════════════════════════════════════════════════ REFRESH TOKEN (copy this to your ioBroker server): ═══════════════════════════════════════════════════════════════ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ═══════════════════════════════════════════════════════════════ 📋 Next steps: 1. Copy the refresh token above 2. On your ioBroker server, update /opt/iobroker/node_modules/iobroker.porsche/ 3. Add the refresh token to adapter configuration 4. Remove Puppeteer dependency (not needed anymore!) 💡 Benefits: ✅ No browser/Puppeteer needed on server ✅ Works perfectly in LXC containers ✅ Much lower resource usage ✅ More reliable 🧪 Testing refresh token... [INFO] Refreshing access token... [INFO] Access token refreshed successfully ✅ Refresh token works! Token refresh test successful. New access token expires in: 3600 seconds ✅ Setup complete!Schritt zwei ist etwas kniffelig, denn je nach browser möchte dieser die Url nicht wirklich öffnen.
Das heißt man muss die url ( my-porsche-app://auth0/callback?code=XXXXX&state=XXXXX) in der browser Konsole evt. raus suchen.Nachdem der token generiert wurde. Kannst du wieder auf der root Ebene von iobroker das Modul starten
$ cd / $ iobroker start porscheDer Token Kann nun in iobroker in der Porsche Instanz eingetragen werden.
Ich hoffe das hilft erstmal. Eine elegantere Lösung zur token Generierung wäre natürlich besser. Sobald ich mehr Zeit habe, geht es an dem Modul weiter. :)
@gimmig sagte in Test Adapter Porsche v0.0.x:
Das heißt man muss die url ( my-porsche-app://auth0/callback?code=XXXXX&state=XXXXX) in der browser Konsole evt. raus suchen.
Das war für mich der entscheidende Hinweis!
-> F12 im Browser drücken (funzt definitiv mit Chrome und Vivaldi)dort in der Sektion "Console" steht ganz am Ende die gesuchte Meldung
Failed to launch 'my-porsche-app://auth0/callback?code=xxxxx&state=yyyy' because the scheme does not have a registered handler.Diesen Teil dann wiederum in dein Skript ge-paste-d
tut. jipiieh!Herzlichen Dank!
-
Hi,
F12 hat geklappt, hier konnte ich es auch tatsächlich kopieren:
Aber wenn ich den Token eingebe, bekomme ich trotzdem Fehlermeldung :


-
Ich scheitere bei diesem Schritt :
✅ Authorization code extractedStep 4: Exchanging code for tokens...
[INFO] Exchanging authorization code for tokens...
[ERROR] Token exchange failed: Request failed with status code 403
[ERROR] Status: 403
[ERROR] Data: {"error":"invalid_grant","error_description":"Failed to verify code verifier"}❌ Error: Request failed with status code 403
Status: 403
Data: {
"error": "invalid_grant",
"error_description": "Failed to verify code verifier"