NEWS
Test Adapter VW Connect für VW, ID, Audi, Seat, Skoda
-
@tombox Hallo,
erst mal danke für den Adapter. aber er macht bei mir ne menge Fehlereinträge. hab ver 0.0.18 installiert wagen ist Skoda Scala. der Adapter liefert ab und an auch daten Daten.
nur der ölservice wird nicht angezeigt. aber das kann Später folgen.
Gruß -
@aba320
Bitte Textausgaben nicht nur in Spoiler packen sondern (wichtiger) auch in CodeTags </>. -
Hallo,
ich fahre seit kurzem dem Mii electric, besteht die Aussicht auch diesen in dem Adapter irgendwann einmal zu sehen? Ich kann gerne behilflich sein oder auch einen Gastzugang generieren um den Entwicklern daten zu geben.
Mit welcher Genauigkeit könnt ihr den SOC ablesen? In der App von Seat geht es momentan nur mit 10% Schritten, für die Steuerung der Wallbox teilweise etwas ungenau. -
@Thomas-Braun Hallo ich hoffe so ist es richtig
PS der Zeitpunkt des Öwechsels wird auch in der Skoda App nicht angezeigt. ist also Kein Problem des Adapters
Gruß Achim -
Hallo euch zweien,
erstmal Tombox: DANKE für die Arbeit!
Auch ich habe den ID 3 seit kurzem, gibt es hier vielleicht eine Anpassung des Adapters?
Der bisherige "We Connect" Adapter spricht leider nicht mit dem ID, so dass ich hier die Daten nicht auslesen kann (VW-Konto liegt vor; Fahrzeug ist angelegt).
Für mich spannend wäre
auslesen des Ladestandes
starten der Ladung (Wallbox vorhanden)
Starten der Klimatisierung morgens (etwa: Licht im Bad geht an zum Zähneputzen, bedeutet 10 min später fahre ich los --> Klimatisierung anGibt es zusätzlich noch eine Steuerung für die Wallbox "ID Charger Pro?"
-
@FrankDCE @tombox
Dem ID.3-Wunsch schließe ich mich auch an. In gut einem Monat werde ich das gleiche "Problem" haben, dass mein ID.3 dann nicht auslesbar ist. -
Hier ebenso! I’d.3 wäre toll!
-
Ich wäre schon glücklich, wenn einfach Audi wieder laufen würde.
-
Gibt es was neues bzgl. der Audi-Anmeldung?
Bekomme folgende Fehlermeldung:
-
@Sebastian-0 Hallo zusammen, ja es gibt was Neues. Der Login Workflow hat sich geändert. Die Übergabe von Nutzer und Kennwort reicht per Oberfläche, intern im Code müssen aber Abläufe geändert werden.
Jetzt neu muss:- über einen Browser Request eine Login Seite aufgerufen werden, welcher die Anmeldedaten in 2 Schritten zu übergeben sind, erst der Nutzer und per weiterem Request das Kennwort. Daraufhin erhält man einen Code-Token.
- der Code-Token muss an die erste Access-Token Url per POST übergeben werden um einen AZS-Token abzurufen.
- danach muss über eine weitere Url die ClientId abgerufen werden
- als letzten Login Step muss mit dem AZS-Access-Token und der ClientId der MBB-Token per POST abgerufen werden, mit dem man Zugriff auf die Fahrzeugdaten hat.
Wichtig ist noch, dass die 4 Login Steps mit einer HttpClient Session erfolgen müssen.
Alle weiteren Fahrzeugdatenabrufe funktionieren wie bisher mit dem MBB-Token.
Details zum Ablauf: https://github.com/davidgiga1993/AudiAPI/issues/13
-
@NafIdua Wurde der Login Flow nur bei Audi und VW geändert? Ich kann beim Skoda immer noch den Adapter verwenden?!
-
@pfried @Sebastian-0 Für mich klingt die Beschreibung, als hätte Audi nur mit dem bereits etablierten Anmeldeverfahren von VW gleichgezogen. dort ist schon länger User und Passwort auf getrennten Seiten anzugeben.
-
@NafIdua Hast du das hiermit geschafft? Ich bin anscheinend zu blind den genauen Vorgang zu finden
-
Hey Leute,
gibt es hier zu eine Lösung ?
Es funktioniert ja an sich, aber ich muss alles zwei mal an die Sprachsteuerung geben.
Ist das noch der bekannt bug oder habe ich einfach etwas falsch gemacht ?
Beste Grüße
Florian
-
@FrankDCE Dem schliesse ich mich auch an. ID3 steht bereit
-
@tombox scheint wohl gerade nicht verfügbar zu sein. Daher dachte ich mir, ich erstelle mal einen Fork seines Adapters und schaue mir die States unter "status" mal genauer an. Mein Wunsch ist ja, dass die Werte nicht einfach durchnummeriert werden, weil sich durch Hinzukommen oder Wegfallen von Informationen seitens des We Connect-Systems schnell Verschiebungen ergeben können.
Jetzt habe ich mir mal das JSON genauer angesehen, das von VW kommt und aus dem die Daten in den States erstellt werden:Es zeigt sich, dass der Aufbau auf den ersten Blick klar strukturiert wirkt, auf den zweiten aber ein paar Besonderheiten entstehen:
- Die ersten Stellen der ID (z.B. "id":"0x0101010001" => 0x0101 bzw. 0101) stellen die 1. Ebene der Gruppierung dar, die letzten 6 Stellen die Unter-id des Feldes.
- Ab und an (bei den ersten beiden Gruppen) sind die ersten signifikanten Stellen nicht unterschiedlich (beide male 0101), sonst aber eher eindeutig.
- Die letzten 6 Stellen der Gruppe sind entweder FFFFFF oder identisch mit den Werten der darunterliegenden Felder
- Es gibt innerhalb der Gruppe auch mal zwei Einträge mit der gleichen ID. Diese enthalten dan aber identische (leere) Daten
Ein mögliches vorgehen wäre:
Die bisherigen Gruppierung "data" spielt keine wirkliche Rolle, es werden nur alle Werte darunter "field" ausgewertet. Die dortige id wird zerlegt in die ersten 4 und letzten 6 Stellen (0x zu Beginn wird ignoriert). Dann landen die Werte z.B. bei id = 0x0101010001 nicht mehr unter status.data01.field01 sondern unter status.data0101.field010001. Alternativ kann man auch beide id auswerten und die Statenamen länger ausfallen lassen: status.data0x0101010001.field0x0101010001 oder status.data0x0203FFFFFF.field0x0203010001
Doppelte Werte würden nur zu einem überschrieben des vorherigen Wertes führen (da sie identisch sind hat es keine Auswirkungen).
Damit wäre es möglich, Werte ganz gezielt auszulesen (z.B. status.data0x030101FFFF.0x0301010001 für die Lichter) ohne der Gefahr ausgesetzt zu sein, dass bei einer veränderten Informationsbereitstellung die Daten in einem anderen State suchen zu müssen. Besonders ungeschickt wäre es, wenn die Werte über SQL.0 oder History.0 aufgezeichnet werden sollen. Denn dann muss man mal hier und mal da aufzeichnen. Damit wären die Daten nur sehr bedingt auswertbar...
Was meint Ihr? Wäre eine Speicherung nur unter Berücksichtigng der 2. id mit kurzen state-Namen wie status.data0101.field010001 oder mit Berücksichtigung beider ids wie status.data0x0203FFFFFF.field0x0203010001 besser? -
@Sneak-L8 Ich würde für die Berücksichtigung beider ID's plädieren.
Könnte bei einer Änderung einfacher sein. -
-
@Sneak-L8 ja da stimme ich zu. ich glaube auch das man die längere Version nutzen sollte, da die Datenstruktur nach meiner Meinung übersichtlicher ist.
-
@aba320 @jhg @pfried Danke für Eure Rückmeldungen. Ich habe mir das Coding nun mal angesehen und glaube zu wissen, wo ich ansetzen muss. Werde das zunächst mal in einem separaten Branch machen, dann kann man zunächst ungestört den aktuellen Adapter weiternutzen und bei Bedarf auf die neue Version umswitchen. Wenn dann alles passt, merge ich den Branch in den Master.
Bevor ich jetzt anfange hat sich für mich eine weitere Frage ergeben:
Die tripDatas werden derzeit auch einfach durchnummeriert eingetragen. Dabei werden diese von VW "unsortiert" ausgegeben:Das führt dazu, dass diese zwar als state tripdata<nn> durchnummeriert werden, aber nicht immer chronologisch sortiert sind (sieht man auch gut im Beispiel). Hinzu kommt, dass die Nummerierung nur zweistellig mit Null aufgefüllt wird, so dass nach 10 erstmal 100, 101, ... kommt und dann 11, 110, 111, 112, ... Ich kann jetzt die Nummerierung natürlich dreistellig machen, aber so ganz glücklich bin ich damit nicht.
Ich könnte auch hergehen und die tripID nehmen (analog der id beim Status). Dann wären sie schön chronologisch sortiert. Das führt zum schönen Umstand, dass alle trips des Fahrzeugs immer im ioBroker erhalten bleiben, weil keine trips mehr überschrieben würden, aber auch zu dem unschönen Zustand, dass es immer mehr states im iobroker gibt und dieser ein stückweit "vermüllt" wird. Keine Ahnung, ab wievielen States es da zu Problemen kommt.
Mir fallen jetzt verschiedene Optionen für die tripdata ein:- alles wie bisher, nur die lfd. Nummer dreistellig machen
- alle tripdata mit trapID schreiben, ggfs. eine Löschfunktion für alle Trips vorsehen (Zeitraum z.B. über Konfig einstellbar)
- tripdata auswerten und nur die neusten x (z.B. 10) Trips sortiert unter tripdata 01-10 ablegen.
- eine Kombination aus 2. und 3. mit getrennten Rubriken
Was meint Ihr?