La piste PYTHONPATH semble plus prometteuse après un nouvel essai sur le PI de test (sans le matos), mais il semble que le path du venv ne suffise pas car alors le plugin ne charge pas (et derrière, pas mal de pb côté domoticz qui plante) avec au moins ce path et erreurs affichés qui mettent sur la piste:
Code : Tout sélectionner
2024-06-23 17:02:42.742 Error: Zi-Stick: (Zigate) failed to load 'plugin.py', Python Path used was '/home/domo/domoticz/plugins/Domoticz-Zigbee/:/home/domo/domoticz/plugins/domoticzPythonVenv:/usr/lib/python311.zip:/usr/lib/python3.11:/usr/lib/python3.11/lib-dynload:/usr/local/lib/python3.11/dist-packages:/usr/lib/python3/dist-packages:/usr/lib/python3.11/dist-packages'.
2024-06-23 17:02:42.764 Status: PluginSystem: 1 plugins started.
2024-06-23 17:02:42.874 Error: Zi-Stick: Traceback (most recent call last):
2024-06-23 17:02:42.874 Error: Zi-Stick: File "/home/domo/domoticz/plugins/Domoticz-Zigbee/plugin.py", line 112, in <module>
2024-06-23 17:02:42.874 Error: Zi-Stick: import z4d_certified_devices
2024-06-23 17:02:42.874 Error: Zi-Stick: ModuleNotFoundError: No module named 'z4d_certified_devices'
Bref, avec le seul path venv ajouté on ne trouve pas z4d_certified_devices qui est 2 répertoires en dessous.
Si dans /etc/init.d/domoticz.sh on mets les deux, donnant chez moi (avec un python 3.11 sous bookworm):
Code : Tout sélectionner
export PYTHONPATH="/home/domo/domoticz/plugins/domoticzPythonVenv/:/home/domo/domoticz/plugins/domoticzPythonVenv/lib/python3.11/site-packages"
Niveau démarrage plugin ca se passe mieux:
Code : Tout sélectionner
2024-06-25 15:53:57.001 Status: Zi-Stick: Initialized version 7.1, author 'pipiche38'
2024-06-25 15:53:57.010 Status: Zi-Stick: Welcome to Zigbee for Domoticz (Z4D) plugin.
2024-06-25 15:53:57.010 Status: Zi-Stick: Z4D requires python3.8 or above and you are running 3.11
2024-06-25 15:53:57.011 Zi-Stick: Z4D loading PluginConf
2024-06-25 15:53:57.013 Zi-Stick: Loading PluginConf - from Domoticz sqlite Db
2024-06-25 15:53:57.014 Zi-Stick: /home/domo/domoticz/plugins/Domoticz-Zigbee/Conf/PluginConf-47.json timestamp is 1718366420.0
2024-06-25 15:53:57.014 Zi-Stick: Dz PluginConf is older than Json Dz: 0 Json: 1718366420.0
2024-06-25 15:53:57.016 Status: Zi-Stick: PluginAnalytics set to 1
2024-06-25 15:53:57.016 Status: Zi-Stick: channel set to 20
2024-06-25 15:53:57.016 Status: Zi-Stick: TXpower_set set to 20
2024-06-25 15:53:57.016 Status: Zi-Stick: filename set to /home/domo/domoticz/plugins/Domoticz-Zigbee/Conf/PluginConf-47.json
2024-06-25 15:53:57.016 Status: Zi-Stick: pluginHome set to /home/domo/domoticz/plugins/Domoticz-Zigbee
2024-06-25 15:53:57.016 Status: Zi-Stick: homedirectory set to /home/domo/domoticz/plugins/Domoticz-Zigbee
2024-06-25 15:53:57.016 Status: Zi-Stick: pluginData set to /home/domo/domoticz/plugins/Domoticz-Zigbee/Data
2024-06-25 15:53:57.016 Status: Zi-Stick: pluginConfig set to /home/domo/domoticz/plugins/Domoticz-Zigbee/Conf
2024-06-25 15:53:57.016 Status: Zi-Stick: pluginOTAFirmware set to /home/domo/domoticz/plugins/Domoticz-Zigbee/OTAFirmware
2024-06-25 15:53:57.016 Status: Zi-Stick: pluginReports set to /home/domo/domoticz/plugins/Domoticz-Zigbee/Reports
2024-06-25 15:53:57.016 Status: Zi-Stick: pluginWWW set to /home/domo/domoticz/plugins/Domoticz-Zigbee/www
2024-06-25 15:53:57.016 Status: Zi-Stick: pluginLogs set to /home/domo/domoticz/plugins/Domoticz-Zigbee/Logs
2024-06-25 15:53:57.017 Status: Zi-Stick: ControllerInRawMode set to True
2024-06-25 15:53:57.017 Status: Zi-Stick: expJsonDatabase set to 0
2024-06-25 15:53:57.017 Status: Zi-Stick: ControllerInRawMode set to True
2024-06-25 15:53:57.202 Status: Zi-Stick: Checking Python modules /home/domo/domoticz/plugins/Domoticz-Zigbee/requirements.txt
2024-06-25 15:53:57.255 Zi-Stick: Installing plugin custom page /home/domo/domoticz/www/templates/Zi-Stick.html
2024-06-25 15:53:57.257 Zi-Stick: start_logging_thread
2024-06-25 15:53:57.258 Zi-Stick: logging_thread - listening
2024-06-25 15:53:57.259 Status: Zi-Stick: Please watch plugin log into /home/domo/domoticz/plugins/Domoticz-Zigbee/Logs/PluginZigbee_47.log
2024-06-25 15:53:57.281 Status: Zi-Stick: Z4D starting with stable7-7.1.012
2024-06-25 15:53:57.292 Status: [web:8080] Incoming connection from: 127.0.0.1
2024-06-25 15:53:57.321 Status: Zi-Stick: Z4D loads ZCL Cluster definitions
2024-06-25 15:53:57.403 Status: Zi-Stick: Z4D loaded 16 configuration from legacy database.
2024-06-25 15:53:57.405 Status: Zi-Stick: Z4D loads 16 configuration from the local certified Db.
2024-06-25 15:53:57.895 Status: Zi-Stick: Z4D loads 578 Certified devices from repository.
2024-06-25 15:53:57.896 Status: Zi-Stick: Z4D loading database
2024-06-25 15:53:58.015 Status: Zi-Stick: Z4D loads 4 entries from /home/domo/domoticz/plugins/Domoticz-Zigbee/Data/DeviceList-47.txt
2024-06-25 15:53:58.035 Status: Zi-Stick: Z4D configured to use transport mode: ZigpyEZSP
2024-06-25 15:54:00.988 Status: Zi-Stick: Z4D starting EZSP
2024-06-25 15:54:00.992 Status: Zi-Stick: Z4D starts WebUI
2024-06-25 15:54:01.033 Status: Zi-Stick: Web backend for Web User Interface started on port: 9440
2024-06-25 15:54:01.397 Status: Zi-Stick: Plugin looks to upgrade the Certified Device package
2024-06-25 15:54:02.637 Status: Zi-Stick: ++ Enables boost power mode and the alternate transmitter output.
2024-06-25 15:54:02.639 Status: Zi-Stick: ++ Started radio ezsp port: /dev/ttyUSB11
2024-06-25 15:54:02.640 Status: Zi-Stick: ++ Use of Zigpy Persistent Db
2024-06-25 15:54:04.272 Error: Zi-Stick: Error at startup [Errno 2] could not open port /dev/ttyUSB11: [Errno 2] No such file or directory: '/dev/ttyUSB11'
A la fin, il trouve pas le ttyUSB du coordinateur ce qui est normal sur le PI de test...
La question que je me pose, c'est la ligne "Plugin looks to upgrade the Certified Device package". Pas certain que ca file dans le venv.
Bref, ça progresse mais si qqun d'un peu plus calé en python pouvait me confirmer que ce que je fais semble correct? Sinon, je me doutais que j'aurais à faire les upgrade plugins manuellement afin de pouvoir activer le venv avant d'upgrader les requirements (AMHA, dans l'UI il va tout remettre dans les répertoires globaux/système), mais si au démarrage il va déjà chercher des choses automatiquement cela va poser pb je pense?