MyT Toyota Connected Services

Ich würde gerne den aktuellen Ladestand aus meinem Toyota RAV4 PHEV auslesen.
In der MyT App kann ich den am Smartphone einsehen.
Hintergrund ist, ich möchte Anhand des Ladestandes und der verfügbaren Zeit die Ladeleistung an der Wallbox einstellen.
Beispiel:
Auto wird um 22 Uhr geladen und wird am nächsten Tag um 06 Uhr benötigt.
Also 8 Stunden Zeit zum laden mit kleiner Leistung.
Auto wird um 01 Uhr eingesteckt und um 06 Uhr wieder benötigt, folglich nur 5 stunden Ladung dafür mit höherer Leistung.
Interessant wäre natürlich auch noch die Einbindung der Heizung/Klimatisierung in IPS.

Auf GitHub habe ich eine Perl Anbindung gefunden

Kann man daraus auch eine PHP Anbindung bauen?
Einzelne Scripte würden mir schon reichen.
Ein PHP Modul wäre natürlich die Krönung.

Ich habe nun das Python Script ausprobiert und es funktioniert.
Alle wichtige Daten werden abgeholt.
Als einfacher Weg würde es mir ausreichen, wenn ich die Variable
„ChargeRemainingAmount“ per mqtt an ips senden könnte.
Ich habe das Script um nachfolgenden Code erweitert.
Es sendet auch an ips aber nicht den Wert sondern den Text „ChargeRemainingAmount“

import paho.mqtt.client as mqtt
TOPIC = "rav4"
BROKER_ADDRESS = "ip-adresse-ips"
PORT = mqtt-port-ips-server
QOS = 0
client = mqtt.Client()
client.connect(BROKER_ADDRESS, PORT)
print("Connected to MQTT Broker: " + BROKER_ADDRESS)
DATA = "ChargeRemainingAmount"
client.publish(TOPIC, DATA, qos=QOS)
client.loop()

Was mache ich falsch?
Gibt es jemand im Forum, der mir bei Python helfen kann?

Habe den Fehler gefunden.
So funktioniert es nun.

import paho.mqtt.client as mqtt
TOPIC = "rav4"
BROKER_ADDRESS = "ip-adresse-ips"
PORT = mqtt-port-ips-server
QOS = 0
client = mqtt.Client()
client.connect(BROKER_ADDRESS, PORT)
DATA = ('{}'. format(charge_info['ChargeRemainingAmount']))
client.publish(TOPIC, DATA, qos=QOS)
client.loop()

Wenn das Auto eingesteckt wird, startet ein ips Script das Python Script.
Dieses sendet dann den aktuellen Batteriestand per mqtt an IPS zurück.
In IPS berechne ich dann wieviel Energie geladen werden muss.
Unter Berücksichtigung der verfügbaren Zeit stelle ich damit dann den Ladestrom bzw. Ladeleistung ein.

Ich habe das Python Script noch um ein paar Werte erweitert.
So dass nun mehrere Werte an IPS gesendet werden.
Falls es jemand nutzen möchte im Anhang, dass komplette von mir geänderte Script.
Ihr müsst nur in Zeile 417 eure IP-Adresse von eurem MQTT Server und den Port eintragen.
In Zeile 416 könnt Ihr den Payload anpassen falls der bei euch anders heissen soll.

Das Python Script wird von ips ausgeführt über shell_exec wenn die Wallbox meldet Auto eingesteckt.
In IPS sieht es nun so aus:

210514-Toyota-RAV4-Forum.zip (5,7 KB)

Es gibt zwischenzeitlich eine einfachere Lösung zum Auslesen der Toyota Daten mit Node Red.

Da ich IPS als Docker Installation verwende, habe ich Node Red ebenfalls in einen separaten Docker Container gepackt.
Datenaustausch mit IPS mache ich komplett über MQTT und Dank Json Decode werden alle verfügbaren Variablen automatisch generiert.
Also falls jemand seinen Toyota auslesen möchte, ist dies der einfachere und bessere Weg.

1 „Gefällt mir“

hat sich erledigt

Darf ich Fragen inwiefern erledigt?
Hast die erste Variante am laufen?
Oder hast zwischenzeitlich ein anderes Auto?

hab red node auf meinem Pi installiert und gestartet, Editor über Port 1880 geöffnet.
Das funktioniert schonmal, nur wie bekomme ich das git-Modul geladen, in der Hilfe steht darüber nichts

Also wenn im Webinterface bist, zuerst rechts oben auf das Hamburger Menu (3 Striche) klicken dann auf Palette verwalten klicken und dort in den Reiter Installation.
In das Suchfeld Toyota eingeben und installieren.

Danach müsstest Links ein Menu haben mit Mobility und darunter findest MyT.

Das ziehst dann per Drag and Drop in einen Flow also einfach in die Mitte.
Dann platzierst vom Menu Netzwerk 3 mal MQTT out am Ausgang und ein mal MQTT in am Eingang.

Wenn auf die Objekte klickst gehen Fenster auf wo dann die entsprechenden Parameter eintragen kannst.

hey danke ! werd ich naher mal ausprobieren

Ich kann heute Abend auch eine bebilderte Anleitung erstellen, falls nicht weiter kommst.

ja danke aber da beiss ich mich schon durch, wenns wirklich nicht klappen sollte, meld ich mich nochmal bei dir

daran hakt es jetzt doch, myt ist zwar vorhanden aber es lässt sich kein Element rüber ziehen :

Das müsste links unten auftauchen und dort musst es dann ziehen.

So ich habe mal eine Anleitung mit Bildern erstellt.
Anleitung liegt auf gDrive hier klicken.

Wattngexlerschexss
Klasse !! hat funktioniert, zwar erst nach zwei Stunden weil ich meine Shellys auf dem Port hatte, da hatte es geknallt mit der Autorisierung.
Jetzt lasse ich es noch als ständigen Dienst aufm Pi laufen.
Danke für deine „Bilderchen“

Super, freut mich dass es geklappt hat.
Falls noch aus Deiner Sicht Verbesserungsvorschläge für die Anleitung hast,
könnte ich die noch einbringen, damit der nächste der seinen Toyota auslesen möchte es einfacher hat.

Ja kann ich ja mal machen, bin, wie gesagt, über Mqtt-Servereinstellungen gestolpert
VG Axel