Jmqtt -> Ko et Zwave-JS -> Ko

Bonjour,

Depuis la dernière mise à jour de jMQTT et MQTT manager, je n’est plus aucun protocole lié qui fonctionne correctement.

Je résume
1 - Ma config :

  • Une VM Jeedom sur FreeBox Delta en version 4.4.2 (que j’ai mise à jour en espérant résoudre mes incidents).
  • Un connecteur Aeotec Zwave + Gen5
  • Un Module Sonoff Basic avec Une ROM Tasmota en version 8.3.1.
    Informations Jeedom Delta
Core : 4.4.2 (V4-stable)
DNS Jeedom Delta : oui

Plugin : Z-Wave JS
Version : 2024-02-27 11:01:50 (stable)
Statut Démon : Démarré - (2024-04-19 13:22:17)

2 - Mes PlugIn :

2024-04-19 19:32:11] INFO  : Démarrage du démon MQTT Manager : sudo  /usr/bin/node /var/www/html/plugins/mqtt2/resources/mqtt2d/mqtt2d.js --loglevel debug --socketport 55035 --mqtt_server mqtts://127.0.0.1:8883 --client_key /var/www/html/plugins/mqtt2/data/ssl/client.key --client_crt /var/www/html/plugins/mqtt2/data/ssl/client.crt --ca /var/www/html/plugins/mqtt2/data/ssl/ca.crt --username "jeedom" --password "Xwb4kXcGM33NytgRjQIVvb6LLBcPgU2QUyXZlaRLV8GQnxht8OT5Q9uXRUDSfasm" --callback http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php --apikey OhGtBOIYpTW0RttdZ2ZFNd53EOGeiuHPO95dUiVaMfL7CcCfJjcJcIpfPsjG4W2H --cycle 0.3 --pid /tmp/jeedom/mqtt2/deamon.pid
[2024-04-19 19:32:13] DEBUG  : Message reçu sans prise en charge par un plugin : {"jeedom":{"status":"online"}}
[2024-04-19 19:32:13] DEBUG  : Message reçu sans prise en charge par un plugin : {"jeedom":{"status":"online"}}
[2024-04-19 19:32:13] DEBUG  : Message reçu sans prise en charge par un plugin : {"jeedom":{"cmd":{"event":{"2299":{"value":"11.1","humanName":"[FreeBox][Freebox Player][Version]","unite":"","name":"Version","type":"info","subtype":"string"}}}}}
[2024-04-19 19:32:13] DEBUG  : Message reçu sans prise en charge par un plugin : {"jeedom":{"cmd":{"event":{"4030":{"value":1,"humanName":"[FreeBox][Broker MQTT Jeedom][connected]","unite":"","name":"connected","type":"info","subtype":"binary"}}}}}

Pas d’erreur dans les logs

0010|[2024-04-19 17:32:10,791] INFO  Main            MainThread   set_log_level() : New log level set to: ERROR
0011|[2024-04-19 18:20:57,118] ERROR  Client198       Brk198Th     on_disconnect() : Unexpected disconnection from broker!
0012|[2024-04-19 18:21:02,122] ERROR  Client198       Brk198Th     on_disconnect() : Unexpected disconnection from broker!
0013|[2024-04-19 18:21:04,127] ERROR  Client198       Brk198Th     on_disconnect() : Unexpected disconnection from broker!
0014|[2024-04-19 18:21:09,130] ERROR  Client198       Brk198Th     on_disconnect() : Unexpected disconnection from broker!
0015|[2024-04-19 18:21:19,133] ERROR  Client198       Brk198Th     on_disconnect() : Unexpected disconnection from broker!

Le souci est qu’aucune commande n’est prise en compte alors que depuis l’URL du tasmota tout est ok sur le ON/OFF

  • ZWave-Js 2024-02-27 11:01:50

    Ici ça coince, mais impossible de trouver des éléménts des configuration dans la configuration du jMQTT :frowning: comme notifié dans le message.
[2024-04-16 20:30:21] ERROR  : Impossible de démarrer le démon ZwaveJS, consultez les logs
[2024-04-16 20:31:07] ERROR  : Impossible de démarrer le démon ZwaveJS, consultez les logs
[90m2024-04-19 17:20:28.466e[39m e[33mWARNe[39m e[1mSTOREe[22m: scenes.json not found
error Command failed with signal "SIGTERM".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
yarn run v1.22.22
$ node --preserve-symlinks server/bin/www.js
e[90m2024-04-19 17:32:25.914e[39m e[32mINFOe[39m e[1mAPPe[22m: Version: 9.6.2.6e369a1
e[90m2024-04-19 17:32:25.920e[39m e[32mINFOe[39m e[1mAPPe[22m: Application path:/var/www/html/plugins/zwavejs/resources/zwave-js-ui

Lors des mise à jour précédentes, un recalage Port du contrôleur Z-Wave et un ping des clients permettait une remise en route. Mais là plus aucun éléménts apparait dans « santé »

Coté dongle USB il est bien prit en compte par l’OS

Il est fort possible que les deux soucis soient décorrélés. Mais dans le doute, si ça permet de trouver le dénominateur commun.

Hello,

Essaye de changer le client id dans jMQTT, il interfère probablement avec le client id dans mqtt manager.

Bad

Salut Bad,

Petite question: pourquoi tu ne forces pas un clientid aléatoire et suppression de cette option?
Je ne sais plus si tu utilises paho.mqtt mais sur cette lib si on en spécifie pas c’est d’office le cas.

Je dois dire que je ne vois pas dans quel cas c’est utile d’en specifier un manuellement pour l’usage qu’on en fait sur nos boxs

Hello,

Il y a des cas (broker dans Azure il me semble) où il est nécessaire de préciser le client id en plus d’une authentification et d’un certificat.

Mais tu as raison, je rajouterais dans une prochaine version un paramètre général pour cacher un certain nombre d’options.

Bad

1 « J'aime »

Bonjour Bad,

Pour le broker jMQTT, j’ai changé le client ID, et plouf le demon est tombé en erreur.

J’ai fait un rollback du client Id nada.

Finalement, j’ai lancé une réparation du mosquito et hop c’est reparti, la prise sonoff est de nouveau opérationnelle même avec un clientID nouveau.

Mais du coup changement coté MQTT manager, le broker local mosquitto tombe en KO

Je tente de passer en sur le broker distant (donc le même que celui dans jMQTT),après avoir reporter la conf (C’est ce que j’avais quand j’ai installé le zwave avant la mise en place du mosquito : Il y a plusieurs mois).
Mais dans Z-waves, le driver ne s’initialise pas, j’ai toujours : « Le plugin jMQTT est installé, veuillez vérifier la configuration du broker dans le plugin jMQTT et la reporter, si nécessaire, dans le plugin MQTT Manager. » or c’est ISO sauf que je ne vois pas de Client ID dans Mqtt manager.

Je relance une installation des dépendance et paf le Mosquito du jMQTT ce met en rideau.

Les logs du jmqttd :

e[90m2024-04-22 16:27:54.046e[39m e[33mWARNe[39m e[1mSTOREe[22m: scenes.json not found
e[90m2024-04-22 16:35:25.540e[39m e[31mERRORe[39m e[1mMQTTe[22m: Mqtt client error connect ECONNREFUSED 127.0.0.1:1883
Error: connect ECONNREFUSED 127.0.0.1:1883
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16)

En bref, coté jMQTT, j’ai bien identifié le bug. Mais coté MQTT manager, je tourne en rond.

Dois-je passer sur le broker local mosquito, sur le distant (mais quizz de la config) ou dois-je créer un nouveau broker dans jMQTT ?

Non un seul « Equipement Broker » dans jMQTT suffit pour ton installation.

Ce n’est certainement pas un bug, mais plutôt un problème de configuration des paramètres de connexion au Broker, soit dans MQTT Manager, soit dans jMQTT, les parametres doivent en principe être 100% alignés entre les MQTT MAnager et l’équipement Broker dans jMQTT (sauf le client Id qui doit être unique pour chacun d’entre eux).

Peux-tu partager à la conf complète de MQTT Manager :


et de l’équipement Broker dans jMQTT :

Quand MQTT Manager est OK et jMQTT KO ?

Bad

Bonjour Bad,
Merci pour ton retour.

Alors le démon est bien démarré mais dans les logs je trouve les éléments ci dessous :

[2024-04-23 07:43:57] DEBUG  : Send data to jeedom : {"zwave":{"driver":{"status":false}}}
[2024-04-23 07:44:03] DEBUG  : Received message on topic : zwave/_EVENTS/ZWAVE_GATEWAY-Jeedom/driver/driver_error => {"data":[{"message":"Failed to initialize the driver: ZWaveError: Timeout while waiting for an ACK from the controller (ZW0200)\n    at Driver.sendMessage (/var/www/html/plugins/zwavejs/resources/zwave-js-ui/node_modules/zwave-js/src/lib/driver/Driver.ts:5349:23)\n    at ZWaveController.queryCapabilities (/var/www/html/plugins/zwavejs/resources/zwave-js-ui/node_modules/zwave-js/src/lib/controller/Controller.ts:936:37)\n    at Driver.initializeControllerAndNodes (/var/www/html/plugins/zwavejs/resources/zwave-js-ui/node_modules/zwave-js/src/lib/driver/Driver.ts:1458:46)\n    at Immediate.<anonymous> (/var/www/html/plugins/zwavejs/resources/zwave-js-ui/node_modules/zwave-js/src/lib/driver/Driver.ts:1259:16) (ZW0100)","code":100}]}
[2024-04-23 07:44:04] DEBUG  : Send data to jeedom : {"zwave":{"_EVENTS":{"ZWAVE_GATEWAY-Jeedom":{"driver":{"driver_error":{"data":[{"message":"Failed to initialize the driver: ZWaveError: Timeout while waiting for an ACK from the controller (ZW0200)\n    at Driver.sendMessage (/var/www/html/plugins/zwavejs/resources/zwave-js-ui/node_modules/zwave-js/src/lib/driver/Driver.ts:5349:23)\n    at ZWaveController.queryCapabilities (/var/www/html/plugins/zwavejs/resources/zwave-js-ui/node_modules/zwave-js/src/lib/controller/Controller.ts:936:37)\n    at Driver.initializeControllerAndNodes (/var/www/html/plugins/zwavejs/resources/zwave-js-ui/node_modules/zwave-js/src/lib/driver/Driver.ts:1458:46)\n    at Immediate.<anonymous> (/var/www/html/plugins/zwavejs/resources/zwave-js-ui/node_modules/zwave-js/src/lib/driver/Driver.ts:1259:16) (ZW0100)","code":100}]}}}}}}
[2024-04-23 07:44:18] DEBUG  : Received message on topic : zwave/driver/status => false
[2024-04-23 07:44:18] DEBUG  : Received message on topic : zwave/driver/status => false
[2024-04-23 07:44:19] DEBUG  : Send data to jeedom : {"zwave":{"driver":{"status":false}}}

J’ai donc tenté une réinstallation du package via le centre de mise à jour.

Et j’ai donc les lignes suivantes qui sont apparues dans les log :

node:internal/modules/cjs/loader:1143
throw err;
^
Error: Cannot find module 'axios'
Require stack:
- /var/www/html/plugins/mqtt2/resources/mqtt2d/jeedom/jeedom.js
- /var/www/html/plugins/mqtt2/resources/mqtt2d/mqtt2d.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1140:15)
at Module._load (node:internal/modules/cjs/loader:981:27)
at Module.require (node:internal/modules/cjs/loader:1231:19)
at require (node:internal/modules/helpers:177:18)
at Object.<anonymous> (/var/www/html/plugins/mqtt2/resources/mqtt2d/jeedom/jeedom.js:17:15)
at Module._compile (node:internal/modules/cjs/loader:1364:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1422:10)
at Module.load (node:internal/modules/cjs/loader:1203:32)
at Module._load (node:internal/modules/cjs/loader:1019:12)
at Module.require (node:internal/modules/cjs/loader:1231:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/var/www/html/plugins/mqtt2/resources/mqtt2d/jeedom/jeedom.js',
'/var/www/html/plugins/mqtt2/resources/mqtt2d/mqtt2d.js'
]
}
Node.js v18.20.2

Et si je relance l’installation des dépendances dans MQTT Manager, c’est le Mosquitto du jMQTT qui tombe.

Il me manque la config de l’équipement Broker dans jMQTT stp (donc celui « qui ne marche pas » quand MQTT Manager « marche »).

Bonjour Bad,

C’est bon j’ai trouvé, c’était le Port du contrôleur Z-Wave - Bizarre parce qu’avant le dernier UpDate il fonctionnait bien en /dev/tty0 et là j’ai du passer sur /dev/ttyACM0

Tous les composants zwave sont de nouveau visible et opérationels.

Merci pour ton aide :wink:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.