Hola,
el dongle “sonoff z-wave 800 dongle plus” modelo: dongle-PZG23 no es reconocido por gladys en Z-WAVE JS UI.
Gracias
Hola,
el dongle “sonoff z-wave 800 dongle plus” modelo: dongle-PZG23 no es reconocido por gladys en Z-WAVE JS UI.
Gracias
¡Hola @Frederic_Trehoux y bienvenido al foro de Gladys!
Tu comentario es completamente normal, ya que Gladys no gestiona las llaves USB Z-Wave, es zwave-js-ui quien se encarga de eso, como se indica en la doc.
Por lo tanto, debes crear una VM o un contenedor Docker para instalar zwave-js y zwave-js-ui.
A partir de ahí, será esta máquina virtual la que gestione tu llave USB, que está muy bien soportada según la documentación de zwave-js.
Te conectas a tu instancia zwave-js-ui, luego Settings y Z-Wave y allí seleccionas tu llave USB.
Después, en la parte MQTT Gateway, puedes seguir la documentación.
La documentación indica que debes conectarte a un broker MQTT desde zwave-js-ui y desde la integración Z-Wave JS UI de Gladys.
Puedes usar el docker MQTT interno de la integración MQTT en Gladys (para activar), o puedes crear tu propio docker MQTT externo.
Si nos das un poco más de información sobre tu instalación de hardware y software, podremos guiarte mejor.
No dudes en preguntar si necesitas más información.
vale, pero ¿cómo instalo este contenedor docker zwavejs ui? ¿todo se hace desde la línea de comandos en un servidor Ubuntu, supongo?
Actualmente sí, no hay automatización como se puede tener para la integración MQTT o Z2M o node-red.
De lo que he podido ver para el docker compose, quedaría algo así (fuente) :
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:
# No uses dispositivos seriales /dev/ttyUSBX, ya que esos mapeos pueden cambiar con el tiempo.
# En su lugar, usa el dispositivo serial /dev/serial/by-id/X para tu stick Z-Wave.
- '/dev/serial/by-id/insert_stick_reference_here:/dev/zwave'
volumes:
- zwave-config:/usr/src/app/store
# O usando una carpeta local
# - ./store:/usr/src/app/store
ports:
- '8091:8091' # puerto para la interfaz web
- '3000:3000' # puerto para el servidor websocket de Z-Wave JS
networks:
zwave:
volumes:
zwave-config:
name: zwave-config
No sé si la red debe ser zwave (red dedicada) o bien host para que puedas acceder a la UI, habrá que probarlo.
gracias, pero para mí es chino. No estoy familiarizado con Docker. Es una lástima que la integración no lo gestione.
Vaya, lo siento, me lancé sin pensar en tu nivel de conocimientos de Linux ![]()
Puedo intentar guiarte si lo deseas, con comandos más simples.
¿Cómo instalaste Gladys?
es muy amable de tu parte. Conozco los comandos básicos de Linux, pero Docker es algo completamente nuevo para mí. Lo usaba en Jeedom, pero era un complemento integrado. Instalé Gladys en un mini PC con Docker y en un servidor Linux. Según lo que entiendo, hay que descargar el contenedor ZWave JS desde la línea de comandos y luego activarlo.
@pierre-gilles ¿Es posible tener una mejor integración de ZwaveJS en Gladys como Z2M?
Todo es posible. Si un desarrollador quiere proponer una PR.
Ah sí, sería genial, especialmente porque Z-Wave es un protocolo muy utilizado debido a su malla, como Thread Matter. Pero soy consciente de que Gladys es aún joven frente a otros como Jeedom.
Creo que para algunos usuarios un simple pequeño tutorial del estilo del que está en línea para la instalación de Gladys sería suficiente. Solo tuve que copiar y pegar los comandos para instalar el contenedor docker sin entenderlos todos, pero sí una parte. Después no soy programador, sino administrador de red, por lo que solo sé hacer pequeños scripts para automatizar ciertas tareas. Tengo una caja de pruebas donde me gustaría poner zwave, rfx y enocean, por lo que puedo probar cosas si alguien desarrolla.
Gracias a todos.
hola a todos,
entonces esta mañana, buscando un poco en la red, logré instalar un contenedor zwavejs2mqtt y está en funcionamiento, pero en la integración no veo ninguna sección de parámetros y mi clave aeotec no es detectada. También probé con una clave aeotec gen 5 y es lo mismo.
no veo qué falla.
les doy el seguimiento de mis investigaciones por si alguien lee y tiene una idea. al mirar los registros, veo esto:
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
sin embargo, la clave ZWave está en /dev/ttyUISB0, lo he verificado, para los otros errores, pensé que la instalación creaba estos archivos.
@scoobidou83 ¿Podrías darnos la línea de comandos que usaste para iniciar el docker de zwave-js-ui?
Los registros indican que los archivos de configuración no se encontraron, pero sobre todo no se han creado, según creo, y, por supuesto, nada más funcionará en este estado.
¿Y has intentado conectarte a la interfaz gráfica de zwave-js-ui?
Debería ser algo como http://ip-de-tu-máquina:8091 con el nombre de usuario admin y la contraseña zwave (por defecto, si no me equivoco).
Hola,
esta es la línea de comandos que he ejecutado:
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
hice muchas búsquedas con la IA y en Internet
efectivamente puedo abrir la página y allí veo bien los parámetros. lo he configurado como se indica en la documentación, pero nada.
¿Has cambiado el /chemin/vers/vos/configs?
¿Existe realmente ese directorio?
Para mí tu línea de comando es un poco ligera, te propongo ejecutar los siguientes comandos.
cd
mkdir data-zwave-js-ui
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
Prefiero usar docker compose en lugar de docker run, por lo que aún no he probado este comando, me dirás si funciona o no y ajustaremos.
¿Qué es esto?
Para copiar/pegar código, puedes usar el Texto preformateado, lo que permite una mejor lectura:

efectivamente no había entendido el comando, he vuelto a hacer este
docker run -d \\
--name=zwavejsui \\
--network=host \\
-v \~/zwavejsui_config:/usr/src/app/store \\
-e TZ=Europe/Paris \\
--device=/dev/ttyUSB0 \\
zwavejs/zwavejs2mqtt:latest
he verificado los archivos presentes y veo bien archivos en el interior:
ls \~/zwavejsui_config/ -al
total 28
drwxr-xr-x 5 root root 4096 marzo 1 10:30 **.**
drwxr-x--- 5 gladys gladys 4096 marzo 1 10:20 **..**
drwxr-xr-x 2 root root 4096 marzo 1 10:29 **logs**
drwxr-xr-x 2 root root 4096 marzo 1 10:29 **sessions**
\-rw-r--r-- 1 root root 246 marzo 1 10:30 settings.json
drwxr-xr-x 2 root root 4096 marzo 1 10:29 **snippets**
\-rw-r--r-- 1 root root 186 marzo 1 10:29 users.json
y mis registros dan:
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
Me he permitido editar tu publicación y preformatear el texto porque se volvía ilegible.
oK para el docker run, pero no has expuesto los puertos 8091 y 3000, y no has mapeado el puerto 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
¿Puedes conectarte a http:192.168.1.63:8091?
Una vez conectado, debes completar la parte de ZWAVE y MQTT Gateway.
ok, sí, puedo conectarme al 8091 y he proporcionado los parámetros ZWave y MQTT como se menciona en la documentación.
excepto para el zwave, ya que no estaba en la documentación. ¿Qué pongo en la parte de la clave de seguridad?
ok, creo que he entendido lo de las claves, lo he guardado y veo que se están recibiendo datos.
aquí tienes una captura
hasta ahora no se está recibiendo nada en zwavejsui de gladys
de vez en cuando en la esquina superior derecha veo
controlador no puede transmitir, pero muy brevemente
estoy contento porque va avanzando un poco.
es cierto que tarda un poco, pero la información de los nodos va subiendo poco a poco en la interfaz de zwavejsui, pero aún no en la integración de Gladys
¡Muy buena noticia si zwave-js-ui funciona con tu dongle!
Un problema resuelto ![]()
Vale, ahora vamos a mirar la parte de MQTT porque es por ahí donde Gladys va a recuperar la información de zwave.
¿Puedes poner una captura de pantalla de tu configuración MQTT Gateway de zwave-js-ui?
¿Y una de la integración zigbee2mqtt de Gladys?
Puedes ocultar las contraseñas, por supuesto.