Audi Connect - schon jemand erfolgreich?

Hallo Forum,

hat schon jemand erfolgreich einen Zugriff auf Audi Connect hinbekommen? Konkret geht es mir um einige Abfragen des A3 e-tron, insbesondere Verbrauchswerte.

Die folgende Seite hatte ich schon in einem Thread hier entdeckt, kam damit aber auch nicht weiter:
GitHub - davidgiga1993/AudiAPI: Audi MMI Api

Bin für jede Hilfe dankbar!

Viele Grüße
Volker

Gerade gefunden, bin aber überfordert wie man das nutzen könnte:

GitHub - Sapistudio/SapiMMI

Hallo Zusammen,
mit Hilfe von Composer und Co war ich erfolgreich.
Ich denke so in etwa waren die Schritte.

[ol]
[li]im Ordner Scripts das repo GitHub - Sapistudio/SapiMMI klonen[/li][li]Mit Composer erzeugen lassen[/li][li]script erstellen[/li][/ol]

<?php 
include("/var/lib/symcon/scripts/SapiMMI/vendor/autoload.php");


use SapiStudio\AudiMMI\Handler;

$configure = [
    'username' => 'user',
    'password' => 'pass',
    'googleApiKey' => 'null'
];
$h = new Handler($configure);
print_r($h->status());

Das wäre dann der Abruf des KM Stand


$status = ($h->status());
print_r($status['StoredVehicleDataResponse']->vehicleData->data[2]->field[0]->milCarSent);

:slight_smile: Super sschnake
Ich habe jetzt ,obwohl ich ehrlich gesagt kaum Ahnung von dem habe was ich hier gerade gemacht habe, tatsächlich Daten von meinem Auto empfangen.
Dankeschön also schonmal für die kurze Anleitung und das Skript.

Ich habe jetzt aber das Problem dass ich nicht weis wie ich die ausgewerteten Daten in z.B. eine Variable schreiben kann.

Auch habe ich es nicht geschafft deinen PHP Code zum Auslesen des Kilometerstandes so zu nutzen dass ich auch wirklich irgendwo den Kilometerstand angezeigt bekomme.

Momentan bin ich nur soweit das ich unter dem ersten PHP Code den du in deinem Beitrag eingefügt hast, im Textfeld die Ausgelesenen Daten sehe kann. Sprich, hier finde ich natürlich auch den Kilometerstand.

Könntest du oder jemand anderes mir kurz auf die Sprünge helfen wie ich (am besten alle) auswertbaren Daten in Variablen schreiben kann?

Weiterhin würde mich interessieren, ob es wohl möglich wäre die aktuelle Fahrzeugposition auszulesen und ggf. wie in der App die Autotüren öffnen kann.

Schöne Grüße,
Thorsten

Dummy Instanz anlegen, darunter eine Variable anlegen bei Kilometer z.B. Typ Float, Variablenprofil zuweisen bzw. erstellen, und den Wert mit SetValue in die Variable schreiben.

Wenn Du die Daten damit auslesen kannst musst Du diese nur noch abspeichern.


<?php 
include("/var/lib/symcon/scripts/SapiMMI/vendor/autoload.php");


use SapiStudio\AudiMMI\Handler;

$configure = [
    'username' => 'user',
    'password' => 'pass',
    'googleApiKey' => 'null'
];
$h = new Handler($configure);
$status = ($h->status());
$miles = $status['StoredVehicleDataResponse']->vehicleData->data[2]->field[0]->milCarSent; // weist den Inalt der Variable $miles zu
SetValue(12345, $miles); // schreibt den Wert von $miles in die Variable mit der Objekt ID 12345

Guten Morgen.
SetValue hat @Fonzo ja schon sehr gut beschrieben.

Türen öffnen geht leider nicht. Läst Audi nicht zu.

Ich bin mir nicth ganz sicher ob die Funktion loadPosition bereits in dem GitRepo enthalten ist oder ob ich sie eingefügt habe
wenn ja ist hier meine Auswertung der Funktion.

$p = $h->loadPosition();
$latitude = substr_replace($p['findCarResponse']->Position->carCoordinate->latitude,'.',-6,0);
$longitude = substr_replace($p['findCarResponse']->Position->carCoordinate->longitude,'.',-6,0);

Über die GoogleApi lasse ich mir das dann in eine Adresse umwandeln
Wenn die Funktion nicht enthalten ist muss sie in die handler.php mit eingebaut werden.

Hallo,

könntest du den Schritt mit Composer nochmal für Anfänger erklären oder einen Link geben, wo ich mich einlesen kann?

Vielen Dank!
Volker

(Momentan läuft meine Audi-API-Integration mit dem Python-Code von davidgiga, aber per PHP in IPS wär’s eleganter)

Die Anleitung auf der Seite ist denke ich verständlich
Composer

Installation
Introduction - Composer

im Verzeichniss des Repo dieses ausführen
Basic usage - Composer

Danke für die Hilfe - Leider fehlt’s bei mir wohl an den Grundlagen, wie ich das mit IPS nutze.

Konkret sind mir folgende Punkte unklar:

  1. Ich nutze IPS auf Windows und habe kein (separates) PHP installiert. Benötige ich also erstmal eine PHP Installation unter Windows, um Composer nutzen zu könne? Oder nutze ich irgendwie das PHP was mit IPS mitkommt?
    Wird das, was Composer nachlädt, dann für IPS verfügbar oder muß ich dort noch was beachten? Wie gesagt, mein Windows weiß derzeit nix von PHP.

  2. Wie genau soll die Verzeichnisstruktur in Scripst dann aussehen, wenn ich die Daten von Githib dorthin kopiere?

  3. Mir ist unklar, was nötig ist, damit IPS auf das Script zugreifen kann. Oder greift umgekehrt das AudiAPI-Script auf IPS zu und die Verzeichnisstruktur ist egal?

Ich verstehe die Zusammenhänge nicht und bleibe wohl besser bei der Python-Lösung.

Genial! Wirklich… Danke für die schnelle Hilfe von euch. Ich werde mich heute abend nochmal daran setzen und versuchen alles umzusetzen.

hallo Volkerm,

ich werde keine große Hilfe sein da ich wirklich fast keine Ahnung von der Materie habe und zudem auch noch einen Raspberry benutze auf dem Symcon läuft.
zu 1.) Bei mir war es gestern abend auch so dass ich zuerst eine neue PHP Umgebung auf dem Raspi erstellen musste. Sprich ich habe php unter der Console installiert.

2.) Auf dem Raspberry Betriebssystem sieht die Ordnerstruktur vlt. ander aus, aber ich habe mich da an die Vorgabe von sschnake gehalten und im Ordner scripts den unterordner SapiMMI erstellt. Sieht bei mir so aus: (/var/lib/symcon/scripts/SapiMMI)
Danach habe ich dann auch nur die entsprechenden Dateien aus Github darein kopiert und dann den Composer darüber gejagt.
Diesen musste ich vorher auch installieren und dann die composer.json Datei die nach dem kopieren im Ordner ist „öffnen bzw. ausführen“… Da fehlt mir wirklich die Ahnung von.

3.) Wer jetzt auf was zugreift kann dir vielleicht jemand sagen der etwas tiefer drin steckt. Aber wenn ich jetzt das Script aus dem Beitrag von sschnake ausführe erhalte ich momentan die Auswertung mit den entsprechenden Daten im Textfeld unterhalb des Skripts.
Darum werde ich mich aber dann später kümmern.

Hoffe ich konnte dir etwas weiterhelfen. Ansonsten muss sich dir jemand annehmen der weis was er tut :smiley:

Hallo Thorsten,

ich verzweifle an der PHP-Installation bzw. Konfiguration (ini) und frage mich, ob ich den Schritt mit PHP und Composer überspringen kann. Macht es Sinn, daß du mir das „fertige“ Verzeichnis (nach Composer) zur Verfügung stellst?

Viele Grüße
Volker

Update:

Thorsten hat mir sein „fertiges“ SapiMMI-Verzeichnis zur Verfügung gestellt, wo er per Composer alle erforderlichen Dateien hinzugefügt hatte. Ich habe dies nach c:\ip-symcon\scripts\SapiMMI kopiert und in IPS das oben genannte Script hinzugefügt:

include('c:\ip-symcon\scripts\SapiMMI\vendor\autoload.php');

use SapiStudio\AudiMMI\Handler;

$configure = [
    'username' => 'abc@abc.de',
    'password' => '12345',
    'googleApiKey' => 'null'
];
$h = new Handler($configure);
print_r($h->status()); 

Damit hat es auf Anhieb funktioniert, Daten vom Fahrzeug zu lesen! Danke Thorsten!

Der googleApiKey mit null war für mich unerwartet, aber offenbar erforderlich.
Ein paar Notices zu Variablen gab’s bei der Ausführung noch, aber die sind offenbar unkritisch.

Hallo,

leider scheinen seit dem 12.12.2019 keine Daten mehr zwischen meinem Audi und IPS ausgetauscht zu werden.

Die Fehlermeldung lautet wie folgt:

Notice: Undefined variable: check in /var/lib/symcon/scripts/SapiMMI/src/Handler.php on line 187

Notice: Undefined property: stdClass::$access_token in /var/lib/symcon/scripts/SapiMMI/src/Handler.php on line 172

Fatal error: Uncaught Exception: Can not login using credentials: [Username: XXXXXXXXXX@XXX.de@XXXXXXXXX]. in /var/lib/symcon/scripts/SapiMMI/src/Handler.php:173

Falls jemandem eine Lösung bekannt ist, postet diese doch bitte.

Schöne Feiertage an alle!

Keine Lösung, sondern nur die Bestätigung des Problems: Ich nutze eine ganz andere Software zum Zugriff (Python wie oben beschrieben) und habe auch seit 12.12. etwa 16:30 keine Daten mehr bekommen. Ist also nicht IPS-Code-spezifisch.

Ja, über die Audi App habe ich auch einen Hinweis auf neue Funktionen bekommen. Somit denke ich dass es da ein Update gegeben hat [emoji24]

Gesendet von iPhone mit Tapatalk

Das Problem hat sich bei mir von selbst gelöst - es funktioniert inzwischen wieder, ohne Änderungen.

Bei mir klappt’s auch schon relativ lange wieder. Ich denke man hat Seitens Audi ein Update gefahren. Die Handy App musste ich auch aktualisieren.

Wie kann ich eigentlich die Temperatur vernünftig auslesen?
Ich vermute das der Vierstellige Wert in Kelvin ausgegeben wird und die vierte Stelle einfach eine Nachkommastelle ist?

Gesendet von iPhone mit Tapatalk

Ich wollte mal fragen wie der aktuelle Stand ist, funktioniert das noch bei Euch so weit zur Zeit?
Ich habe mein Fahrzeug nun auch wieder gewechselt und bin nun wieder bei Audi angekommen, daher würde es mich selber interessieren die Daten auszulesen.

Leider nein, seit einem halben Jahr nix. AUDI hat Änderungen bei der Authentifizierung vorgenommen. Es gab viele lange Diskussionen, nach meine Wahrnehmung haben bestenfalls einzelne Spezialisten eine Einzelfalllösung hinbekommen. Mir ist keine „nachbausichere“ Lösung bekannt.

Das ist sehr schade. Was für Werte hast Du denn genutzt und für was genau?

Hat von Euch zufällig jemand einen A6 und nutzt CarPlay? Ich wollte nur wissen ob man ausschließlich das Garagentor öffnen kann oder ob Carplay auch noch andere Gerätetypen anzeigt bzw. unterstützt? Ich bin selber ganz neu bei der Nutzung von CarPlay und habe das bisher selber noch nicht näher verstanden was damit möglich ist bzw. wo die Vorteile gegenüber dem MMI sein sollen.