J’ai finalement réussi à faire fonctionner le plugin.
- Si l’installation des dépendances tourne en boucle (voir le log dans « Configuration du plugin » → Logs et surveillance → Bouton bleu jeezivizv2_dependency_install), désactiver le plugin après avoir lancé l’installation des dépendances et attendre de voir dans le log si l’installation des dépendances réussit ou pas.
- Si l’installation des dépendances échoue et que le log contient l’erreur « internal compiler error: in convert_move, at expr.c:218 », c’est peut être le même problème que moi. Il faut se connecter en SSH, et éditer le fichier :
/etc/pip.conf
[global]
extra-index-url=https://www.piwheels.org/simple/
[install]
constraint=/etc/pip-constraints.txt
Puis créer et éditer le fichier
/etc/pip-constraints.txt
numpy==1.21.4; python_version=='3.7'
A faire en superuser (sudo)
Toujours en SSH, vous pouvez tester l’installation en mode « user » : pip install numpy (jeedom fera l’installation en superuser)
→ Normalement c’est assez rapide car le système doit juste télécharger et installer, il n’y a pas de compilation.
Testez alors à nouveau l’installation des dépendances dans jeedom → plugin pyzvizv2
- Si l’installation des dépendances a réussi, vous pouvez tester si cela fonctionne. Chez moi cela n’était pas le cas. L’installation des dépendances avait réussi, mais pyezviz ne fonctionnait toujours pas à cause d’une dépendance manquante. Donc sur jeedom cela semblait fonctionner, je n’avais aucune erreur dans le log mais en fait cela ne fonctionnait pas. Un test simple à faire est d’exécuter la commande (toujours en SSH) « /usr/local/bin/pyezviz ». Si vous obtenez une erreur de ce style, c’est gagné !
usage: pyezviz [-h] -u USERNAME -p PASSWORD [-r REGION] [--debug]
{devices,home_defence_mode,mqtt,camera} ...
pyezviz: error: the following arguments are required: -u/--username, -p/--password
Par contre si vous obtenez l’erreur suivante, passer au point 4
Traceback (most recent call last):
File "/usr/local/bin/pyezviz", line 5, in <module>
from pyezviz.__main__ import main
File "/usr/local/lib/python3.7/dist-packages/pyezviz/__main__.py", line 8, in <module>
import pandas
File "/usr/local/lib/python3.7/dist-packages/pandas/__init__.py", line 17, in <module>
"Unable to import required dependencies:\n" + "\n".join(missing_dependencies)
ImportError: Unable to import required dependencies:
numpy:
-
Si la commande pyezviz ne fonctionne toujours pas, essayez cela :
« sudo apt-get install libatlas-base-dev »
-
Vous pouvez alors essayer d’exécuter une « vraie » commande du style
« /usr/local/bin/pyezviz -u -p camera --serial <N°SérieCaméraEZVIZ> status »
En remplaçant bien sûr par votre adresse email, idem pour le mot de passe et le numéro de série. Si vous obtenez un long listing en json, c’est gagné !
Chez moi, il a encore fallu renseigner le code envoyé sur mon téléphone (MFA) et cela a fini par fonctionner
J’espère que cela permettra à plus de monde d’utiliser ce plugin, qui est une vraie amélioration par rapport aux interactions IFTTT ! J’ai vu dans le forum que plusieurs personnes avaient eu ce problème de dépendances.
Pour ceux que les détails intéressent :
Le plugin utilise pyezviz, une bibliothèque Python. Cette dernière a besoin de la bibliothèque Python numpy pour fonctionner. Or, numpy ne se compile pas correctement sur raspian Buster pour une sombre histoire de version gcc. Heureusement, une âme charitable a créé des binaires (déjà compilés donc) pour les modules les plus communs de Python. Ces modules compilés appelés Wheels sont disponibles sur le serveur piwheels. Attention, pour la version 3.7 de Pyhton (celle présente sur raspian Buster), il faudrait normalement utiliser numpy 1.21.6 mais la dernière version disponible est la 1.21.4 (voir https://www.piwheels.org/project/numpy/ → Show all releases). Une fois les 2 fichiers de conf édités, le fait de relancer l’installation de numpy avec pip va télécharger le module binaire au lieu d’essayer de le compiler. Vous pouvez utiliser pip install numpy -v pour voir les détails. D’ailleurs, pendant l’installation effective des dépendances par jeedom (cette fois en mode superuser), on peut voir que pyezviz est également téléchargé.
Pour le point 4, je n’ai pas trop creusé, j’ai trouvé cette ligne dans un forum est cela a fonctionné…