[DzVents] Renault Zoé

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: [DzVents] Renault Zoé

Message par Neutrino »

Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
inteloide
Messages : 9
Inscription : 30 janv. 2022, 10:05

Re: [DzVents] Renault Zoé

Message par inteloide »

Bonjour,
Alors, oui j'ai réussi à remettre en place la communication entre Domoticz et ma voiture.
J'ai en fait dû quasiment tout réécrire le plugin en python et le plugin Domoticz. Mais j'ai une autre solution, plus simple, qui doit marcher :

Quelques explications du problème (par un non-expert en python je précise) :
Le problème doit venir de la mise à jour de Python ou de l'API qui dans la nouvelle version ne doit pas autoriser le mot clé de type "self" en dehors d'une classe ou alors le plugin était inclus dans une classe, ce qui résolvait le problème.
J'ai vu que les lignes avec le self, ne devait pas être vraiment utilisées, mais en les supprimant il y avait une autre erreur sur le mot clé "MyRenaultServiceException", comme si l'api Renault n'était pas installée.
J'ai vu un autre plugin sur Internet qui remontait dans les logs Domoticz une erreur comme quoi l'API Renault n'était pas installée.... (bizarre)

Solution simple (à confirmer):
En fait l'installation d'une API externe dans Python semblerait devoir être faite dans un environnement virtuel. Et c'est cette voie que j'ai explorée. Sans réécrire le plugin (comme j'ai fait), il semblerait que la procédure ci dessous fonctionne :

A - Installation d'un environnement virtuel python :
Exécuter la commande suivant sur le raspberry:

Code : Tout sélectionner

python3 -m venv venv

Code : Tout sélectionner

source /home/pi/venv/bin/activate
Maintenant on est dans l'environnement virtuel

B - Installer l'API Renault :

Code : Tout sélectionner

pip install renault-api
Il faut avoir au préalable installé pip, si pas déjà fait (https://pimylifeup.com/raspberry-pi-pip/)

C - Créer un fichier shell :
En fait, il faut maintenant que le plugin python soit lancé par Domoticz dans l'environnement virtuel. Normalement deux commandes "os.execute" en activant l'environnement virtuel et en lancant le plugin python aurait dû fonctionner mais visiblement les deux commandes s'exécutent indépendamment. Donc on va lancer depuis Domoticz un (seul) bash qui va, lui, exécuter les deux commandes.
Pour ça il faut créer un fichier que j'ai appelé : MyRenault.sh, dans lequel il faut mettre les lignes suivantes :

Code : Tout sélectionner

#!/bin/bash
source /home/pi/venv/bin/activate
python3 $1 $2 $3 &
D - Modifier le fichier lua dans domoticz
Ce fichier s'appelle zoe.lua dans le script de Neutrino.
Il faut remplacer la ligne 250 pour lancer le bash et non plus le script python directement :

Code : Tout sélectionner

os.execute("python3 '"..scriptPython.."' '"..credentials.."' '"..fichierTemp.."' &")
Par le code suivant :

Code : Tout sélectionner

os.execute("/bin/bash '/home/pi/domoticz/scripts/python/MyRenault.sh'"..credentials.."' '"..fichierTemp.."' &")
Voilà, je ne l'ai pas testé à 100% car je suis parti dans la voix de refaire une bonne partie du plugin (peut être à tort, pour des soucis de compatibilité ultérieure).
Merci donc de faire un retour à la communauté pour valider cette solution.

NB : je serais absent qq jours, donc vous n'aurez pas forcément de réponse immédiate de ma part, désolé.
Dernière modification par inteloide le 26 avr. 2024, 15:14, modifié 2 fois.
L'informatique doit être un outil et non une finalité.
inteloide
Messages : 9
Inscription : 30 janv. 2022, 10:05

Re: [DzVents] Renault Zoé

Message par inteloide »

Neutrino a écrit : 23 avr. 2024, 21:14 https://raw.githubusercontent.com/neutr ... Renault.py
A essayer car pas testé.
Bonjour Neutrino,
En analysant (très rapidement), il semble que tu ai changé uniquement le code "kamereonapikey", hors dans ma solution je ne le change pas, donc je ne pense pas qu'il y ai uniquement ça à faire. Mais peut être que je me trompe ;)
Laissons dj1benji faire l'arbitre :D
L'informatique doit être un outil et non une finalité.
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: [DzVents] Renault Zoé

Message par Neutrino »

En fait, j'ai juste changé un "v2" en "v1".

Code : Tout sélectionner

url = kamereonrooturl + '/commerce/v1/accounts/' + kamereonaccountid + '/kamereon/kca/car-adapter/v1/cars/' + vin + '/cockpit?country=FR'
Passer par un connecteur maintenu sera toujours mieux que ma solution que je ne peux plus tester.

L'idéal sera de faire un plugin python.
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
dj1benji
Messages : 6
Inscription : 13 sept. 2022, 14:20

Re: [DzVents] Renault Zoé

Message par dj1benji »

Bonjour,

j'ai tenté la solution de @inteloide, cela n'avais pas l'air de fonctionner chez moi,.

J'ai ensuite fait la solution de @Neutrino, cela à fonctionné.

Merci à vous deux. Je retrouve l'usage de mes scripts concernant la Mégane!
inteloide
Messages : 9
Inscription : 30 janv. 2022, 10:05

Re: [DzVents] Renault Zoé

Message par inteloide »

Bonjour,

Je pense qu'il y avait une erreur dans le code de mon fichier bash (des guillemets en trop) : je viens de corriger mon post.

Bon si la solution de Neutrino fonctionne, c'est plus simple.

Resterai à travailler sur un plugin qui n'utilise pas Kameron (je pense que c'était le sens de ton message Neutrino, non ?), ce que j'ai fait dans ma solution (que je n'ai pas encore partagé). Je le ferai de retour à la maison, si cela s'avère d'une quelconque utilité.
L'informatique doit être un outil et non une finalité.
RaquamLeRouge
Messages : 11
Inscription : 27 sept. 2020, 13:42

Re: [DzVents] Renault Zoé

Message par RaquamLeRouge »

Bonjour tout le monde,

je rencontre un problème avec la récupération des infos de ma Zoé visiblement depuis le 19 mai 2026. Je pense que cela coincide avec la MAJ de mon domoticz en version 2026.1

Lorsque je lance manuellement la commande :
sudo python3 /home/pi/domoticz/scripts/python/MyRenault.py /home/pi/domoticz/scripts/python/credentials.json /var/tmp/zoe.txt

J'obtiens l'erreur suivante :
root@Domotic:/var/tmp# sudo python3 /home/pi/domoticz/scripts/python/MyRenault.py /home/pi/domoticz/scripts/python/credentials.json /var/tmp/zoe.txt
Traceback (most recent call last):
File "/home/pi/domoticz/scripts/python/MyRenault.py", line 449, in <module>
loop.run_until_complete(main())
File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/home/pi/domoticz/scripts/python/MyRenault.py", line 339, in main
await mainwithsession(session)
File "/home/pi/domoticz/scripts/python/MyRenault.py", line 359, in mainwithsession
gigyacookievalue = gigya_session['sessionInfo']['cookieValue']
~~~~~~~~~~~~~^^^^^^^^^^^^^^^
KeyError: 'sessionInfo'
Est-ce que vous rencontrez le même problème ?

Merci à tou
Raquam
Dernière modification par Keros le 30 mai 2026, 21:58, modifié 1 fois.
Raison : Ajout des balises pour les logs. Merci de lire la section Bien utiliser le forum
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: [DzVents] Renault Zoé

Message par Neutrino »

Je ne peux pas tester, mais renault à changer une clé API.
nouveau fichier MyRenault.py
https://raw.githubusercontent.com/neutr ... Renault.py
A tester.
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
RaquamLeRouge
Messages : 11
Inscription : 27 sept. 2020, 13:42

Re: [DzVents] Renault Zoé

Message par RaquamLeRouge »

Bonjour Neutrino,

ça à l'air tout bon après ta modif.

Merci beaucoup
Raquam
Répondre