Bonjour,
Je cherche a intégrer un capteur de distance vl53l1x sur mon jeedom.
Pour cela je l’ai relié à mon raspberry. J’ai utilisé les informations du lien suivant: GitHub - pimoroni/vl53l1x-python: Python library for the VL53L1X Laser Ranger
Sur le thonny du raspberry pi j’ai bien les informations de distance que je souhaite. Jusque là tout est ok.
Je cherche maintenant à l’inclure dans jeedom via le plugin script (c’est ce qui m’a paru le plus simple mais peut être pas!) J’ai donc créé un nouveau script et j’ai copié collé le programme du lien directement dans le nouveau script créé (vl53l1x.py). Et j’obtiens le défaut suivant :
Erreur pour [Extérieur - Cour][Sonde distance cuvevl53l1x][dist] : Erreur sur python /var/www/html/plugins/script/data/vl53l1x.py 2>&1 valeur retournée : 1. Détails : Traceback (most recent call last): File « /var/www/html/plugins/script/data/vl53l1x.py », line 1, in import VL53L1X ImportError: No module named VL53L1X
J’ai l’impression qu’il ne trouve pas la librairie. Or elle est bien installée sur le raspberry puisque cela fonctionne par ailleurs. Faut il que je l’intègre à jeedom? je n’ai pas trouvé comment faire ou du moins comment copier celler le dossier du lien ci avant que j’ai téléchargé sur github. J’ai donc tapé dans l’interface d’administration système de jeedom la commande suivante : sudo pip install vl53l1x. J’en déduis que c’est installé mais avec des erreurs.
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: vl53l1x in /usr/local/lib/python3.7/dist-packages (0.0.5)
Requirement already satisfied: smbus2 in /usr/local/lib/python3.7/dist-packages (from vl53l1x) (0.4.2)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
--- Logging error ---
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/pip/_internal/utils/logging.py", line 177, in emit
self.console.print(renderable, overflow="ignore", crop=False, style=style)
File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/rich/console.py", line 1752, in print
extend(render(renderable, render_options))
File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/rich/console.py", line 1390, in render
for render_output in iter_render:
File "/usr/local/lib/python3.7/dist-packages/pip/_internal/utils/logging.py", line 134, in __rich_console__
for line in lines:
File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/rich/segment.py", line 245, in split_lines
for segment in segments:
File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/rich/console.py", line 1368, in render
renderable = rich_cast(renderable)
File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/rich/protocol.py", line 36, in rich_cast
renderable = cast_method()
File "/usr/local/lib/python3.7/dist-packages/pip/_internal/self_outdated_check.py", line 130, in __rich__
pip_cmd = get_best_invocation_for_this_pip()
File "/usr/local/lib/python3.7/dist-packages/pip/_internal/utils/entrypoints.py", line 60, in get_best_invocation_for_this_pip
os.path.join(binary_prefix, exe_name),
File "/usr/lib/python3.7/genericpath.py", line 97, in samefile
s2 = os.stat(f2)
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/pip'
Call stack:
File "/usr/local/bin/pip", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.7/dist-packages/pip/_internal/cli/main.py", line 70, in main
return command.main(cmd_args)
File "/usr/local/lib/python3.7/dist-packages/pip/_internal/cli/base_command.py", line 101, in main
return self._main(args)
File "/usr/local/lib/python3.7/dist-packages/pip/_internal/cli/base_command.py", line 223, in _main
self.handle_pip_version_check(options)
File "/usr/local/lib/python3.7/dist-packages/pip/_internal/cli/req_command.py", line 148, in handle_pip_version_check
pip_self_version_check(session, options)
File "/usr/local/lib/python3.7/dist-packages/pip/_internal/self_outdated_check.py", line 237, in pip_self_version_check
logger.info("[present-rich] %s", upgrade_prompt)
File "/usr/lib/python3.7/logging/__init__.py", line 1383, in info
self._log(INFO, msg, args, **kwargs)
File "/usr/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/usr/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/usr/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/usr/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/usr/local/lib/python3.7/dist-packages/pip/_internal/utils/logging.py", line 179, in emit
self.handleError(record)
Message: '[present-rich] %s'
Arguments: (UpgradePrompt(old='22.1.2', new='22.2.2'),)
J’ai également vu sur la notice du plug in:
A savoir que pour exécuter un script, celui-ci doit avoir les droits www-data.
J’ai essayé sudo chown www-data:www-data vl53l1x.py mais cela n’a rien fait.
dois-je attribuer des droits quelconques d’une certaine manière?
Je suis plutôt nouvelle dans la programmation alors je ne comprends pas toujours toutes les subtilités… en tout cas j’ai fait plusieurs recerches sur le forum et je n’arrive à rien de concluant.
Auriez vous des pistes pour m’aider.
Voici ma config sur jeedom
En vous remerciant grandement par avance!





