Je suis sur la box Luna et je rencontre un problème dans la procédure je pense que cela vient des dépendances avec : python3 -m pip install « pyemvue » j’obtiens ce message
a votre avis comment je peux faire?
WARNING: The directory '/var/www/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag.
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pyemvue in /usr/local/lib/python3.9/dist-packages (0.16.1)
Requirement already satisfied: pycognito in /usr/local/lib/python3.9/dist-packages (from pyemvue) (2022.12.0)
Requirement already satisfied: typing-extensions in /usr/local/lib/python3.9/dist-packages (from pyemvue) (4.4.0)
Requirement already satisfied: python-dateutil in /usr/local/lib/python3.9/dist-packages (from pyemvue) (2.8.2)
Requirement already satisfied: requests in /usr/local/lib/python3.9/dist-packages (from pyemvue) (2.28.2)
Requirement already satisfied: envs>=1.3 in /usr/local/lib/python3.9/dist-packages (from pycognito->pyemvue) (1.4)
Requirement already satisfied: python-jose[cryptography]>=3.2.0 in /usr/local/lib/python3.9/dist-packages (from pycognito->pyemvue) (3.3.0)
Requirement already satisfied: boto3>=1.10.49 in /usr/local/lib/python3.9/dist-packages (from pycognito->pyemvue) (1.26.49)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.9/dist-packages (from requests->pyemvue) (1.26.14)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.9/dist-packages (from requests->pyemvue) (3.4)
Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.9/dist-packages (from requests->pyemvue) (2.0.12)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.9/dist-packages (from requests->pyemvue) (2022.12.7)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.9/dist-packages (from python-dateutil->pyemvue) (1.16.0)
Requirement already satisfied: s3transfer<0.7.0,>=0.6.0 in /usr/local/lib/python3.9/dist-packages (from boto3>=1.10.49->pycognito->pyemvue) (0.6.0)
Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /usr/local/lib/python3.9/dist-packages (from boto3>=1.10.49->pycognito->pyemvue) (1.0.1)
Requirement already satisfied: botocore<1.30.0,>=1.29.49 in /usr/local/lib/python3.9/dist-packages (from boto3>=1.10.49->pycognito->pyemvue) (1.29.49)
Requirement already satisfied: ecdsa!=0.15 in /usr/local/lib/python3.9/dist-packages (from python-jose[cryptography]>=3.2.0->pycognito->pyemvue) (0.18.0)
Requirement already satisfied: pyasn1 in /usr/local/lib/python3.9/dist-packages (from python-jose[cryptography]>=3.2.0->pycognito->pyemvue) (0.4.8)
Requirement already satisfied: rsa in /usr/local/lib/python3.9/dist-packages (from python-jose[cryptography]>=3.2.0->pycognito->pyemvue) (4.9)
Requirement already satisfied: cryptography>=3.4.0 in /usr/local/lib/python3.9/dist-packages (from python-jose[cryptography]>=3.2.0->pycognito->pyemvue) (39.0.0)
Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.9/dist-packages (from cryptography>=3.4.0->python-jose[cryptography]>=3.2.0->pycognito->pyemvue) (1.15.1)
Requirement already satisfied: pycparser in /usr/local/lib/python3.9/dist-packages (from cffi>=1.12->cryptography>=3.4.0->python-jose[cryptography]>=3.2.0->pycognito->pyemvue) (2.21)
ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/var/www/.local'
Check the permissions.
Merci @Maya pour cette contribution;
Il faudra vraiment qu’on se colle à en faire un plugin pour simplifier la vie de tout le monde. @thanaus : toujours motivé ?
@geraldelbaze@eleckito21 de rien si sa peut aider
par contre j’ai toujours un problème quand même
le virtuel et les variable ne se mettent pas à jour j’ai l’impression que sa vient du script et du fichier log
2023-01-15 11:32:09 script Erreur exécution de la commande [Maison][Emporia][Emporia] : Erreur sur /var/www/html/plugins/script/data/PyEmVue.PY 2>&1 valeur retournée : 1. Détails : Traceback (most recent call last): File "/var/www/html/plugins/script/data/PyEmVue.PY", line 34, in vue.login(username=user, password=passuser, token_storage_file=token) File "/usr/local/lib/python3.9/dist-packages/pyemvue/pyemvue.py", line 207, in login self.auth = Auth( File "/usr/local/lib/python3.9/dist-packages/pyemvue/auth.py", line 51, in __init__ self.tokens = self.refresh_tokens() File "/usr/local/lib/python3.9/dist-packages/pyemvue/auth.py", line 59, in refresh_tokens self.token_updater(tokens) File "/usr/local/lib/python3.9/dist-packages/pyemvue/pyemvue.py", line 231, in _store_tokens with open(self.token_storage_file, 'w') as f: PermissionError: [Errno 13] Permission denied: 'keys.json'
De mémoire (cela fait tres longtemps maintenant ;-( ) je pense que :
1- le problème se situe dans ton fichier qui stocke tes identifiants
2- il faut vérifier que ce sont les bons
En passant :
je m’étais appuyé sur une partie de ces travaux pour faire le script, mais depuis, l’auteur qui bossait sur Home-Assistant a sorti son plugin. Cela devrait pouvoir faciliter la création d’un plugin sous Jeedom
oui oui c’est ça.
mais ce fichier keys.json est lancé au démarrage. C’est dans ce fichier que sont stockés les clés d’authentification pour se connecter à l’api de emporia.
a priori le premier script doit être bon puisque quand je le test depuis la console jeedom j’ai un résultat
je pense que ca vient du second script dans le scenario qui ne fait pas le fichier log ou pas correctement
mais j’ai pas de fichier keys.json
hummm. je vois un fichier .htacess. c’est peut-être pour cela qu’on ton fichier keys.json n’existe pas. Il réussit la première connexion, mais ne stocke pas le Bearer retourné. Or c’est le token qui sera utilisé pour les connexions suivantes…
Tente de renommer provisoirement ton .htaccess pour voir si cela ne vient pas de là.
Le htaccess gère qui est autorisé à lire / écrire dans le dossier
Si j’ai bonne memoire, la première connexion permet justement de générer ce fichier keys.json.
Il faudrait que je me replonge dans le code, mais j’en suis à peu près sûr.
Sans ce fichier la récolte des datas ne fonctionne pas.
Donc ce qui est aussi possible c’est que le user avec lequel le script est exécuté ne dispose pas des droits.
Ce serait bien que les autres utilisateurs du script confirme s’ils disposent bien de ce fichier keys.json que je ne t’amène pas dans une mauvaise direction.
Sur mon jeedom en VM sur Freebox je n’ai pas ce fichier et sa fonctionne bien
La je ne comprend pas pourquoi sur la Luna sa bug
sa doit venir du python 3.9 il y a peut etre des subtilité avec le 3.7 qui passe pas
Tu n’as pas ce fichier et ça fonctionne… ??
Humm tu as la possibilité de faire d’une recherche pour voir si par hasard il ne le met pas ailleurs stp ?
Sans token cela me paraît très étrange qu’il se connecte.
Si tu regarde le code, tu verras sur la ligne vue.login qu’il en a besoin…
@geraldelbaze@cstan77 sur discord Damien m’a parlé d’un forum aide développeur pour le plugin ou ils peuvent aider
Au cas ou vous seriez motivé
moi vu mes connaissance je ne pense pas etre d’une grande aide
Ok. C’est donc bien une question de droits. Il va le cherche dans un dossier où il a les droits
Je pense que c’est lié à la gestion des droits de Luna.
Attention donc : cette modification ne fonctionne pas pour tout le monde.
J’ai pas tout suivi, faudrait se replonger dans le code
Il faut que les fichiers et répertoires soit pour le groupe, www-data.
Dans la configuration Jeedom, ont peut rétablir les droits