NEWS
Test Adapter VW Connect für VW, ID, Audi, Seat, Skoda
-
@astrakid was genau erhältst du?
Wenn ich das mit deiner URL mache bekome ich{ "error": "invalid_request", "error_description": "Invalid HMAC" }
Da hätt ich vermutet, dass es daran liegt, dass du in deinem Posting Teile der Fzg-Nummer mit x-en überschrieben hast wg Anonymisierung. HMAC ist ein Hashkey, der immer neu vergeben wird. Sicher, dass du richtiges Passwort und richtiges Modell gewählt hast? Asonnsten weiß ich da auch nicht weiter
-
@amg_666 sagte in Test Adapter VW Connect für VW, ID, Audi, Seat, Skoda:
Da hätt ich vermutet, dass es daran liegt, dass du in deinem Posting Teile der Fzg-Nummer mit x-en überschrieben hast wg Anonymisierung. HMAC ist ein Hashkey, der immer neu vergeben wird. Sicher, dass du richtiges Passwort und richtiges Modell gewählt hast? Asonnsten weiß ich da auch nicht weiter
ja, da bin ich sicher. aber ich kriege noch eine ganz andere fehlermeldung:
bei aufruf der url ehralte ich wirklich nur invalid request - den fheler bzgl hmac habe ich nihct.
-
@astrakid Da weiß ich auch nicht weiter. Bei mir funktionierts einwandfrei mit einem Skoda Octavie, Baujahr 2024.
Was für ein Fzg hast du, poste mal das Modell vielleicht hat ja hier noch einer so einen Wagen und kann weiterhelfen -
@amg_666 enyaq iv 80x
-
Beim Enyaq musst du mMn SkodaE wählen, das hast du?
Ging es denn irgendwann schonmal bei dir? Der Github-Issue ist doch noch nicht gelöst... -
Ich nehme mir eigentlich auch schon seit Monaten vor, das ganze Thema mal genauer zu untersuchen...
Vielleicht kann man auch bei anderen (OpenSource-) Projekten mal nachsehen, evcc hat z.Bsp. auch eine Einbindung - oder kann man dort auch keinen Enyaq neu hinzufügen?Zielbringend könnte auch sein, den Netzwerk-Verkehr der App mal mitzschneiden - denn die vielen hartcodierten URLs werden eigentlich auch von der API nach dem Login gemeldet, man müsste also (vielleicht) nicht so oft etwas ändern, wenn man dem API-Dialog der App(s) folgt...
-
@giermann enyaqE hab ich gewählt. evcc hatte auch das problem,. dort wurde das gefixed. bei mir hat es noch nie funktioniert, weil ich den enyaq erst seit 05/24 habe, und die anmeldung an der alten app (und damit der alten API) nicht mehr funktionierte.
-
@astrakid
Okay, das ist mal ein interessanter Ansatz/Hinweis!
Die Änderungen bei evcc sind nicht so leicht zu durchschauen, da sie gleichzeitig mit einer Verschiebung in ein eigenes Package erfolgten.Kannst du zum Test mal in deiner main.js die Zeile 1855 ändern und aus:
url = "https://api.connect.skoda-auto.cz/api/v3/garage";
das hier machen:
url = "https://mysmob.api.connect.skoda-auto.cz/api/v2/garage";
Das könnte vielleicht schon reichen, um wenigstens das Fahrzeug zu finden. Weiterhin muss wahrscheinlich geändert werden:
Zeilen 3430 bis 3435
{ path: "air-conditioning", version: "v1", postfix: "/status" }, { path: "air-conditioning", version: "v1", postfix: "/settings" }, // { path: "air-conditioning", version: "v1", postfix: "/timers" }, { path: "charging", version: "v1", postfix: "/status" }, { path: "charging", version: "v1", postfix: "/settings" }, { path: "vehicle-status", version: "v2", postfix: "" },
in
{ path: "air-conditioning", version: "v2", postfix: "" }, // { path: "air-conditioning", version: "v1", postfix: "/settings" }, // { path: "air-conditioning", version: "v1", postfix: "/timers" }, { path: "charging", version: "v1", postfix: "" }, // { path: "charging", version: "v1", postfix: "/settings" }, { path: "vehicle-health-report/warning-lights", version: "v1", postfix: "" },
und Zeile 3441
"https://api.connect.skoda-auto.cz/api/" + status.version + "/" + status.path + "/" + vin + status.postfix;
in
"https://mysmob.api.connect.skoda-auto.cz/api/" + status.version + "/" + status.path + "/" + vin + status.postfix;
Damit ist erstmal keine Steuerung für Laden und Klimatisierung möglich, für weitere Änderungen würde mich aber erstmal interessieren, ob das zum Erfolg führt.
-
@giermann nein, da scheint der login nicht mehr zu klappen (nur zeile 1855 angepasst):
user ist definitiv richtig. -
mit höherem loglevel:
-
Sorry, dann müsste man genauer prüfen, was die (neue) App jetzt wirklich tut.
Eine Anleitung gibt es ja: https://gitlab.com/prior99/skoda@tombox liest du hier noch mit?
Gab es schon Untersuchungen dazu, Zugangsdaten hatte doch schon jemand geschickt, oder? -
@giermann Habe das bei mir mal angepasst. Dann bekomme ich im LOG ein 403 - Access Denied.
ist das bei Euch auch so?
ein Test mit evcc zeigt - dort geht es -
@matzefro
Ich habe einen Superb (also "skoda", nicht "skodae") und der war auch schon vorher registriert, daher kann ich es nicht testen.
Die geänderten URLs habe ich nur blind von evcc übernommen, vielleicht fehlt auch noch etwas - so ganz verstehe ich den ganzen Ablauf noch nicht.
Habe auch leider aktuell wenig Zeit - bevor man sich das alles anschaut, müsste man mal den Code insgesamt bereinigen... -
@giermann
Die Lösung scheint sehr einfach:
Zeile 1855
url = "https://api.connect.skoda-auto.cz/api/v3/garage";ersetzen durch
url = "https://api.connect.skoda-auto.cz/api/v4/garage"; -
@matzefro kann ich bestätigen.
-
@Giermann da hab ich ja Hoffnung, dass das beim Cupra Born auch nur eine Versionsänderung ist. Angeblich soll die Klimatisierung über evcc dort laufen. Ich hatte da auch schonmal den Index um +1 hochgenommen, aber ohne Erfolg.
-
@NoVinoPhobie ..."angeblich"?
Ich habe leider nur Zugang zu meinem Skoda, bei dem wird die Klimatisierung im evcc gar nicht unterstützt.
Warum geht sie denn bei dir nicht?
Welche probierst du aus?Die "climatisation", "climatisationv2" und "climatisationv3" unterscheiden sich nicht einfach nur in der Versionsnummer, sondern auch in den übermittelten Aktionen.
-
@giermann
ich habe nur einen Datenpunkt für die Klimatisierung
der bringt aber seit Sommer dann diese Fehlermeldung und setzt den Datenpunkt zurück
Ich nutze evcc nicht. Ich habe die KEBA Wallbox und die ist direkt in ioBroker eingebunden.
auf GitHub wird das Thema auch bereits angesprochen und da taucht eben evcc auf.
https://github.com/TA2k/ioBroker.vw-connect/issues/333
https://github.com/TA2k/ioBroker.vw-connect/issues/331Alle anderen Daten vom Born kommen an. Akkustand, Lädt, ect. Nur eben die Klimatisierung nicht.
-
Ja, sorry - einer der vielen Gründe, warum man den Code mal aufräumen müsste...
Für deinen Cupra wird nur "Climatisation" angeboten, für meinen Skoda zusätzlich "...v2" und beim Audi eTron auch noch "...v3".
Skoda scheint beides zu verstehen, der Audi wohl alle 3.
Ich könnte mir vorstellen, dass der Born jetzt nur noch v2 oder v3 akzeptiert.Kannst du ausprobieren, wenn du in Zeile 2185 aus ".remote.climatisation" mal ".remote.climatisationv2" oder ".remote.climatisationv3" machst.
Wenn das auch nicht klappt: wo hattest du denn versucht, die Versionsnummer zu erhöhen?
Du könntest einfach mal die allgemeingültige Variante probieren, statt einer Sondernummer für Cupra.
Dazu in Zeile 5712 mal "seatcupra" ändern in "AAAseatcupra".Und letzte Idee (wobei die Reihenfolge der 3 beliebig ist):
In Zeile 3324 wird in setSeatCupraStatus() immer "https://ola.prod.code.seat.cloud.vwgroup.com/vehicles/" genutzt, während bei getSeatCupraStatus() je nach Anforderung auch mal "https://ola.prod.code.seat.cloud.vwgroup.com/v1/vehicles/" oder "https://ola.prod.code.seat.cloud.vwgroup.com/v2/vehicles/" genutzt wird.
Man könnte also auch mal versuchen, beim "set" das "v1" oder "v2" in den Pfad einzuschieben...
NACHTRAG: Wenn ich das richtig sehe, nutzt aber evcc auch einfach die URL "https://ola.prod.code.seat.cloud.vwgroup.com/vehicles/{vin}/climatisation/requests/start", also genau so wie es aktuell setSeatCupraStatus() tut.PS: Für mich ist es leider alles etwas umständlicher, da ich die Dinge blind im Code nachlese.
Vielleicht muss ich mir doch mal ein ioBroker mit dem Adapter installieren und ein paar Zugangsdaten von euch ausprobieren... -
@giermann sagte in Test Adapter VW Connect für VW, ID, Audi, Seat, Skoda:
Und letzte Idee (wobei die Reihenfolge der 3 beliebig ist):
In Zeile 3324 wird in setSeatCupraStatus() immer "https://ola.prod.code.seat.cloud.vwgroup.com/vehicles/" genutzt, während bei getSeatCupraStatus() je nach Anforderung auch mal "https://ola.prod.code.seat.cloud.vwgroup.com/v1/vehicles/" oder "https://ola.prod.code.seat.cloud.vwgroup.com/v2/vehicles/" genutzt wird.
Man könnte also auch mal versuchen, beim "set" das "v1" oder "v2" in den Pfad einzuschieben...Die Änderung auf v1 funktioniert bei mir. Damit wird der Datenpunkt gesetzt und es kommt keine Fehlermeldung im LOG. Beim Rücksetzen kommt weiterhin die Fehlermeldung 404. Das nutze ich eher selten bis gar nicht, sollte aber der Vollständigkeit halber erwähnt sein.
Die anderen Änderungen haben keinen Erfolg gebracht.
Zugangsdaten kann ich dir zum Testen bei bedarf geben.