Page 9 sur 9

Re: [DzVents] Renault Zoé

Publié : 23 avr. 2024, 21:14
par Neutrino

Re: [DzVents] Renault Zoé

Publié : 23 avr. 2024, 22:45
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é.

Re: [DzVents] Renault Zoé

Publié : 23 avr. 2024, 22:55
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

Re: [DzVents] Renault Zoé

Publié : 24 avr. 2024, 10:46
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.

Re: [DzVents] Renault Zoé

Publié : 24 avr. 2024, 17:37
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!

Re: [DzVents] Renault Zoé

Publié : 25 avr. 2024, 07:47
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é.

Re: [DzVents] Renault Zoé

Publié : 30 mai 2026, 13:12
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

Re: [DzVents] Renault Zoé

Publié : 31 mai 2026, 14:30
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.

Re: [DzVents] Renault Zoé

Publié : 01 juin 2026, 09:15
par RaquamLeRouge
Bonjour Neutrino,

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

Merci beaucoup
Raquam