NEWS
Test Adapter VW Connect für VW, ID, Audi, Seat, Skoda
-
@aba320 hier meine vis mit den angaben
Türen Verriegelung(kleien Griffe leuchten rot) Heckklappe und Standlicht funktionieren bereits . bei Fenstern suche ich noch.... -
@aba320 Hm, dann werden bei Skoda vielleicht weniger Trips gespeichert als bei VW?
Hab mir auch nochmal Gedanken gemacht. Wenn jemand den History- oder SQL-Adapter benutzt, dann braucht er eigentlich nur States für den letzten Trip. Wenn die dann geloggt werden, ergibt sich ganz automatisch eine Liste aller Fahrten in der Historie.
Daher würde ich in der Konfig einen Eintrag machen für die Anzahl der als States zu speichernden Einträge (1, 10, 100, alle). Dann werden dort chronologisch die letzten Trips eingetragen (Nr. 1 ist der neuste, Nr. n ist der älteste).
So gibt es immer die gewüschte Anzahl an Trips und man muss nicht permanent ältere states löschen (sei es manuell oder durch den Adapter). Eine Durchnummerierung würde ich in dem Fall beibehalten (und nicht die tripID als Namen verwenden). So bleibt die Liste der States überschaubar und muss nicht gewartet werden.Ist also entgegen der letzten Meldugen nur ein bisschen 2 mit Abstrichen und geht etwas mehr in Richtung 3. Ich glaube, dass man es so effektiver nutzen kann. Oder spricht etwas klar für rein Nr. 2?
-
@Sneak-L8 hallo, ich nutze history und hab mal alle 4 trips aktiviert. mal sehen was da so aufläuft. scheint so das skoda weniger trip daten meldet. ich hatte nie mehr als die 4.
aber die neue Lösung erscheint mir sinnvoll. -
@aba320 sagte in Test Adapter VW Connect v0.0.x:
ich hatte immer die 4 tripdatas.
Interessant. Bei mir sind die tripTypes "shortTerm" und "longTerm". Bei dir aber "cyclic". Also vermutlich werden dann bei Skode nur (im Roudtrip-Verfahren) vier Werte gespeichert? Spannend.
Ich sehe mal diese drei Arten vor und logge es als Warning, wenn andere Werte kommen sollten. -
@Sneak-L8 Ja alle sind cyclic. sie ändern sich auch über tage nicht groß. trip 4 ist " ab Tanken. bei den anderen vergleiche ich gerade welche Werte dort gezeigt werden. offensichtlich sind sie nicht mit den in der app gezeigten "ab Start" oder "langzeit" nicht identisch. nur 4 stimmt mit "ab Tanken" überein ( ausser es fehlen gerade mal Daten).
-
@aba320 Interessant. Hab mir überlegt, dass ich dann auch programmseitig drei Triparten vorsehe: shortTerm, longTerm und Cyclic. Bei Skoda wirdman dann nur letzteres sehen, bei VW nur die ersten beiden.
-
@Sneak-L8 Hallo,
skoda hat wieder was an der Datenlage geändert. seit heute hab ich im Status ,data3 field 1 und 2 auch die Ölserviceinformationen...
es muß nur der im Field enthaltene Wert in einem skipt mit -1 multipliziert werden.
mal sehen ob ich auch bei den Fenstern mal was zum laufen krieg.bei skoda ist es mit den 4 tripdatas geblieben
-
@aba320 hi, danke für Deine Screenshots. Da sehe ich das was ich gestenr im Code gefunden habe :). Bei Anlage eines Channels (Gruppe) - in diesem Fall tripdata01, ... wird geschaut, ob es eine Beschreibung mit textId gibt oder das letzte Feld in der data-Gruppe eine textId hat oder ein Timestamp. Dann wird dieser bei Neuanlage des Channel als Beschreibung hinterlegt.
D.h. nur bei Neuanlage und später nicht mehr. Sprich: werden die tripdata mit neuen trips gefüllt, bleibt der alte Timestamp in der Beschreibung stehen... Und bei data bleibt eine Beschreibung stehen, selbst wenn sich die data-Gruppen ändern.
Da werde ich schauen, dass die Beschreibung bei jedem Datenauslesen aktualisiert wird. Außerdem schaue ich, ob es bei einem field zum "value" auch eine "unit" gibt und hinterlege diese dann beim state value. Dann kann man den Wert auch besser einschätzen ohne beim State unit nachschauen zu müssen.Genau das angesprochene "was an der Datenlage geändert" ist es, das die aktuelle Speicherung mit data<nn>.field<mm> anfällig macht. Sobald eine zusätzliche Datengruppe kommt (oder eine wegfällt) rutschen die Werte in einen anderen Channel. Das ungeschickte ist, dass die alten states stehen bleiben, wenn die neue Gruppe weniger Felder hat. Das macht die Suche nach Daten immer wieder mal unübersichtlich. Aber ich denke, ich kann in Kürze mal eine neue Version bereitstellen, bei der die Daten besser aufbereitet werden.
-
@Sneak-L8 hallo,
ja die Datenstruktur sollte schnellst möglich auf das neue Format geändert werden. das begrüße ich obwohl das für mich auch Nacharbeiten in den Scripten und der Vis bedeutet. die unangekündigten Ändererungen machen sonst ein Datenchaos vorhersehbar. und dann wären noch mehr Nacharbeiten notwendig. also wenn Du Dich traust bin ich gerne Bereit auch als Betatester mitzuwirken. -
Erstmals Danke an alle, die an diesem tollen Adapter arbeiten.
Ich habe einen E-Golf 2018. Adapter funktioniert. Ich kann Werte auslesen und in andere Programme via http weitergeben. Leider habe ich ein Problem wenn ich die Ladestromstärke mit einem http Befehl in IoBroker ändern möchte.
wenn ich den folgenden Befehl schicken:http://10.0.0.11:8087/set/vw-connect.0.WVWZZZAXXXXXXXXXX.charger.settings.maxChargeCurrent.content?value=5
wird der Wert 5 rot bei den objects eingetragen und Bestätigt: ist false
Wenn von der VW App der Wert geändert wird sieht es wie am nächsten Bild aus und Bestätigt: true
Was muss ich machen, damit der Wert übernommen wird?
Teillösung:
http://10.0.0.11:8087/set/vw-connect.0.WVWZZZAXXXXXXXXXX.charger.settings.maxChargeCurrent.content?value=5&ack=true
jetzt wird die Bestätigung mit true übernommen und ist nicht mehr rot.
Der Wert wird aber nicht an das Auto übergeben.
Was muss man machen, dass der Wert an das Auto geht?
Hat das was mit dem Timestamp zu tun, da der sich nicht ändert? -
So, die Erweiterung des adapters ist soweit mal erfolgt.
Ihr könnt die neue Version über die URL https://github.com/TA2k/ioBroker.vw-connect/tarball/statusId installieren. Die alte Version ist wie gehabt unter https://github.com/TA2k/ioBroker.vw-connect verfügbar. Wenn es keine Fehler/Probleme gibt, dann merge ich die neue Variante in den bestehenden master-Branch, so das ser für alle direkt zugänglich wird.Änderungen:
- Tripdata kann auf 1, 10, 50 oder 100 begrenzt werden (alle ist weiterhin möglich)
- Die Channels für Tripdata wird nun getrennt benannt nach longTerm, shortTerm und Cycle
- Die Channels sind chronologisch absteigend sortiert und dreistellig durchnummeriert
- Der Zeitstempel aus dem Trip ist weiterhin als Beschreibung beim Channel aufgeführt und wird nun bei einer Änderung auch aktualisiert.
- Die status-Channel sind nicht mehr durchnummeriert sondern haben im Namen die interne ID. Dadurch kann sich das Objekt auch bei zusätzlichen/weniger Infos nicht mehr ändern (besonders geschickt beim Loggen über History.0 oder SQL.0)
- Die Channel-Bezeichnung auf Data-Ebene entfällt, da es hier keinen eindeutigen Wert gibt
- Die Channel-Bezeichnung auf Field-Ebene entspricht dem Objekt "textId" und wird auch laufend aktualisiert.
- Die Value-Objekte unter Status haben nun die unter dem Objekt "Unit" angegebene Einheit, zur einfacheren Lesbarkeit
- Es gibt zwei zusätzliche States direkt unter "status". Zum einen einen logischen Schalter, ob das Fahrzeug verriegelt ist und einen mit der aktuellen Außentemperatur in °C. So spart man sich das Umrechnen von dK (Zehntel-Kelvin)
Ich glaube das war's.
-
@Sneak-L8
Audi funktioniert damit aber immer noch nicht -
@Jan1 hatte ich ja schon geschrieben. Das kommt als nächstes. Bzw. ich werde noch daran versuchen. Um keine zu hohen Erwartungen zu wecken...
-
@Sneak-L8
hatte ich überlesen -
@reimai sagte in Test Adapter VW Connect v0.0.x:
wenn ich den folgenden Befehl schicke:
http://10.0.0.11:8087/set/vw-connect.0.WVWZZZAXXXXXXXXXX.charger.settings.maxChargeCurrent.content?value=5
wird der Wert 5 rot bei den objects eingetragen und Bestätigt: ist false
Wenn von der VW App der Wert geändert wird sieht es wie am nächsten Bild aus und Bestätigt: true
Was muss ich machen, damit der Wert übernommen wird?Hm, also wenn ich mir den Code schaue, würde ich sagen, Du musst garn ichts tun. Es geht einfach noch nicht. Mich wundert eigentlich, dass Du den Wert überhaupt ändern kannst. Vermutlich wird die API eher wie ein Skript oder Adapter behandelt, der auch ohne "Rechte" den Wert eines States ändern darf. Denn wenn Du es unter "Objekte" im ioBroker-Admin versuchst, dann solltest Du den Wert garn icht ändern dürfen. Denn die State geben nur auskufnt über den aktuellen Status.
Teillösung:
http://10.0.0.11:8087/set/vw-connect.0.WVWZZZAXXXXXXXXXX.charger.settings.maxChargeCurrent.content?value=5&ack=true
jetzt wird die Bestätigung mit true übernommen und ist nicht mehr rot.
Der Wert wird aber nicht an das Auto übergeben.
Was muss man machen, dass der Wert an das Auto geht?
Hat das was mit dem Timestamp zu tun, da der sich nicht ändert?Das ist daher leider auch keine Teillösung, Du änderst den Wert jetzt einfach nur mit der Info bestätigt.
Alle Änderungen, die man ans Auto senden kann stehen im Channel "Remote". Dort kannst Du die Ladung starten, aber nicht die Ladeleistung vorgeben. Das kann man sicher einbauen, aber dazu müsste man wissen, mit welchem Kommando man die Änderung ans VW-Backend sendet, damit dieses es ans Fahrzeug weitergibt.
Es müsste also ein Kommando sein (XML-Dokument) ähnlich wie zum Starten des Ladevorgangs:<?xml version="1.0" encoding= "UTF-8" ?>\n<action>\n <type>start</type>\n</action>
Dann könnte ich versuchen, dieses einzubauen.
-
@Sneak-L8 sagte in Test Adapter VW Connect v0.0.x:
https://github.com/TA2k/ioBroker.vw-connect/tarball/statusId
So, falls jemand die sonderversion schon installiert hat, bitte nochmal updaten. Ich habe noch zwei Kleinigkeiten gefunden.
Und noch ein paar Tipps zur neuen Version:
- Wenn Ihr die trips bishern icht aufgezeichnet habt (über SQL.0 oder History.0), dann löscht doch den ganzen Baum "we-connect.0.<fin>.tripdata" unter Objekte. Wenn ihr wie bei mir über 700 trips da drin habt, dann belasten die dadurch erzeugten States das System unnötig. So könnt Ihr das System vom Balast befreien, zumal jetzt nur noch die gewünchte Anzahl an Traips vorgehalten wird.
- Wenn Ihr bisherige States aufgezeichnet habt (mit SQL.0 oder History.0), dann Vorsicht! (Ist jetzt für manche vielleicht etwas sehr technisch)
- Die alten nicht mehr benötigten States nicht sofort löschen, dann sind nämlich eure Aufzeichnungen auch weg.
- Erst mal schauen, was Ihr aufgezeichent habt, die neuen States suchen und dort die Einstellungen aus den alten States übernehmen
- Dann ggfs. mit phpMyAdmin die alten Werte aufg die neue id übertragen, dann habt ihr alles am neuen Platz
- Sonst findet Ihr halt die alten Aufzeichnungen bei den alten State und die neuen aufzeichnungen bei den neuen States.
- Habt Ihr die Werte "umgebogen", könnt Ihr die alten States löschen.
-
@Sneak-L8 Hallo,
Danke für die sinnvolle Anpassung der Datenstruktur ! habe die 0.0.19 bis jetzt . hatte alle objecte gelöscht um keinen Datenmüll mitzuschleppen. werde nach Deinem neuen Post noch mal updaten!
ich hab, wie viele andere auch nacharbeiten müssen, und für meien scripte und vis anpassungen ca 90 Minuten gebraucht. Werde die Anzeigen der Türen morgen alle durchtesten.
Die Statusse sind jetzt allle in der gleichen Reihenfolge wie vorher nur mit der neuen Bezeichnung vorhanden.
Fenster sind immer noch funktionslos im Status " window unsupported"
Bei meinem skoda ergab sich bei den Tripdata eine Änderung. Meine werte "ab Tanken" sind jetzt in tripdata 1 gelandet. ich hab in den einstellungen für "Anzahl der Fahrten" " alle" ausgewählt, erhalte aber bis jetzt nur 4 tripdatas. Dabei entspricht kein Tripdata 2,3,4 den in der Skoda Connect vorhandenen Werten " ab Start" oder "LANGZEIT". alle sind weiterhin cyclic.
Ich bin damit bis jetzt sehr zufrieden Danke nochmals. -
@aba320 Guten Abend, nachdem ich auch einen Skoda habe (Kodiaq) wollte ich einmal fragen, ob man von Dir die Scripte und VIS "borgen" dürfte. Ich bin kein Programmierer und tue mir da auch recht schwer.
Liebe Grüße
Paul -
@aba320 welchen Channel meinst Du mit "tripdata 1"? Eigentlich dürfte es unter tripdata immer nur Channels mit "tripData_long001", "tripData_short001" oder "tripData_cycle001" geben. Bzw. anstelle der 001 dann die fortlaufende Nummer...
-
@Sneak-L8 sorry war nicht ganz korrekt angegeben.
es ist "vw-connect.0.TMBEK6NW7L30xxxxx.tripdata.tripData_cycle001"