MyT Toyota Connected Services

Hallo Giuseppe,

ich so ähnlich habe ich es auch gemacht.
Die Dateien habe ich auf den Pi in das Downloadverzeichnis geschoben und dein Script in Toyota.py umbenannt.

Die Fehlermeldung auf der Konsole sagt, das da noch etwas fehlt, aber was muss ich jetzt machen?

Bildschirmfoto 2023-08-13 um 18.08.11

Du musst paho den python mqtt client noch installieren
pip install paho-mqtt

Ich mach ja… ich bin da kein Fuchs, was das Programmieren und Skripten angeht.
Trotzdem bin ich schon einen ganzen Stück weiter und die Position wird schonmal korrekt abgeholt.

Kannst du mir hier auch weiterhelfen?

Wenn das Script erfolgreich durchgelaufen ist,
müsste ein Unterordner Cache angelegt werden und dort sollte es in etwa so aussehen.
image
Ich bin auch kein Python Spezialist, aber die häufigsten Fehler liegen an Leerzeichen
Bei Python muss jedes einrücken Leerzeichen usw. passen.
Verwende am besten einen Editor wie z.B. Notepad++ oder VScode mit entsprechendem Highlighting. Des Weiteren solltest keine Umlaute bzw. Sonderzeichen verwenden z.B. beim Fahrzeugnamen etc…

Du könntest auch mal probieren, das Script im Original auszuführen ohne meine Anpassungen, einfach um zu sehen, dass alle Daten abgeholt werden.
Danach kannst die Scripte vergleichen und meine Anpassungen auch einzeln einfügen.
Ich habe das vor 2 Jahren gemacht und seither bin ich froh, dass ich es irgendwie gerade so zum laufen gebracht habe.
Wenn das Script sauber durchläuft, sieht es so aus.

Ich kann noch einen weiteren kleinen Tipp geben, mit HA gibt es auch eine Anbindung für Toyota, da ist die Einrichtung sehr einfach, aber es fehlt der für mich wichtigste Wert, der aktuelle Ladestatus der Batterie wird nicht abgeholt.

N’Abend,

das Originalscript läuft komplett durch und ich kann auf der Konsole alles sehen.
Die Verzeichnisse werden auch angelegt.

Mit deinem Script werden Trips und Parking abgeholt, aber bei Odometer schmiert er irgendwie ab.

In welchem Verzeichnis ich das liegen habe ist aber doch eigentlich bei Linux egal, oder?

Hallo Bem,
ich habe noch mal genauer nachgesehen, und dabei festgestellt,
dass ich wohl irgendwann das ganze doch nochmal umgeschmissen habe.
Also aktuell läuft bei mir das original Script.
Dann hole ich mir mit einem Symcon Script die neueste Dateien in drei verschiedene Virtual IO und per JSON Decoder werden dann die Virtual IO in Ihre Einzelteile zerlegt.
Das ganze geht bestimmt auch eleganter, aber ich bin froh, dass ich es überhaupt hinbekommen habe.
Script sieht so aus:

<?php
$ododir = "/home/myT/cache/odometer";//Verzeichnispfad
$odofile = scandir($ododir, SCANDIR_SORT_DESCENDING);//sortieren der Dateien
$odonewest_file = $odofile[0];//neueste Datei auswaehlen 
$odo = file_get_contents("$ododir/$odonewest_file");//neueste Datei einlesen
VIO_PushText(19684, "$odo");//Inhalt Json String an Virt IO senden

$rcdir = "/home/myT/cache/remote_control";
$rcfile = scandir($rcdir, SCANDIR_SORT_DESCENDING);
$rcnewest_file = $rcfile[0];
$rc = file_get_contents("$rcdir/$rcnewest_file");
VIO_PushText(56008, "$rc");//Inhalt Json String an Virt IO senden

$gpsdir = "/home/myT/cache/parking";
$gpsfile = scandir($gpsdir, SCANDIR_SORT_DESCENDING);
$gpsnewest_file = $gpsfile[0];
$gps = file_get_contents("$gpsdir/$gpsnewest_file");
VIO_PushText(15269, "$gps");//Inhalt Json String an Virt IO senden

Symcon I/O Instanzen


und die json Decoder sehen so aus