[Tuto] jMQTT + Mosquitto + ZWave-JS-UI (anciennement ZWaveJS2MQTT)

Bon, je suis en mode quiche : quelle est la commande exact avec putty ?

La commande c’est cat /var/www/html/plugins/openzwave/resources/openzwaved/ozwave/manager_utils.py

Mais il faut le faire sur la VM Jeedom, pas MQTT

Désolé, ça prend du temps probleme a me connecter sur ma vm avec putty, en fait c’est l’ip de mon jeedom qui est en 192.168.1.6 mais sur le debian de ma vm qui est en 192.168.1.96

Sinon install le plugin JeeXplorer sur Jeedom tu te fera moins suer.

Bon je vais devoir sortir pour la journée, je ne pourrais plus trop répondre.
L’idée c’est de récupérer cette Network Key dans le fichier et la recomposer en 32 caractères comme je le montre dans le tuto.

Ensuite la mettre dans S0 Legacy puis rebooter la VM MQTT (je ne sais pas si c’est pris en compte en live ou pas).

Je suis en stable, donc je ne le vois pas sur le market !

La voici : globals.options.addOptionString("NetworkKey", "0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10", True)

Merci, Bison, en fait ta clé est la même et ça marche, c’est juste que ça prend des plombes, la ça fait 1h et j’ai environ 35 modules sur 70 qui sont en interview compléte

Ok, cool je me souvenais plus que c’était assez long la première fois.

Essaye de lancer un ordre on/off sur une prise qui dont l’interview est fini histoire de voir si ça marche bien.

Alors tu t’en sort ?

J’ai essayé de lancer un on / off sur une prise fibaro node id 41, l’ordre mets plsuieurs minutes a s’executer
Voila un bout de log :

2021-11-06 14:34:06.598 DEBUG SOCKET: Event ZWAVE_API emitted to idVl4InWMwK_AkThAAAB
2021-11-06 14:34:06.599 INFO ZWAVE: Calling api writeValue with args: [
{
nodeId: 41,
commandClass: 37,
endpoint: 0,
property: 'targetValue'
},
false,
{},
[length]: 3
]
2021-11-06 14:34:06.599 INFO ZWAVE: Writing false to 41-37-0-targetValue
2021-11-06 14:34:07.422 ERROR ZWAVE: Timeout while waiting for an ACK from the controller (ZW0200)
2021-11-06 14:34:17.864 ERROR ZWAVE: Error while writing false on 41-37-0-targetValue: Failed to send the command after 3 attempts. Transmission queue full (ZW0202)
2021-11-06 14:34:17.864 ERROR ZWAVE: Unable to write false on 41-37-0-targetValue
2021-11-06 14:34:17.864 INFO ZWAVE: Success zwave api call writeValue undefined

C’est peut etre parce que je viens de redemarrer la vm…
j’ai réessayé, c’est un peu mieux mais pas instantanné

2021-11-06 14:37:38.509 DEBUG SOCKET: Event ZWAVE_API emitted to idVl4InWMwK_AkThAAAB
2021-11-06 14:37:38.509 INFO ZWAVE: Calling api writeValue with args: [
{
nodeId: 41,
commandClass: 37,
endpoint: 0,
property: 'targetValue'
},
true,
{},
[length]: 3
]
2021-11-06 14:37:38.509 INFO ZWAVE: Writing true to 41-37-0-targetValue
2021-11-06 14:37:44.590 ERROR ZWAVE: Interview of node 93 has failed: Attempt 1/5 failed
2021-11-06 14:37:44.591 DEBUG MQTT: Publishing to zwave/nodeID_93/status: { time: 1636205864591, value: true, status: 'Unknown', nodeId: 93 } with options { qos: 1, retain: true }
2021-11-06 14:37:44.789 DEBUG MQTT: Publishing to zwave/SALON/Lampe_chevet/37/0/currentValue: { time: 1636205864789, value: true } with options { qos: 1, retain: true }
2021-11-06 14:37:44.789 INFO ZWAVE: Node 41: value updated: 37-0-currentValue false => true
2021-11-06 14:37:44.790 INFO ZWAVE: Success zwave api call writeValue undefined

J’essaie de passer en off, le module s’éteint après 1 minute alors qu’il est proche de la clé…
10 secondes de délai, ça s’ameliore

Je suis entrain d’essayer de créer un équipement dans JMQTT
Edit : ça y est les ordres sont instantanés, il fallait juste attendre 20 -30 minutes (j’ai quand meme 70 modules)

J’ai crée un equipement, j’ai nommé mes modules comme tu l’as indiqué

J’ai essayé de créer une commande action pour le on / off , mais il doit y avoir une erreur de ma part… c’est nok

Edit : c’est bon, j’ai trouvé la commande pour le on / off il faut ajouter « set » :
zwave/SALON/Lampe_chevet/37/0/targetValue/set

mais je ne retrouve ce « set » nul part dans le json ou mqtt explorer…

Un grand MERCI Bison, il ne reste plus qu’a tout créer, quel boulot !!!

1 « J'aime »

Ah ? En principe dans le json de l’équipement (que tu récupères sur zwavejs2mqtt) on retrouve bien le /set quand il s’agit d’envoyer des ordres.

Ok, je vérifierais mieux demain, j’arrête pour aujourd’hui, mais il me reste un boulot MONSTRE a recréer tous les équipements et les commandes, et ensuite modifier tous mes scénarios !!!
Ce qui a de bien avec les VM est que les 2 systemes co-existent et je passe de l’un a l’autre, donc je peux travailler tranquille

Sinon forcément certains modules éloignés qui étaient DEAD reste en dead, meme en utilisant les commandes pour soigner le node dans zwavejs2mqtt, … a creuser
Les outils pour soigner le réseau semble rudimentaires, sauf erreur de ma part

Oui c’est sûr plus on a de module et plus il y a de travail pour recréer les équipements et modifier les scénarios.

J’ai fais comme ça en passant de l’un à l’autre pendant quelques jours pour le faire tranquillement.
Certains ont utilisé la fonctionnalité pour dire que « Cette commande remplace la commande » afin de migrer plus vite.

image

A voir, moi j’ai préféré y aller doucement :slight_smile:

Pour les modules dead … c’est sûr que si les modules sont trop éloignés ça va pas forcément aider.

Il faudrait seulement moi attendre que l’interview global soit bien fini pour que l’ensemble des routes soient bien définie et puis essayer de faire un Heal Node ou bien voir avec"Failed Nodes" (que je n’ai pas essayé car pas besoin).

image

Bonjour,

Je crois l’avoir lu: on ne peut pas appliquer des widgets sur les commandes jmqtt ?
En tous cas , j’essaie et ça ne marche pas ou alors il faudrait modifier les widgets ?

Je profite de mon message pour apporter une petite précision : lorsque qu’on indique un nom et une location dans zwavejs2mqtt, cela n’est pas pris en compte de suite, même en relançant le topic (update topic), je suis obligé de relancer zwavejs2mqtt.

Salut
Si tel était le cas on aurait un gros problème …

Je n’ai utilisé que des virtuels (c’est pas bien) donc par curiosité je viens de tester d’appliquer un widget sur une commande jMQTT directement et comme indique olive ça fonctionne bien

image

Normalement ça fini par fonctionner mais faut pas être trop pressé oui, enfin merci pour la précision.

Merci, Bison, je vais regarder pourquoi mes widgets ne marchent pas alors que je ne fais que reprendre ceux qui marchent avec le plugin zwave, commandes on et off…

Salut,

Pour info, je suis entrain de creer les equipements dans JMQTT, et , d’un seul coup je m’aperçois que les ordres depuis jeedom ne passent plus…(zwavejs2mqtt : ok)
J’ai essayé de redémarrer le demon de JMQTT, sans succès, dans le log : connection refused error…

ConnectionRefusedError: [Errno 111] Connection refused
[2021-11-07 15:09:07,631][INFO]     : BrkId:  683 : Disconnected from Jeedom
[2021-11-07 15:09:12,642][ERROR]    : BrkId:  683 : WebSocket client encountered an Error!
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 318, in run_forever
    proxy_type=proxy_type)
  File "/usr/local/lib/python3.7/dist-packages/websocket/_core.py", line 250, in connect
    options.pop('socket', None))
  File "/usr/local/lib/python3.7/dist-packages/websocket/_http.py", line 130, in connect
    sock = _open_socket(addrinfo_list, options.sockopt, options.timeout)
  File "/usr/local/lib/python3.7/dist-packages/websocket/_http.py", line 208, in _open_socket
    raise err
  File "/usr/local/lib/python3.7/dist-packages/websocket/_http.py", line 185, in _open_socket
    sock.connect(address)
ConnectionRefusedError: [Errno 111] Connection refused
[2021-11-07 15:09:12,643][INFO]     : BrkId:  683 : Disconnected from Jeedom

Le demon ne démarre plus…

Ah c’est marrant c’est le style de problème que j’avais eu au début et c’est pourquoi j’étais passé en bêta.

Il faudrait ouvrir un sujet spécifique pour que les développeurs de jMQTT regarde ça.

Sinon tu peux tenter sur la branche bêta de jMQTT voir si ça stabilise la connexion car je n’ai jamais de problème depuis sur la bêta.

Vérifie aussi que le Broker Mosquito tourne bien en ssh sur la VM MQTT.

systemctl status mosquitto

J’ai redémarré jeedom, c’est reparti, mais bon ça ne me rassure pas lol
La prochaine fois si ça se produit, je vérifierais mosquito et ouvrirait un sujet spécifique
J’hésite à passer en béta, car je suis en stable y compris les plugins, et plus de support de jeedom si on est en béta

Je vais arrêter pour aujourd’hui, j’ai dépassé mon quota de temps devant un écran lol