Renault Zoe ins Smarthome integrieren

HINWEIS: 2020 hat sich die API geändert. HIER geht es weiter.

Der Zoe kann, wenn man es aktiviert hat, via „App“ ausgelesen werden. Außerdem kann die API benutzt werden um eben eigene Anwendungen mit dem Zoe zu verbinden.

Die Renault App finde ich auch nicht besonders schön und die Integration in die vorhandene Haussteuerung (iobroker) ist naheliegend.

 

Die Kachel unten links zeigt die Informationen die direkt aus dem Fahrzeug über die API kommen.

Man kann auch noch die Klimaanlage über die API starten, das werde ich aber in einem weiteren Tutorial zeigen.

Zunächst legst du in iobroker die gewünschten Objekte an. 

 

 (anklicken zum vergrößern)

Dann legst du ein neues Script unter /usr/bin/ mit dem namen zoe_get_token.sh an.

Das Script muss ausführbar gemacht werden

{code lang:bash hidden:false}

chmod +x /usr/bin/zoe_get_token.sh

chmod 777 /usr/bin/zoe_get_token.sh

{/code}

folgender Inhalt:

{code lang:bash hidden:false}

#!/bin/bash 

token=$(curl -H „Content-Type: application/json“ -d ‚{„username“:“MYZEBENUTZER“,“password“:“MYZEPASSWORT“}‘ https://www.services.renault-ze.com/api/user/login  | python -c „import json,sys;obj=json.load(sys.stdin);print obj[‚token‘];“)

curl -H „Authorization: Bearer $token“ „https://www.services.renault-ze.com/api/vehicle/VIN/battery“

{/code} 

Ersetzen musst du MYZEBENUTZER, MYZEPASSWORT, VIN durch deine Daten.

Jetzt brauchst du nur noch ein neues Javascript in iobroker.

 {code lang:bash hidden:false}

function abfrageStarten() {
exec(‚/usr/bin/zoe_get_token.sh‘, function(err, stdout, stderr) {
if (err) {
log(stderr,’error‘);
return;
}
//console.log(stdout);
var charge_level = JSON.parse(stdout)[„charge_level“];
var plugged = JSON.parse(stdout)[„plugged“];
var remaining_range = JSON.parse(stdout)[„remaining_range“];
var remaining_time = JSON.parse(stdout)[„remaining_time“];

setState(„javascript.0.EigeneGeraete.ZOE_charge_level“/*ZOE_charge_level*/, charge_level);
setState(„javascript.0.EigeneGeraete.ZOE_plugged“/*ZOE_plugged*/, plugged);
setState(„javascript.0.EigeneGeraete.ZOE_remaining_range“/*ZOE_remaining_range*/, remaining_range);
setState(„javascript.0.EigeneGeraete.ZOE_remaining_time“/*ZOE_remaining_time*/, remaining_time);
});
}

setTimeout(abfrageStarten, 100); // Script start
schedule(„*/10 * * * *“, abfrageStarten); // jede 10 Minute

{/code}

Hier musst du bei setState deine 4 angelegten Objekte angeben.

Das Script wird, nachdem du es aktiviert hast, alle 10 Minuten ausgeführt.

Jetzt kannst du die Daten weiter verarbeiten z.B. so wie bei mir in einer GUI die auf dem Tablet an der Wand angezeigt wird. 

Die Kachel rechts zeigt die Daten des Ladegerätes und errechnet damit die Kosten. Das ganze habe ich über eine Sonoff Pow realisiert.

(Adblocker aus, sonst keine Bilder)

Die Sonoff Pow wird mit Tasmota bespielt und dann so in iobroker über das Sonoff Modul eingebunden.

Dabei ist es egal welches Gerät von Sonoff verwendet wird, das Vorgehen ist immer das gleiche, die Software auch.

Hat dir das geholfen? Dann spendiere mir doch einen Kaffee.

Von heckmic

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.