Renault Zoe im Smarthome (neue API 2020)

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.

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

 

 (anklicken zum vergrößern)

Jetzt benötigst du die angepassten python Scripte.

Diese legst du unter /opt/myrenault/ ab

Ein pip3 install aiohttp installiert ein eventuell fehlendes Python Modul.

Die credentials.json passt du auf deine Zugangsdaten an.

Das script zoe_status.sh muss ausführbar sein.

{code lang:bash hidden:false}

chmod +x zoe_status.sh

chmod 777 zoe_status.sh

{/code}

Jetzt brauchst du nur noch ein neues Javascript in iobroker.

{code lang:bash hidden:false}

function abfrageStarten() {
exec(‚/opt/myrenault/zoe_status.sh‘, function(err, stdout, stderr) {
if(err){
log(stderr,’error‘);
return;
}
//console.log(stdout);
var out=stdout.replace(/\’/g,’\“‚);
var out=out.replace(/\: /g,’\:“‚);
var out=out.replace(/\,/g,’\“,‘);
var out=out.replace(/\““/g,’\“‚);
var out=out.replace(/\}/g,’\“}‘);
console.log(out);
var charge_level = JSON.parse(out)[„batteryLevel“];
var plugged = JSON.parse(out)[„plugStatus“];
var remaining_range = JSON.parse(out)[„rangeHvacOff“];
var remaining_time =0;
var leistung =0;
 
if(plugged ==“0″){
plugged = „false“;
}
else{
plugged =“true“;
remaining_time = JSON.parse(out)[„timeRequiredToFullSlow“];
leistung = JSON.parse(out)[„instantaneousPower“];
leistung = leistung/1000;
setState(„javascript.0.EigeneGeraete.ZOE_remaining_time“/*ZOE_remaining_time*/, remaining_time);
setState(„javascript.0.EigeneGeraete.ZOE_leistung“/*ZOE_leistung*/, leistung);
}
 
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);
});
}
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. 

Wenn es Probleme gibt, kann ein chmod -R 777 /opt/myrenault helfen.

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.