OpenZwave sur Debian11 (en dépannage)

Bonjour à tous

Sujet que vous avez déjà vu X fois, et malgré tout, je vous sollicite.

Je dois upgrader mes smarts (de 7 ans, oui) pour continuer d’avoir différents bâtiments opérationnels. Je suis resté dans les version antérieur autant que possible… et j’ai du faire un saut de debian 9 à 11 avec le core jeedom de 3.3.60 à 4.3.9 en en flashant l’emmc officiel avec Bullseye (donc debian 11).

Ma premiere longue galère a été de récuprer le backup et réussir à la passer en 4.1 (passage par une machine virtuelle, etc.) Au final, j’ai attérie en jeedom 4.3 et je n’ai pas pu charger le backup sur une image jeedom sur débian 10 (bien que je sois passé par marchine virtuelle et ensuite chargement sur smart).

Bref, si je ne veux pas renoncer à totues mes config sur Jeedom en zwave, il me faut avoir OpenZwave (donc Python2.7 max) opérationnel sur une débian 11 (donc python 3.9 seulement)

J’ai vu diverses propositions type :

pip3 install openzwave

Mais cette premiere commande ne fait /fera rien car openzwave incompatble python3

J’ai aussi :

update-alternatives --install /usr/bin/python python

Mais je lis @Akenad qui indique de ne surtout pas le faire sinon mixup ddans les liens des modules.

Du coup, j’ai installé python2 pour openzwave via apt get install python (et il a mis la 2.7)
Mais je ne peux pas configurer le module openzwave avec pip
Il est pourtant présent (il était dans le backup), et donc je peux l’activer.

A ce stade, j’ai mqqt et zwave.js opérationnels (dépendances ok après plusieurs jours de recherche sur la community)
Si je désactive le zwave.js, je peux activer openzwave. (idem, dépendance ok, je crois que j’ai du lui demander de se réinstaller pour y arriver). Mais openzwave ne se lancera pas. Je tombe sur des erreurs de code. Meme ayant Python 2.7, il n’aboutit pas :

cat openzwave
[2024-09-28 17:35:17][INFO] : Lancement démon openzwave : /usr/bin/python /var/www/html/plugins/openzwave/core/class/../../resources/openzwaved/openzwaved.py  --device /dev/ttyS1 --loglevel info --port 8083 --config_folder /var/www/html/plugins/openzwave/core/class/../../resources/openzwaved/config --data_folder /var/www/html/plugins/openzwave/core/class/../../data --callback http://127.0.0.1:80/plugins/openzwave/core/php/jeeZwave.php --apikey hLZNE3UvLTeavWF9Mr94f64Yu79hfD3e --suppressRefresh 0 --cycle 0.3 --pid /tmp/jeedom/openzwave/deamon.pid
Traceback (most recent call last):
  File "/var/www/html/plugins/openzwave/core/class/../../resources/openzwaved/openzwaved.py", line 18, in <module>
    from ozwave import globals,server_utils,rest_server
  File "/var/www/html/plugins/openzwave/resources/openzwaved/ozwave/globals.py", line 1, in <module>
    import utils,network_utils,controller_utils,node_utils
  File "/var/www/html/plugins/openzwave/resources/openzwaved/ozwave/utils.py", line 6, in <module>
    import network_utils
  File "/var/www/html/plugins/openzwave/resources/openzwaved/ozwave/network_utils.py", line 5, in <module>
    import globals,utils,dispatcher_utils,serialization,node_utils
  File "/var/www/html/plugins/openzwave/resources/openzwaved/ozwave/dispatcher_utils.py", line 4, in <module>
    import network_utils,node_utils,value_utils,scene_utils,controller_utils
  File "/var/www/html/plugins/openzwave/resources/openzwaved/ozwave/node_utils.py", line 5, in <module>
    from lxml import etree
ImportError: No module named lxml

Donc je me sens réduit à devoir lancer la smart en mode zwave.js et d’esperer qu’elle remonte tout.

A défaut, pourriez vous m’aider à lancer openzwave en bidoulant python ?

Je suis fatigué d’avoir un truc qui n’est pas si résilient quand on l’upgrade et qui nécessite d’être un dev pour réussir à ne pas perdre ses conf.
(c’est pour cela que je ne faisais plus les update, de peur que ca remette tout en rade et que j’en prenne pour le WE !)

Merci pour votre retour
Christophe

Bonjour,

Un petit conseil,
laisse tomber python2 et openzwave, ce n’est plus supporté,
utilise le plugin zwavejs à partir de Debian 11 (debian 10 plus supporté) et Jeedom 4.4.

akenad :slight_smile:

Bonjour,
Les équipements zwave étant sur la clé je n’ai pas du bien comprendre pourquoi tu tiens à avoir un openzwave opérationnel.
Même s’il n’est pas avec le demon lancé, avec l’outil remplacer tu bascules toutes les commandes sur les nouveaux équipements découvert par zwavejs.

Bonjour,

Du coup c’est encore plus compliqué à mettre à jour plutôt que de mettre à jour au fur et à mesure. Problème classique : il faut payer les intérêts.

Dette technique — Wikipédia.

1 « J'aime »

Bonjour Rennais3500
La découverte n’est pas si développée que ca… certains sont oubliés (trop loin meme si electriques, car plusieurs saut), d’autres sont pas compatibles, les noms sautent, et les noms des commandes changent.
Par ailleurs l’outil remplacer… ca marche +/- je trouve : les noms ne sont pas récuprés, ca cache les cibles au lieu des sources. Et faut finaliser à la main.
Quand il y a des dizaines d’actionneurs sur un réseau, ca ne fait pas envie. Ce n’est pas fluide. C’est presque être obligé de refaire l’instal
Bref, on est plutôt sur un environnement de dev que de prod, bien que smart, atlas, luna (…) soit packagés, dès lors que 6-7 ans après la compatibilité ascendente n’est pas fluide. C’était mes raisons…

Merci j’avais compris la recommandattion, mais c’est une question de disponibilité à prendre pour le faire. J’expliquais à Rénnais3500 pourquoi ci dessous

A titre d’illustration, je viens de me lancer avec cette approche sur ma box perso (maison), ca m’a prisdéjà 8h et ce n’est pas fini.
A l’instant, je découvre une nouvelle situation alors que Zwavejs ne transmet plus les commandes (pourtant logguées dans Jeedom) et alors même qu’il est lui totalement opérationnel (d’après les log du plugin)… C’est se former à nouveau, sur un nouveau pluggin, pas si « officiel » que ca même si c’est vrai, il ne plante pas la box…

Bien le bonjour,
Ah pas de bol décidément.
Par contre je n’ai pas eu du tout la même expérience que toi sur le passage d’openzwave à zwavejs. Il faut vraiment laisser le temps de la découverte du réseau, c’est forcément très long pour les équipements éloignés et/ou sur piles.
J’ai trouvé ça plutôt bien fait y compris l’outil Remplacer qui a été très simple à utiliser et très efficace. Je n’ai rien perdu ni nom ni commande.
La seule chose qu’il ne migre pas c’est la commande utilisée comme déclencheur d’un scénario. Donc là il faut ouvrir les scénarios et faire à la main.
Mais on trouve facilement quel scénario est concerné. Le plus simple à mon goût, je fais une suppression de l’équipement openzave (sans la valider) et jeedom te dit où cet équipement est utilisé et en cliquant dessus la commande t’ouvre automatiquement dans une autre fenêtre le scenario à modifier.
Je suis facilement critique pour qu’on s’améliore mais pour le coup j’ai trouvé bien au contraire que Remplacer se mettait au service du néophyte sans compétences de dev.
J’avais suivi ce tuto de mémoire me semble t’il.
https://www.youtube.com/watch?v=50rSPRqyRaQ
Ca ne va pas t’aider plus que ça maintenant :smile:
Bon dimanche de remise en route.

Oui, c’est le même tuto que j’ai regardé. Suivi pas forcément car je venais d’une situation plus compliqué nécessitant également al récupération d’un backup en 3.3.60

Dans l’immediat, zwave.js n’émets plus de commande vers les actionneurs, alors qu’ils étaient tous intégrés.
En revenant sur OpenZwave, je retrouve la connectivité
En revenant à nouveau sur Zwave.js, je retrouve la situation décrite ci dessus, à savoir aucune commande ne part. Pourtant, j’ai des remontées d’information. As tu une idée ?
J’ai déjà relancé les deps, relancé le pluggin (en auto et en manuel). Et dans les log temps réel, je vois bien jeedom qui demande la commande au plugin zwave.js

Mais alors pourquoi elle ne part pas en zwave (!?!?!?)

merci

Je suis loin d’être un expert. Mais tu devrais ouvrir un ticket chez support jeedom puisque les smart sont des box officielles.
Je n’en ai pas donc je ne les connais pas.
Si c’est un clé usb zwave dessus, je vérifierais que j’ai bien le bon port byid qui est peut-être plus le même que quand tu étais en debian 9

Tu n’as donné aucune copie d’écran de tes configurations et tes logs.

Par contre, tu écris beaucoup mais cela ne fait pas avancer la résolution du problème.

Antoine


commande sur les organes Zwave : renomés à la main (remplacer inefficace, etc.) et désormais commande inopéreante alors même que les statuts remontent

log zwave.js

[2024-09-29 11:47:46] INFO  : Arrêt du démon ZwaveJS
[2024-09-29 11:52:24] INFO  : Début d'activation du plugin
[2024-09-29 11:52:25] INFO  : Info sur le démon : {"log":"zwavejs","launchable":"ok","state":"nok","launchable_message":"Gestion automatique d\u00e9sactiv\u00e9e","auto":"0","last_launch":"2024-09-29 11:09:01"}

tail du log zwavejs_packages

++ cut -d: -f2
++ tr -d ' '
+ RPI_BOARD_REVISION=020c
+ [[ 020c == \a\0\2\0\8\2 ]]
+ [[ 020c == \a\2\2\0\8\2 ]]
+ [[ 020c == \a\0\2\0\d\3 ]]
+ echo 'Everything is successfully installed!'
Everything is successfully installed!
+ echo 11
+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end zwavejs
+ echo 12
+ rm /tmp/jeedom_install_in_progress_zwavejs
+ echo '*******************End of package installation******************'
*******************End of package installation***************

tail du log zwavejsd

|___  /  \ \        / /                     | |/ ____|   | |  | |_   _|
/ /____\ \  /\  / /_ ___   _____         | | (___     | |  | | | |
/ /______\ \/  \/ / _' \ \ / / _ \    _   | |\___ \    | |  | | | |
/ /__      \  /\  / (_| |\ V /  __/   | |__| |____) |   | |__| |_| |_
/_____|      \/  \/ \__,_| \_/ \___|    \____/|_____/     \____/|_____|
e[90m2024-09-29 10:22:42.728e[39m e[33mWARNe[39m e[1mSTOREe[22m: scenes.json not found
yarn run v1.22.22
$ node --preserve-symlinks server/bin/www.js
e[90m2024-09-29 11:27:08.133e[39m e[32mINFOe[39m e[1mAPPe[22m: Version: 9.20.0.bf3bdc3
e[90m2024-09-29 11:27:08.151e[39m e[32mINFOe[39m e[1mAPPe[22m: Application path:/var/www/html/plugins/zwavejs/resources/zwave-js-ui
______  __          __                      _  _____     _    _ _____
|___  /  \ \        / /                     | |/ ____|   | |  | |_   _|
/ /____\ \  /\  / /_ ___   _____         | | (___     | |  | | | |
/ /______\ \/  \/ / _' \ \ / / _ \    _   | |\___ \    | |  | | | |
/ /__      \  /\  / (_| |\ V /  __/   | |__| |____) |   | |__| |_| |_
/_____|      \/  \/ \__,_| \_/ \___|    \____/|_____/     \____/|_____|
e[90m2024-09-29 11:27:08.211e[39m e[33mWARNe[39m e[1mSTOREe[22m: scenes.json not found

Bonjour,

Contrairement à ce que j’ai cru comprendre de tes précédents messages, tu es encore en Debian 10.

Or, normalement tu ne peux pas être sur la version du plugin du 27/09 en Debian 10. Log complet des dépendances stp ?