Reprise du Plugin Nissan Leaf Connect

Bonjour Cedric, j avais vu le projet en dart, mais c est pas pour les leaf 2019+ uniquemet ?

j ai eu la maj ce matin du plugin , j espere que ca me corrigera un soucis que je rencontre, je fais un check de la capa batterie quand je charge , mais j ai une erreur de scenario, comme si les commande etait foireuses
j ai fait un si :
#[Parking][Leaf][Cable]# == 1 ET #[Parking][Leaf][En Charge]# == 1 ET (( #jour#= 5 et #heure# < 22 ) OU( #jour#<> 6 ) OU ( #jour#= 7 et #heure# > 6 )) ET #[Parking][Leaf][Capacité]# > 80
ALORS #[Parking][Leaf][Charge Off]#
en gros si on est en charge la semaine et la batterie ateint 80% (vendredi soir et samedi soir, ej veux avoir 100% ) , stoppe la charge

mais j ai une erreur dans les log ou il me remplace les commandes par #xxxx# sans que je sache pourquoi , je vais voir si cela le fait encore

autre chose, la maj des dependances ne marchent pas …

2 « J'aime »

Je viens de mettre à jour le plugin également sur mes deux Jeedom.

Je mets le lien ci-dessous ici, car le problème de dépendances est déjà abordé depuis quelques temps dans l’autre thread :

Voila les solutions… je suis preneur si qqu’un veut faire un script d’install inteligent en fonction des versions…
si vous avez php5.0 il faut faire sudo apt-get install php-mcryp
si vous avez php7.0, il faut faire sudo apt-get install php7.0-mcrypt
si vous avez php7.3; le script va faire 95% du travail, mais il faut aller mettre extension=mcrypt.so à la main dans /etc/php/7.3/cli/php.ini
sinon suivre (Install PHP mcrypt on Debian 10/PHP 7.3 – Developer Diary)

→ vu le projet en dart, mais c est pas pour les leaf 2019+ uniquemet ?
ma leaf est une 2019 maintenant… :slight_smile: Je ne sais pas si ce projet fait les 2.

sinon, tu ne peux pas faire OFF de la charge sur une leaf… pas prévu chez Nissan.

n.b. depuis qque semaines l’appli nissan (pour les 2019) est enfin devenu utilisable, il ne faut plus 2 minutes pour le lancement… donc le plugin devient moins interessant…

a mince, si le OFF ne fonctionne pas, il faut que je trouve une autre solution …
peut etre un esp qui avec un relai couperais le CP de la box ( mais a reacitver apres la HC pour avoir le chauffage avant de partir le matin … )
bref ça m arrange pas :stuck_out_tongue: mais je vais trouver

1 « J'aime »

Salut,

J’utilise actuellement ce code Dart sur jeedom. Mélange du plugin Script et JMQTT avec de bons résultats.

Certaines box peuvent être désactiver par un relais externe. ( Il me semble que la mienne le fait, je peux commander le on/off et/ou le 32A/16A )

Ne pas mettre de relais sur le courant lui mème… ou alors un très gros, c’est quand meme du 32A…

Tu peux publier ce que tu fais ?

bien sûr

Je mets quelques exemples

contenu des scripts .sh

root@jeedom:/var/www/html/plugins/script/data/datosNissan# cat refresh_nissan.sh
dart /home/pruebas_dart/dartnissanconnect-master/refresh.dart > /var/www/html/plugins/script/data/datosNissan/refresh.log

root@jeedom:/var/www/html/plugins/script/data/datosNissan# cat datos_nissan.sh
dart /home/pruebas_dart/dartnissanconnect-master/datos_nissan.dart > /var/www/html/plugins/script/data/datosNissan/datos_nissan.dat

batteryPercentage=`grep batteryPercentage /var/www/html/plugins/script/data/datosNissan/datos_nissan.dat |awk '{print $2}' |sed s/%//g`
cruisingRangeAcOffKm=`grep cruisingRangeAcOffKm /var/www/html/plugins/script/data/datosNissan/datos_nissan.dat |awk '{print $2}' |sed s/%//g`
cruisingRangeAcOnKm=`grep cruisingRangeAcOnKm /var/www/html/plugins/script/data/datosNissan/datos_nissan.dat |awk '{print $2}' |sed s/%//g`
isConnected=`grep isConnected /var/www/html/plugins/script/data/datosNissan/datos_nissan.dat |awk '{print $2}' |sed s/%//g`
isCharging=`grep isCharging /var/www/html/plugins/script/data/datosNissan/datos_nissan.dat |awk '{print $2}' |sed s/%//g`
dateTime=`grep -w dateTime /var/www/html/plugins/script/data/datosNissan/datos_nissan.dat |awk '{print $2,$3}' |sed s/%//g`
cabinTemperature=`grep cabinTemperature /var/www/html/plugins/script/data/datosNissan/datos_nissan.dat |awk '{print $2}' |sed s/%//g`
isRunning=`grep isRunning /var/www/html/plugins/script/data/datosNissan/datos_nissan.dat |awk '{print $2}' |sed s/%//g`
climateScheduled=`grep climateScheduled /var/www/html/plugins/script/data/datosNissan/datos_nissan.dat |awk '{print $2}' |sed s/%//g`
batteryBarLevel=`grep  batteryBarLevel /var/www/html/plugins/script/data/datosNissan/datos_nissan.dat |awk -F 'batteryBarLevel' '{print $2}' |awk '{print $2}' | sed s/,//g`

mosquitto_pub -h 192.168.1.37 -m "{\"batteryPercentage\":\"$batteryPercentage\",\"cruisingRangeAcOffKm\":\"$cruisingRangeAcOffKm\",\"cruisingRangeAcOnKm\":\"$cruisingRangeAcOnKm\",\"isConnected\":\"$isConnected\",\"isCharging\":\"$isCharging\",\"dateTime\":\"$dateTime\",\"cabinTemperature\":\"$cabinTemperature\",\"isRunning\":\"$isRunning\",\"climateScheduled\":\"$climateScheduled\",\"batteryBarLevel\":\"$batteryBarLevel\"}" -t nissan -d -u jeedom -P XXXXXXXX  > /var/www/html/plugins/script/data/datosNissan/nissan_mqtt.log

contenu des scripts « Dart »

root@jeedom:/var/www/html/plugins/script/data/datosNissan# cat  /home/pruebas_dart/dartnissanconnect-master/refresh.dart
import 'package:dartnissanconnect/dartnissanconnect.dart';
import 'package:intl/intl.dart';

main() {
  NissanConnectSession session = new NissanConnectSession(debug: true);

  session
      .login(username: "xxxxx.xxxxxx@gmail.com", password: "xxxxxxxxx")
      .then((vehicle) {
            vehicle.requestBatteryStatusRefresh();
            vehicle.requestClimateControlStatusRefresh();
          });
}

root@jeedom:/var/www/html/plugins/script/data/datosNissan# cat /home/pruebas_dart/dartnissanconnect-master/datos_nissan.dart
import 'package:dartnissanconnect/dartnissanconnect.dart';
import 'package:intl/intl.dart';

main() {
  NissanConnectSession session = new NissanConnectSession(debug: true);

  session
      .login(username: "xxxxxx.xxxxxx@gmail.com", password: "xxxxxxx")
      .then((vehicle) {
        vehicle.requestBatteryStatus().then((battery) {
            print('dateTime: ' + battery.dateTime.toString());
            print('batteryPercentage: ' +  battery.batteryPercentage );
            print('cruisingRangeAcOffKm: ' + battery.cruisingRangeAcOffKm);
            print('cruisingRangeAcOnKm: ' + battery.cruisingRangeAcOnKm);
            print('chargingkWLevelText: ' + battery.chargingkWLevelText);
            print('chargingRemainingText: ' + battery.chargingRemainingText);
            print('isConnected: ' + battery.isConnected.toString());
            print('isCharging: ' + battery.isCharging.toString());
            print('timeToFullSlow: ' + battery.timeToFullSlow.toString());
            print('timeToFullNormal: ' + battery.timeToFullNormal.toString());
            print('timeToFullFast: ' + battery.timeToFullFast.toString());
  });
        vehicle.requestClimateControlStatus().then((hvac) {
                    print('cabinTemperature: ' +  hvac.cabinTemperature.toString());
            print('isRunning: ' +  hvac.isRunning.toString());
            print('climateScheduled: ' +  hvac.climateScheduled.toString());
 });

  });
}

1 « J'aime »

ca parait pas mal , mais je galère, j’ arrive pas a installer dart :stuck_out_tongue:

suivez la section d’installation sous linux de ce lien

merci , en cherchant j’était arrivé sur cette page .
j ai bien suivi les instructions, mais il semblerais que le dépot n’ai pas ce qu’il faut pour mon systeme ( ce que je trouve étonnant, un raspberry pi4 installé normalement … ca aurait été sur mon odroid je dit pas … mais un pi4 c est courant .

sudo apt-get install dart
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
E: Impossible de trouver le paquet dart

je suis en armv7l ( pi4 ) installé avec l’image raspian

Linux Jeedom 5.10.11-v7l+ #1399 SMP Thu Jan 28 12:09:48 GMT 2021 armv7l GNU/Linux
cat /etc/debian_version 
10.8
$ cat /etc/apt/sources.list.d/dart_stable.list 
deb [arch=amd64] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main

j ai essayé de remplacer le arch=arm64 par [arch=amd64,arm64,armhf] mais

N: Le fichier configuré « main/binary-arm64/Packages » ne sera pas pris en compte car le dépôt « https://storage.googleapis.com/download.dartlang.org/linux/debian stable InRelease » ne prend pas en charge l'architecture « arm64 »
N: Le fichier configuré « main/binary-armhf/Packages » ne sera pas pris en compte car le dépôt « https://storage.googleapis.com/download.dartlang.org/linux/debian stable InRelease » ne prend pas en charge l'architecture « armhf »

mes competences s’arrêtent là

désolé, je ne contrôle pas pi4.

Peut-être que vous pouvez installer en tant que package Debian

Install a Debian package

Alternatively, download Dart SDK as Debian package in the .deb package format.

Bonjour,

le plugin me remonte une valeur de capacité batterie à 240 , alors que j’ai une Leaf 30. Il y a un bug ou c’est ma batterie ?

c est un bug , sur ma 40 il remonte aussi 240 sur ‹ capacité restante ›

je pense que pour avoir la vraie valeur, il faut calculer …
Capacité Restante WH / Capacité / 10 pour voir la capa de batterie en kWh , sur la mienne ca donne 36,2 , pour une 40 de 2 ans ( 38,5 neuve il me semble ) semble correct

Ok je teste merci !

Bon, j’ai testé … je suis autour de 24 … 23,91 précisément. A moins que mon BMS n’ai jamais été mis à jour … ?? Full charge je suis à 175 km d’autonomie.

1 « J'aime »

En fait c’est ma batterie ! :slight_smile:

Un message a été fusionné à un sujet existant : Probleme plugin Nissan