Skip to content

Archived: Hyundai Kia: Refresh‐Token ermitteln

stefan edited this page Oct 20, 2025 · 1 revision

tl;dr; Have a look at the gist

DE EN

Deutsche Version

Kia hat zum Login ein Captcha hinzugefügt, dass sich programmatisch nicht lösen lässt. Damit hat evcc keine Möglichkeit mehr, die Fahrzeugdaten auszulesen, was zur Folge hat, dass sich Funktionen, wie "lade bis zu 80% SOC" oder Ladepläne, nicht mehr sinnvoll nutzen lassen.

Um dieses Problem zu lösen, wurde die Kia-Integration so umgebaut, dass sie statt des zum Kia-Account gehörenden Passworts jetzt direkt das sogenannte Refresh-Token erwartet, das zuvor von evcc selbst ermittelt wurde. Stellt sich also die Frage:

Wie komme ich an das Refresh-Token?

Leider ist das nicht ganz einfach, weshalb das Verfahren im Folgenden beschrieben wird:

Vorbereitungen

Chromium-basierten Browser installieren

Prinzipiell sollte das beschriebene Verfahren mit jedem Browser funktionieren, der die Chromium-Engine nutzt (Chrome, Vivaldi, Brave, ...). Wer Spass daran hat, es mit anderen Browsern zu probieren, ist herzlich eingeladen. Wichtig ist, dass der verwendete Browser

  • das Einstellen des User-Agents erlaubt
  • bei einer Weiterleitung auf eine Seite mit einem leeren/unbekannten Content-Typ nicht automatisch einen Download startet (Ja, Safari, du bist gemeint)

Schritte für Google Chrome

  1. Wenn noch nicht gemacht, dann Google Chrome installieren ;)

  2. Einen leeren Tab öffnen

  3. "Entwicklertools" aktivieren:

    1. Auf die drei senkrechten Punkte in der rechten oberen Ecke klicken
    2. Im aufklappenden Menü auf "Weitere Tools" und dort dann
    3. auf "Entwicklertools" klicken
    Bildschirmfoto 2025-09-11 um 17 38 06
  4. Konfiguration für User-Agent aufrufen:

    1. Im Frame mit den Entwicklertools wieder auf die drei senkrechten Punkte klicken
    2. Im angezeigten Menü dann "More tools" und dort dann
    3. "Network conditions" auswählen
    Bildschirmfoto 2025-09-11 um 17 48 15
  5. UserAgent ändern:

    Im unteren Teil des Entwicklertoos-Fensters wird jetzt die Konfiguration der "Network conditions" angezeigt. Dort

    1. Den Haken bei "Use browser default" entfernen

    2. In das Eingabefeld die Zeichenkette

      Mozilla/5.0 (Linux; Android 4.1.1; Galaxy Nexus Build/JRO03C) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19_CCS_APP_AOS

      eintragen (eine Zeile!)

  6. Fertig Damit sind die Vorbereitungen abgeschlossen, den Browser erstmal einfach so mit dem leeren Fenster und den offenen Entwicklertools stehen lassen

Refresh-Token ermitteln und benutzen

War alles erfolgreich, sollte am Ende eine Ausgabe wie diese zu sehen sein:

Step 6: ✅ Your tokens are:
    - Refresh Token: <your refresh token>
    - Access Token: <your access token - ignore this ;)>

Den hinter "Refresh Token:" angezeigten String kopieren und als Passwort in der UI- oder evcc.yaml-Fahrzeugkonfiguration des Fahrzeuges einsetzen. Danach evcc neu starten - fertig.

English version

Since Kia - once again - changed their login scheme to now use a Captcha check, there's no feasible way to retrieve vehicle data using the username/password combo anymore. This patch picks up the solution from the Hyundai_Kia_Connector and uses the password entry from evcc.yaml as the initial refresh_token to be used for subsequent oauth2 token requests.

Preparations

Google Chrome

  1. If you haven't already, install Google Chrome for your desktop operating system. The reasons for using Chrome is that I couldn't get it to work using other browsers - updates and hints welcome.

  2. Open an empty tab and activate the "developer tools" by clicking the three dots in the upper right corner, then select "More tools" (Weitere Tools) and there choose "Developer Tools" (Entwicklertools) Bildschirmfoto 2025-09-11 um 17 38 06

  3. In the developer tools frame click on the three dots _in the tab menu line and there select first "More Tools" and there "Network conditions". Bildschirmfoto 2025-09-11 um 17 48 15

  4. In the bottom of the develop tools frame in the "User agent section" now unselect "Use browser default" and enter the following custom string (one line!): Mozilla/5.0 (Linux; Android 4.1.1; Galaxy Nexus Build/JRO03C) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19_CCS_APP_AOS Bildschirmfoto 2025-09-11 um 17 55 32

  5. Done with the preparations, leave the empty tab open

Get the refresh token

If successful this will output something like this: bash Step 6: ✅ Your tokens are: - Refresh Token: <your refresh token> - Access Token: <your access token - ignore this ;)>

Add refresh token to evcc.yaml

Replace the password entry for your vehicle in the UI or evcc.yaml config with the refresh_token from above and restart evcc.

Don't worry about time constraints there. The refresh token seems to be valid for quite a while, roughly an hour I think.

Done ;)

Clone this wiki locally