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

Salut @Nicocha, si je résume bien sur la même machine ; ton odroid C2, tu as donc d’installé :

  • Jeedom
  • Le serveur mqttt
  • zwavejs2mqtt
  • zigbee2mqtt
    Quand tu parles de commutation vers ZwaveJs2mqtt, tu parles de la remonté initiale des modules sur ZwaveJs2mqtt ?

Tu utilise Docker aussi ou bien tout est installé sur l’hôte en direct ?

Pour l’instant j’ai 2 RPI l’un avec Jeedom et l’autre avec moult containers dockers (dont zwave et mosquitto pour Jeedom) mais j’ambitionne de regrouper mes outils « de prod » sur 1 seul appareil (et utiliser l’autre juste pour mes test)
Du coup je ferais comme @Tonio16 sur 1 seul appareil (RPI3b+ aussi ou l’autre c’est un RPI4) :
Jeedom + Docker (zwavejs2mqtt + broquer mosquitto + proxy) (éventuellement + database)

oui j’avais ces 4 applis sur l’odriod C2.
ce qui est lent c’est la création des modules dans jeedom en mqtt avec le plugin Jmqtt ou mqtt.

j’avais tous mis en barre metal sur la machine, donc pas de docker.
J’utilise urbackup pour la sauvegarde de la machine, en particulier des conf zigbee et zwave.

Hello,
Ce n’est que lors de l’installation que c’est long ???

Oui, une fois les modules crée (attention c’est pas automatique pour les commandes), ça tourne et démarre beaucoup plus vite. C’est bien plus réactif.

Ok merci pour toutes ces infos, je vais essayer de m’y plonger…

@Bison , excuse moi si ma question va paraitre basique mais quelle utilité a passer sur un installation via snap,

Je prend en exemple l’installation faite par @Nicocha

moi je l’ai installer en direct sur la machine ave cette procedure :
Insallation zwavejs2mqtt

…pour installer zwavejs2mqtt dans les grandes lignes sur un debian 10.x :

git clone https://github.com/zwave-js/zwavejs2mqtt /opt/zwavejs2mqtt
cd /opt/zwavejs2mqtt
npm install
npm run build
npm start

nano /etc/systemd/system/zwavejs2mqtt.service

[Unit]
Description=zwavejs2mqtt
After=network.target

[Service]
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/zwavejs2mqtt
StandardOutput=inherit
StandardError=inherit
Restart=always
User=root

[Install]
WantedBy=multi-user.target

inscription au démarrage :

systemctl enable zwavejs2mqtt.service

Démarrage du service :

systemctl start zwavejs2mqtt

A ce jour j’ai un pi ou est directement installé mon serveur mosquitto , je m’en sert uniquement pour utiliser en mqtt mon roborock.
Forcement la migration vers zwaveJs2Mqtt m’interesse et je me pose plein de question.

Autre question : Aujourd’hui j’utilise donc le plugin zwave de jeedom. Mes équipements sont donc créer dessous.
J’ai vu dans ce fil que cette commande pouvait etre utilisée

pour migrer vers les nouveaux équipements via jMQTT, la fonction « cette commande remplace la commande » de jeedom est ton meilleur ami !! :smiley: Et la copie de l’historique sur la nouvelle commande aussi.

Donc si j’ai bien compris. un équipement présent dans zwave va remontter dans Jmqtt, je retourne dans zwave sur l’item et je clique sur remplacer la commande qui sera apparu dans jmqtt ? aussi simple que cela ?

Bonjour,

J’ai utilisé l’une des méthodes d’installation décrite dans la doc de zwavejs2mqtt et celle proposé n’en fait, sauf erreur de ma part, pas partie.

Snap s’occupe de l’installation mais c’est aussi un service qui tourne en permanence et qui met à jour zwavejs2mqtt automatiquement.

Tu peux donc à priori utiliser la procédure donnée par notre ami puisqu’elle fonctionne chez lui :smile:.

Ensuite pour la fonction Jeedom de remplacement de commande, c’est commande par commande. Il faudra donc aller sur le nouvel équipement jMQTT puis sur la première commande et cliquer sur le bouton adéquat pour aller chercher la commande d’avant.

Merci @Bison pour ton retour ! Ca m’aide à mieux comprendre et appréhender cette transition

1 « J'aime »

@mangles Il faut ếtre sacrément motivé pour faire ça avec quelques centaines de commandes ! :sweat:

Tu suggères quelle façon de faire ? Recreér simplement tout les équipements comme de nouveau équipements dans JMQTT ?

C’est effectivement pas la technique que j’ai conseillé dans le tuto mais bon ça existe, à chacun de voir le plus pratique :smile:

Au pire, j’utiliserais les templates dans MQTT

Je suis toujours en réflexion sur cette migration. Z-Wave. Mais, je ne pense pas me prendre la tête à importer les commandes modules. Je considère que c’est une grosse perte de temps pour si peu de valeur ajoutée. Je partirai sur des objets MQTT génériques, un peu comme j’avais fait avec les virtuels dans Jeedom. Ensuite, je ferais le mapping entre les modules et les objets MQTT dans Node-Red pour effectuer toutes ces choses « en masse ».

Ok. bon après j’ai pas des masses d’objet sous zwave non plus.
20 noeud.
Je viens de tester l’import d’un,avec les Template ca va vite derrière !

Bon au final j’ai franchi le pas grace aux très bonnes explications de ce fil de discussion.
Tout les items sont remontés très rapidement dans zwavejs2mqtt.
J’ai suivi la stratégie de nommage conseillée par @bison. C’est un vrai bon conseil et un vrai plus pour s’y retrouver.
J’ai énormément travaillé de concert avec mqtt explorer qui est plus que primordial de mon point de vue pour comprendre et voir ce qui se passe.

Au final j’ai déjà tout transférer en commande jmqtt, les templates sont un vrai plus. J’ai mis plus de temps la ou il fallait que je retrouve mes billes mais c’est la que le mqtt explorer est un vrai plus. Les instances des commandes sous openzwave aide bien aussi a retrouver les numéros de topics. Et faire le lien pour créer les commandes adéquat.
Les scénarios sont déjà mis a jour, jeemate également et mon design aussi.

Il me reste seulement à traiter un module. Mon Fgbs 222 que je traiterai tranquillement demain.

Je trouve le système plus réactif sur l’exécution de commande multiple ( extinction générale des lampes par exemple).

J’ai une question.
Comment sauvegarder la configuration que l’on fait sous zwavejs2mqtt pour palier entre autres à un plantage éventuel ou une migration un jour sur un docker qui serait stocker au hasard sur mon jeedom actuel une fois la 4.2 sortie ?

2 « J'aime »

Bravo !

Tu peux sauver settings.json et node.json

Je rajouterai ça dans un futur update du tuto.

2 « J'aime »

Merci @Bison .
Excellent !

Bon plus complexe avec le fgbs222.
J’ai l’impression qu’il ne remontent pas de la même façon que dans openzwave.
Donc pour le moment je ne retrouve pas mes billes.
Mais c’est une histoire de temps.:sweat_smile:

J’ai dû faire un template pour ce modèle, tu ne l’as pas dans la liste ?