Dongle z-wave non reconnu

Bonjour,

le dongle “sonoff z-wave 800 dongle plus” model: dongle-PZG23 n’est pas reconnu par gladys dans Z-WAVE JS UI.

Merci

Bonjour @Frederic_Trehoux et soit le bienvenu sur le forum Gladys !

Alors ta remarque est tout à fait normale car Gladys ne gère pas les clés usb zwave, c’est zwave-js-ui qui s’occupe de ça comme indiqué dans la doc.

Il faut donc que tu te crées une VM ou un container Docker pour y installer zwave-js et zwave-js-ui.
A partir de là, c’est cette machine virtuelle qui gèrera ta clé usb qui est très bien supportée d’après la doc de zwave-js.
Tu te connectes sur ton instance zwave-js-ui, puis Settingset Z-Wave et là tu sélectionnes ta clé usb.
Ensuite dans la partie MQTT Gateway, tu peux suivre la doc.

La doc indique qu’il faut te connecter à un broker MQTT depuis zwave-js-ui et depuis l’intégration Z-Wave JS UI de Gladys.
Soit tu utilises le docker MQTT interne de l’intégration MQTT dans Gladys (à activer), soit tu peux te créer ton propre docker MQTT externe.

Si tu nous en dit un peu plus sur ton installation matérielle et logicielle, on pourra te guider au mieux.
N’hésite surtout pas si tu as besoin de plus d’info.

ok mais comment installer ce container docker zwavejs ui ? tout se fait en ligne de commande depuis server Ubuntu je présume.

Actuellement oui, il n’y a pas d’automatisation comme on peut l’avoir pour l’intégration MQTT ou Z2M ou node-red.

De ce que j’ai pu voir pour le docker compose, ça donnerait quelque chose comme ça (source) :

version: '3.7'
services:
    zwave-js-ui:
        container_name: zwave-js-ui
        image: zwavejs/zwave-js-ui:latest
        restart: always
        tty: true
        stop_signal: SIGINT
        environment:
            - SESSION_SECRET=mysupersecretkey
            - TZ=Europe/Paris
        networks:
            - zwave
        devices:
            # Do not use /dev/ttyUSBX serial devices, as those mappings can change over time.
            # Instead, use the /dev/serial/by-id/X serial device for your Z-Wave stick.
            - '/dev/serial/by-id/insert_stick_reference_here:/dev/zwave'
        volumes:
            - zwave-config:/usr/src/app/store
        # Or by using local folder
        # - ./store:/usr/src/app/store
        ports:
            - '8091:8091' # port for web interface
            - '3000:3000' # port for Z-Wave JS websocket server
networks:
    zwave:
volumes:
    zwave-config:
        name: zwave-config

Je ne sais pas si le network doit être zwave (réseau dédié) ou bien host pour que tu puisses accéder à l’UI, à tester.

merci mais pour moi c’est du Chinois. je ne suis pas du tout familiariser avec docker. dommage que l’intégration ne gère pas cela.

mince, désolé je suis parti bille en tête sans penser à ton niveau de connaissances en linux :frowning:

Je peux essayer de te guider si tu le souhaites, avec des commandes plus simples.
Comment as-tu installer Gladys ?

c’est gentil à toi. je connais les commandes Linux de base mais docker c’est tout nouveau pour moi. je l’utilisais sur jeedom mais c’était un plugin intégré. J’ai installé Gladys sur un mini pc avec docker donc et sur un server Linux. d’après ce que je comprend il faut télécharger le container ZWave JS en ligne de commande et l’activer ensuite.

@pierre-gilles Est-il possible d’avoir une meilleur intégration de ZwaveJS sur Gladys comme Z2M ?

Tout est possible. Si un dev est chaud pour proposer une PR.

Ah ouais ce serait cool, surtout que zwave est protocole très utilisé à cause de son maillage comme le thread matter. Mais je suis conscient que Gladys est encore jeune face a d’autres comme jeedom.

Je pense que pour certains utilisateurs un simple petit tuto du genre de celui qui est en ligne pour l’installation de Gladys serait suffisant. Je n’ai eu qu’à copier et coller les commandes pour installer le container docker sans les comprendre toutes mais une partie quand même. Après je ne suis pas programmeur mais admin réseau alors je sais juste faire des petits scripts pour automatiser certaines tâches. J’ai une box de test ou je voudrais mettre zwave, rfx et enocean donc je peux tester des choses si quelqu’un développe.

Merci à vous tous

1 « J'aime »

bonjour a tous,

alors ce matin en cherchant un peu sur le net j’ai réussi a installer un container zwavejs2mqtt et il est lancé mais sur l’intégration je ne vois toujours pas de rubrique paramètre et ma clé aeotec n’est pas détectée. j’ai également essayé une clé aeotec gen 5 et c’est la même chose.

je ne vois pas ce qui cloche.

je vous donne le suivi de mes investigations si quelqu’un lit et a une idée. en regardant les Logs je vois ceci :

2026-03-01 09:22:39.446 WARN **STORE**: settings.json not found

2026-03-01 09:22:39.454 WARN **STORE**: scenes.json not found

2026-03-01 09:22:39.456 WARN **STORE**: nodes.json not found

2026-03-01 09:22:39.464 INFO **APP**: Listening on port 8091 protocol HTTP

2026-03-01 09:22:39.471 WARN **BACKUP**: Store backup is disabled

2026-03-01 09:22:39.471 WARN **BACKUP**: Nvm backup is disabled

2026-03-01 09:22:39.473 WARN **Z-WAVE**: Z-Wave driver not inited, no port configured

pourtant la clé ZWave est bien sur /dev/ttyUISB0 car j’ai vérifié, pour les autres erreurs je pensais que l’installation créait ces fichiers.

@scoobidou83 est-ce que tu peux nous donner la ligne de commande que tu as utilisée pour lancer le docker de zwave-js-ui ?

Les logs indiquent que les fichiers de config n’ont pas été trouvés mais surtout n’ont pas été créés à mon avis, et forcément tout le reste ne fonctionnera pas en l’état.

Et est-ce que tu as tenté de te connecter sur l’interface graphique de zwave-js-ui ?
Ca devrait être quelque chose du genre http://ip-de-ta-machine:8091 avec login admin et pwd zwave (par défaut si je ne me trompe pas).

Bonjour,

voici la ligne de commande que j’ai fait :

sudo docker run -d \\

–name=zwavejsui \\

–network=host \\

\-v /chemin/vers/vos/configs:/home/gladys/zwavejs \\

\-e TZ=Europe/Paris \\

–device=/dev/ttyUSB0 \\

zwavejs/zwavejs2mqtt:latest

43fa30ab06a2584ba68e6ca5976bca690addb32786422961ea5674b910736265

j’ai fait beaucoup de recherches avec l’IA et Internet

effectivement je peux ouvrir la page et là je vois bien les paramètres. j’ai configuré comme c’est précisé dans la doc mais rien.

tu as changé le /chemin/vers/vos/configs ?
Est-ce que ce répertoire existe réellement ?

Pour moi ta ligne de commande est un peu light, je te propose de lancer les commandes suivantes.

  1. on se met dans le répertoire de ton user :
cd
  1. on crée un répertoire pour stocker les fichiers de zwave-js :
mkdir data-zwave-js-ui
  1. on lance le docker run :
docker run --rm -it -p 8091:8091 -p 3000:3000 --name=zwavejsui -e TZ=Europe/Paris --network=host --device=/dev/ttyUSB0:/dev/zwave -v $(pwd)/data-zwave-js-ui:/usr/src/app/store zwavejs/zwave-js-ui:latest

Je préfère passer par docker compose que docker run donc je n’ai pas testé encore cette commande, tu me diras si c’est bon ou pas et on ajustera.

c’est quoi ?

Pour des copier/coller de code, tu peux utiliser le Texte préformatté, ça permet de mieux lire :
image

effectivement je n’avais pas compris la commande j’ai refais celle ci

docker run -d \\
  --name=zwavejsui \\
  --network=host \\
  -v \~/zwavejsui_config:/usr/src/app/store \\ 
  -e TZ=Europe/Paris \\
  --device=/dev/ttyUSB0 \\ 
  zwavejs/zwavejs2mqtt:latest

j’ai vérifié les fichiers présents et je vois bien des fichiers à l’intérieur :

ls \~/zwavejsui_config/ -al
total 28
drwxr-xr-x 5 root   root   4096 mars   1 10:30 **.**
drwxr-x--- 5 gladys gladys 4096 mars   1 10:20 **..**
drwxr-xr-x 2 root   root   4096 mars   1 10:29 **logs**
drwxr-xr-x 2 root   root   4096 mars   1 10:29 **sessions**
\-rw-r--r-- 1 root   root    246 mars   1 10:30 settings.json
drwxr-xr-x 2 root   root   4096 mars   1 10:29 **snippets**
\-rw-r--r-- 1 root   root    186 mars   1 10:29 users.json

et mes Logs donnent :

2026-03-01 11:29:41.989 WARN **STORE**: settings.json not found
2026-03-01 11:29:41.996 WARN **STORE**: scenes.json not found
2026-03-01 11:29:41.998 WARN **STORE**: nodes.json not found
2026-03-01 11:29:41.998 WARN **STORE**: users.json not found
2026-03-01 11:29:42.004 INFO **APP**: Listening on port 8091 protocol HTTP
2026-03-01 11:29:42.083 WARN **BACKUP**: Store backup is disabled
2026-03-01 11:29:42.084 WARN **BACKUP**: Nvm backup is disabled
2026-03-01 11:29:42.085 WARN **Z-WAVE**: Z-Wave driver not inited, no port configured
2026-03-01 11:30:20.640 INFO **APP**: ::ffff:192.168.1.63 GET / 200 - - 15.021 ms
2026-03-01 11:30:20.692 INFO **APP**: ::ffff:192.168.1.63 GET /manifest.webmanifest 200 504 - 4.647 ms
2026-03-01 11:30:20.695 INFO **APP**: ::ffff:192.168.1.63 GET /assets/index-CNaszFFP.js 304 - - 5.081 ms
2026-03-01 11:30:20.699 INFO **APP**: ::ffff:192.168.1.63 GET /assets/index-Bv4Vn0Cm.css 304 - - 1.377 ms
2026-03-01 11:30:20.827 INFO **APP**: ::ffff:192.168.1.63 GET /api/auth-enabled 304 - - 25.214 ms
2026-03-01 11:30:20.884 INFO **APP**: ::ffff:192.168.1.63 GET /assets/VExpansionPanels-4YP_LGPZ.js 304 - - 2.431 ms
2026-03-01 11:30:20.887 INFO **APP**: ::ffff:192.168.1.63 GET /assets/VTable-BsI6FsWH.css 304 - - 4.459 ms
2026-03-01 11:30:20.888 INFO **APP**: ::ffff:192.168.1.63 GET /assets/Settings-26_qgVl3.js 304 - - 2.644 ms
2026-03-01 11:30:20.894 INFO **APP**: ::ffff:192.168.1.63 GET /assets/VExpansionPanels-Dyw0hWW-.css 304 - - 2.122 ms
2026-03-01 11:30:20.897 INFO **APP**: ::ffff:192.168.1.63 GET /assets/VDataTable-CLcLRj9B.css 304 - - 1.381 ms
2026-03-01 11:30:20.901 INFO **APP**: ::ffff:192.168.1.63 GET /assets/Settings-CP_TZtGE.css 304 - - 2.610 ms
2026-03-01 11:30:20.915 INFO **APP**: ::ffff:192.168.1.63 GET /assets/Settings-26_qgVl3.js 304 - - 1.142 ms
2026-03-01 11:30:20.922 INFO **APP**: ::ffff:192.168.1.63 GET /assets/VExpansionPanels-4YP_LGPZ.js 304 - - 0.963 ms
2026-03-01 11:30:20.953 INFO **APP**: ::ffff:192.168.1.63 GET /logo.svg 304 - - 0.978 ms
2026-03-01 11:30:21.072 INFO **APP**: ::ffff:192.168.1.63 GET /assets/MaterialIcons-Regular-DOtZ65Va.woff2 304 - - 0.945 ms
2026-03-01 11:30:21.094 INFO **APP**: ::ffff:192.168.1.63 GET /api/settings 200 - - 6.037 ms
2026-03-01 11:30:21.139 INFO **APP**: ::ffff:192.168.1.63 GET /api/auth-enabled 304 - - 2.112 ms
2026-03-01 11:30:21.173 INFO **APP**: ::ffff:192.168.1.63 GET /assets/index-CNaszFFP.js 304 - - 0.890 ms
2026-03-01 11:30:21.175 INFO **APP**: ::ffff:192.168.1.63 GET /assets/InvertedCheckbox-RDU4mTUT.js 304 - - 0.870 ms
2026-03-01 11:30:21.199 INFO **APP**: ::ffff:192.168.1.63 GET /assets/DialogGatewayValue-D4W0vBRW.css 304 - - 1.020 ms
2026-03-01 11:30:21.202 INFO **APP**: ::ffff:192.168.1.63 GET /assets/DialogGatewayValue-CFgSzVP7.js 304 - - 0.802 ms
2026-03-01 11:30:21.263 INFO **APP**: ::ffff:192.168.1.63 GET /api/settings 304 - - 3.123 ms
2026-03-01 11:30:21.288 INFO **APP**: ::ffff:192.168.1.63 GET /api/auth-enabled 304 - - 1.655 ms
2026-03-01 11:30:21.380 INFO **APP**: ::ffff:192.168.1.63 GET /assets/DialogGatewayValue-CFgSzVP7.js 304 - - 0.506 ms
2026-03-01 11:30:25.769 WARN **Z-WAVE**: Zwavejs driver is not ready yet, statistics will be enabled on driver initialization
2026-03-01 11:30:25.771 INFO **APP**: ::ffff:192.168.1.63 POST /api/statistics 200 89 - 23.031 ms
2026-03-01 11:30:26.001 INFO **APP**: ::ffff:192.168.1.63 GET /assets/index-Blr6EMNg.js 304 - - 0.967 ms
2026-03-01 11:30:30.572 INFO **APP**: ::ffff:192.168.1.63 POST /api/versions 200 58 - 4.416 ms
2026-03-01 11:30:47.839 INFO **APP**: ::ffff:192.168.1.63 GET /assets/ControlPanel-YmA8THz5.js 304 - - 0.541 ms
2026-03-01 11:30:47.870 INFO **APP**: ::ffff:192.168.1.63 GET /assets/index-CJ89FoNi.js 304 - - 0.918 ms
2026-03-01 11:30:47.882 INFO **APP**: ::ffff:192.168.1.63 GET /assets/BaseFab-CCixA4el.js 304 - - 2.208 ms
2026-03-01 11:30:47.886 INFO **APP**: ::ffff:192.168.1.63 GET /assets/VFab-DjF3rOkJ.js 304 - - 1.646 ms
2026-03-01 11:30:47.887 INFO **APP**: ::ffff:192.168.1.63 GET /assets/colors-DoZdCu1D.js 304 - - 2.709 ms
2026-03-01 11:30:47.892 INFO **APP**: ::ffff:192.168.1.63 GET /assets/index-DwLHofmu.css 304 - - 3.253 ms
2026-03-01 11:30:47.894 INFO **APP**: ::ffff:192.168.1.63 GET /assets/VFab-ByB_rPoF.css 304 - - 3.683 ms
2026-03-01 11:30:47.895 INFO **APP**: ::ffff:192.168.1.63 GET /assets/BaseFab-BUyXt8fM.css 304 - - 4.475 ms
2026-03-01 11:30:47.896 INFO **APP**: ::ffff:192.168.1.63 GET /assets/vuedraggable.umd-V0tNSFsP.js 304 - - 5.228 ms
2026-03-01 11:30:47.900 INFO **APP**: ::ffff:192.168.1.63 GET /assets/DialogAdvanced-DDU9DPqQ.js 304 - - 2.232 ms
2026-03-01 11:30:47.901 INFO **APP**: ::ffff:192.168.1.63 GET /assets/BaseFab-CCixA4el.js 304 - - 2.809 ms
2026-03-01 11:30:47.904 INFO **APP**: ::ffff:192.168.1.63 GET /assets/DialogAdvanced-D5h3KQey.css 304 - - 4.901 ms
2026-03-01 11:30:47.932 INFO **APP**: ::ffff:192.168.1.63 GET /assets/ColumnFilter-C0wWxFOe.js 304 - - 0.832 ms
2026-03-01 11:30:47.958 INFO **APP**: ::ffff:192.168.1.63 GET /assets/VFab-DjF3rOkJ.js 304 - - 0.764 ms
2026-03-01 11:36:50.512 INFO **APP**: ::ffff:192.168.1.63 GET /assets/SmartStart-DTXuN_dr.js 304 - - 0.925 ms
2026-03-01 11:36:50.572 INFO **APP**: ::ffff:192.168.1.63 GET /assets/MissingKeysAlert-CQSPBdZa.js 304 - - 1.106 ms
2026-03-01 11:36:50.634 INFO **Z-WAVE**: Calling api getProvisioningEntries with args: \[ \[length\]: 0 \]
2026-03-01 11:36:50.635 INFO **Z-WAVE**: Z-Wave client not connected getProvisioningEntries undefined

Je me suis permis d’éditer ton post et de préformatter le texte car ça devenait illisible.

oK pour le docker run mais tu n’as pas exposé les ports 8091 et 3000, et tu n’as pas mappé le port USB :

docker run -d \
  --name=zwavejsui \
  --network=host \
  -p 8091:8091 \
  -p 3000:3000 \
  -v ~/zwavejsui_config:/usr/src/app/store \
  -e TZ=Europe/Paris \
  --device=/dev/ttyUSB0:/dev/zwave \
  zwavejs/zwavejs2mqtt:latest

Est-ce que tu arrives à te connecter sur http:192.168.1.63:8091 ?
Une fois connecté il faut que tu remplisses la partie ZWAVE et MQTT Gateway.

ok, oui je peux me connecter au 8091 et j’ai renseigné les paramètres ZWave et MQTT comme mentionné dans la doc.

sauf pour le zwave car il n’était pas dans la doc. dans la partie security key je mets quoi ?

ok je pense que j’ai compris pour les clés j’ai enregistré et je vois des notes qui remonte.

voilà une petite capture

par contre rien ne remonte dans zwavejsui de gladys

de temps en temps en haut a droite je vois

controler îs unable to transmit mais de manière très brève

je suis content parce que ça avance un peu.

donc cela mets du temps mais les node infos remontent peu à peu dans l’interface zwavejsui mais toujours pas dans l’intégration Gladys

Très bonne nouvelle si zwave-js-ui fonctionne avec ton dongle !
Un problème de résolu :wink:

ok, on va regarder la partie MQTT maintenant car c’est par là que Gladys va récupérer les infos zwave.

Peux-tu mettre une capture d’écran de ta configuration MQTT Gateway de zwave-js-ui ?
Et une de l’intégration zigbee2mqtt de Gladys ?
Tu peux cacher les mots de passe bien entendu.

merci à toi

par contre je n’ai pas de zigbee j’ai juste installer MQTT sur gladys