Renault Zoe ins Smarthome integrieren

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

Show/Hidden bash code

View source
 
 
 
 
 
 
chmod +x /usr/bin/zoe_get_token.sh
 
 
chmod 777 /usr/bin/zoe_get_token.sh
 
 
 

folgender Inhalt:

Show/Hidden bash code

View source
 
 
#!/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"
 
 
 
 

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

Jetzt brauchst du nur noch ein neues Javascript in iobroker.

 Show/Hidden bash code

View source
 
 
 
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
 
 
 

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.