Configuración y solución de problemas de Zigbee
Descripción
Para utilizar dispositivos Zigbee con un controlador Wiren Board, necesita:
- Módulo de expansión WBE2R-R-ZIGBEE v.2 (WBE2R-R-ZIGBEE v.1) o cualquier adaptador USB Zigbee.
- Software adicional:
- zigbee2mqtt: un puente para controlar dispositivos Zigbee mediante MQTT, dispositivos compatibles.
- wb-mqtt-zigbee — convierte los temas de zigbee2mqtt a Convenciones MQTT de Wiren Board.
A continuación se proporcionan las instrucciones de instalación.
Copie los comandos de estas instrucciones y péguelos en la consola del controlador mediante Shift+Insert y ejecútelos pulsando Enter. Si se produce un error, lea atentamente la salida para consultar las instrucciones y sugerencias.
Instalación y configuración de zigbee2mqtt
Procedimiento de instalación
El paquete zigbee2mqtt de la versión estable puede estar por detrás de la versión del proyecto original. La versión más reciente siempre está disponible en la versión testing.
Recomendamos instalar un paquete precompilado de nuestro repositorio. Hay dos paquetes disponibles:
- zigbee2mqtt: la versión más reciente; recomendada.
- zigbee2mqtt-1.18.1 — para adaptadores WBE2R-R-ZIGBEE v.1 antiguos fabricados antes de enero de 2022. Tabla de revisiones.
Para instalar la versión más reciente, ejecute:
apt update && apt install zigbee2mqtt
Para instalar la versión 1.18.1, necesaria para las revisiones de Zigbee v1 desde v1.1A hasta v1.2D, ejecute:
apt update && apt install zigbee2mqtt-1.18.1
Para instalar la versión 2.1.1 en las revisiones v1.2D/2, v1.2E y v1.2F de Zigbee v1, ejecute:
apt update && apt install zigbee2mqtt-2.1.1
Como alternativa, compile a partir del código fuente siguiendo las instrucciones.
A continuación, configure el puente; consulte Configuración.
Configuración del inicio automático
Tras instalar el paquete, zigbee2mqtt se inicia automáticamente cuando arranca el controlador. Utilice estas órdenes para desactivar o activar el inicio automático:
systemctl disable zigbee2mqtt
systemctl enable zigbee2mqtt
Configuración
Si utiliza el módulo de expansión WBE2R-R-ZIGBEE, asegúrese de que se ha seleccionado el módulo correcto en la interfaz web Settings → Configs → Hardware Modules Configuration.
Nombre del puerto:
- al utilizar el módulo de expansión WBE2R-R-ZIGBEE, el puerto se denomina
/dev/ttyMODx, donde x es el número de puerto; - al utilizar un adaptador USB, el puerto se denomina
/dev/ttyUSBx, donde x es el número de puerto, empezando por cero.
Configuración:
- Abra el archivo de configuración para editarlo (referencia completa de parámetros en inglés):
nano /mnt/data/root/zigbee2mqtt/data/configuration.yaml- El archivo de configuración predeterminado tiene este aspecto:
homeassistant: false permit_join: false mqtt: base_topic: zigbee2mqtt server: 'mqtt://localhost' serial: port: /dev/ttyMOD4 adapter: zstack advanced: rtscts: false last_seen: epoch channel: 11 pan_id: GENERATE network_key: GENERATE ota: image_block_response_delay: 50 default_maximum_data_size: 60
- Cambie los parámetros necesarios:
- El parámetro port especifique el conector en el que está instalado físicamente el módulo. Si ya se ha especificado el puerto correcto, deje el archivo sin cambios.
- Después del primer inicio del puente, unos valores sustituyen a GENERATE; no los cambie. Si los cambia, actualice o elimine la copia de seguridad.
- Haga clic en Ctrl+S para guardar los cambios, Ctrl+X — para salir del editor.
- Reinicie el servicio
zigbee2mqtt:systemctl restart zigbee2mqtt
Ahora puede instalar el convertidor; los dispositivos Zigbee aparecerán en la pestaña Devices de la interfaz web estándar del controlador.
Posibles problemas:
- Si selecciona en la interfaz web un número de conector incorrecto para el módulo de expansión Zigbee, el registro mostrará este error: z2m: Error: Error: Input/output error setting custom baud rate of 115200
Ejemplo de registro:
# journalctl -u zigbee2mqtt --no-pager -n 30
May 12 13:53:25 wirenboard-AQLNJER2 systemd[1]: Started zigbee2mqtt.
May 12 13:53:25 wirenboard-AQLNJER2 npm[27834]: > zigbee2mqtt@2.1.1 start
May 12 13:53:25 wirenboard-AQLNJER2 npm[27834]: > node index.js
May 12 13:53:26 wirenboard-AQLNJER2 npm[27846]: Starting Zigbee2MQTT without watchdog.
May 12 13:53:32 wirenboard-AQLNJER2 npm[27846]: [2025-05-12 13:53:32] info: z2m: Logging to console, file (filename: log.log)
May 12 13:53:32 wirenboard-AQLNJER2 npm[27846]: [2025-05-12 13:53:32] info: z2m: Starting Zigbee2MQTT version 2.1.1 (commit #unknown)
May 12 13:53:32 wirenboard-AQLNJER2 npm[27846]: [2025-05-12 13:53:32] info: z2m: Starting zigbee-herdsman (3.2.5)
May 12 13:53:32 wirenboard-AQLNJER2 npm[27846]: [2025-05-12 13:53:32] info: zh:zstack:znp: Opening SerialPort with {"path":"/dev/ttyMOD3","baudRate":115200,"rtscts":false,"autoOpen":false}
May 12 13:53:32 wirenboard-AQLNJER2 npm[27846]: [2025-05-12 13:53:32] error: z2m: Error while starting zigbee-herdsman
May 12 13:53:32 wirenboard-AQLNJER2 npm[27846]: [2025-05-12 13:53:32] error: z2m: Failed to start zigbee-herdsman
May 12 13:53:32 wirenboard-AQLNJER2 npm[27846]: [2025-05-12 13:53:32] error: z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start_crashes-runtime.html for possible solutions
May 12 13:53:32 wirenboard-AQLNJER2 npm[27846]: [2025-05-12 13:53:32] error: z2m: Exiting...
May 12 13:53:32 wirenboard-AQLNJER2 npm[27846]: [2025-05-12 13:53:32] error: z2m: Error: Error: Input/output error setting custom baud rate of 115200
May 12 13:53:32 wirenboard-AQLNJER2 systemd[1]: zigbee2mqtt.service: Main process exited, code=exited, status=1/FAILURE
May 12 13:53:32 wirenboard-AQLNJER2 systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'.
May 12 13:53:32 wirenboard-AQLNJER2 systemd[1]: zigbee2mqtt.service: Consumed 10.578s CPU time.
May 12 13:54:22 wirenboard-AQLNJER2 systemd[1]: Stopped zigbee2mqtt.
May 12 13:54:22 wirenboard-AQLNJER2 systemd[1]: zigbee2mqtt.service: Consumed 10.578s CPU time.
Interfaz web (frontend)

La interfaz web de zigbee2mqtt se ejecuta en un puerto independiente y puede suponer un riesgo de seguridad. No la active si no la utiliza: los dispositivos se pueden añadir y eliminar mediante nuestra convertidor.
Disponible en la versión testing El acceso a la interfaz web se puede proteger mediante la autenticación de usuarios del controlador. Consulte Servicios de terceros en la interfaz web de Wiren Board.
Si necesita la interfaz web nativa de zigbee2mqtt, habilítela en el archivo de ajustes:
- Abra el archivo
configuration.yamlpara editarlo:nano /mnt/data/root/zigbee2mqtt/data/configuration.yaml
- Añada este bloque:
frontend: enabled: true port: 8081 host: 0.0.0.0
- Guarde y cierre el archivo.
- Reinicie el servicio
zigbee2mqtt:systemctl restart zigbee2mqtt
La interfaz web del puente zigbee2mqtt estará disponible en http://wb-ip-address:PORT. Por ejemplo, si la dirección IP del controlador es 192.168.42.1y el puerto configurado es 8081, la interfaz web estará disponible en http://192.168.42.1:8081.
Acceso desde la nube
También se puede acceder a la interfaz web de zigbee2mqtt desde fuera de la red local. Si el controlador está conectado a Wiren Board Cloud, haga clic en Services en la página del controlador y añada Zigbee2MQTT. Aparecerá un botón que abre la interfaz desde cualquier dispositivo con una sesión iniciada en su cuenta de la nube.
Comprobación del estado
Hay dos formas de comprobar si z2m se ha iniciado correctamente:
1) Compruebe brevemente su estado de funcionamiento.
La siguiente es una salida normal sin errores:
# systemctl status zigbee2mqtt
● zigbee2mqtt.service - zigbee2mqtt
Loaded: loaded (/lib/systemd/system/zigbee2mqtt.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2025-03-06 10:23:02 UTC; 1s ago
Main PID: 630240 (npm start)
Tasks: 26 (limit: 2340)
Memory: 34.0M
CPU: 2.087s
CGroup: /system.slice/zigbee2mqtt.service
├─630240 npm start
├─630262 sh -c node index.js
└─630263 node index.js
Mar 06 10:23:02 wirenboard-AQLNJER2 systemd[1]: Started zigbee2mqtt.
Mar 06 10:23:03 wirenboard-AQLNJER2 npm[630240]: > zigbee2mqtt@2.1.1 start
Mar 06 10:23:03 wirenboard-AQLNJER2 npm[630240]: > node index.js
Observe la línea Active: active (running) since ... y la ausencia de errores o advertencias.
Si especificó un número de conector del módulo incorrecto en el paso anterior, la salida tendrá un aspecto similar a este:
# systemctl status zigbee2mqtt
● zigbee2mqtt.service - zigbee2mqtt
Loaded: loaded (/lib/systemd/system/zigbee2mqtt.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Thu 2025-03-06 10:19:33 UTC; 5s ago
Main PID: 628249 (code=exited, status=1/FAILURE)
Tasks: 0 (limit: 2340)
Memory: 0B
CPU: 0
CGroup: /system.slice/zigbee2mqtt.service
La línea PID anterior indica un error: Main PID: 628249 (code=exited, status=1/FAILURE).
2) Examine detalladamente el registro de zigbee2mqtt.
# journalctl -u zigbee2mqtt --no-pager -n 30
-- Journal begins at Tue 2025-03-04 16:14:09 UTC. --
Mar 06 14:17:00 wirenboard-AQLNJER2 npm[27126]: [2025-03-06 14:17:00] error: z2m: Exiting...
Mar 06 14:17:01 wirenboard-AQLNJER2 npm[27126]: [2025-03-06 14:17:01] error: z2m: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
Mar 06 14:17:01 wirenboard-AQLNJER2 npm[27126]: at ZStackAdapter.start (/mnt/data/root/zigbee2mqtt/node_modules/.pnpm/zigbee-herdsman@3.2.5/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:113:27)
Mar 06 14:17:01 wirenboard-AQLNJER2 npm[27126]: at Controller.start (/mnt/data/root/zigbee2mqtt/node_modules/.pnpm/zigbee-herdsman@3.2.5/node_modules/zigbee-herdsman/src/controller/controller.ts:136:29)
Mar 06 14:17:01 wirenboard-AQLNJER2 npm[27126]: at Zigbee.start (/mnt/data/root/zigbee2mqtt/lib/zigbee.ts:69:27)
Mar 06 14:17:01 wirenboard-AQLNJER2 npm[27126]: at Controller.start (/mnt/data/root/zigbee2mqtt/lib/controller.ts:142:13)
Mar 06 14:17:01 wirenboard-AQLNJER2 npm[27126]: at start (/mnt/data/root/zigbee2mqtt/index.js:161:5)
Mar 06 14:17:01 wirenboard-AQLNJER2 systemd[1]: zigbee2mqtt.service: Main process exited, code=exited, status=1/FAILURE
Mar 06 14:17:01 wirenboard-AQLNJER2 systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'.
Mar 06 14:17:01 wirenboard-AQLNJER2 systemd[1]: zigbee2mqtt.service: Consumed 14.449s CPU time.
Mar 06 14:18:19 wirenboard-AQLNJER2 systemd[1]: Stopped zigbee2mqtt.
...
Los problemas y errores de arranque pueden impedir que el servicio se inicie posteriormente. En este caso, el siguiente comando puede restablecer los errores:
# systemctl reset-failed zigbee2mqtt.service
Por ejemplo, esto puede ayudar con el siguiente error tras cambiar el número de puerto en los ajustes de z2m:
# systemctl restart zigbee2mqtt
Job for zigbee2mqtt.service failed because the control process exited with error code.
See "systemctl status zigbee2mqtt.service" and "journalctl -xe" for details.
# systemctl reset-failed zigbee2mqtt.service
# systemctl restart zigbee2mqtt
Actualización
Para actualizar zigbee2mqtt a la versión más reciente, actualice el software del controlador siguiendo las instrucciones. Se conservarán todos los ajustes y los dispositivos emparejados.
Si dispone de un adaptador antiguo WBE2R-R-ZIGBEE v.1fabricado antes de enero de 2022, la nueva versión no funcionará. Hay tres opciones:
- Grabe un firmware más reciente en el adaptador antiguo, instrucciones.
- Instale la versión del paquete compatible con estos adaptadores:
apt install zigbee2mqtt-1.18.1
- Sustituya el adaptador por WBE2R-R-ZIGBEE v.2 o utilice un adaptador USB compatible.
Ajuste de la potencia de transmisión
La potencia de transmisión predeterminada es de 9 dBm. Para aumentarla (valores disponibles: 0…20 dBm):
- Abra el archivo
configuration.yamlpara editarlo:nano /mnt/data/root/zigbee2mqtt/data/configuration.yaml
- Añada al bloque
advanced:advanced: transmit_power: 20
- Guarde y cierre el archivo.
- Reinicie el servicio
zigbee2mqtt:systemctl restart zigbee2mqtt
Convertidor wb-mqtt-zigbee
Disponible desde la versión wb-2606
Descripción

wb-mqtt-zigbee es el convertidor nuevo que asigna los datos de zigbee2mqtt a temas de dispositivos virtuales. Muestra los dispositivos Zigbee en la interfaz web del controlador Wiren Board y los controla.
El convertidor traduce los nombres de los controles de los dispositivos Zigbee wb-mqtt-zigbee al ruso mediante su propio diccionario. Si el nombre de un control permanece en inglés, aún no está en el diccionario. Póngase en contacto con nosotros mediante portal de soporte técnico, y añadiremos la traducción en una próxima actualización.
Funcionamiento
Zigbee2mqtt se conecta al coordinador Zigbee, descubre dispositivos y publica toda la información en el broker MQTT. El espacio de nombres de los temas se configura en la configuración de zigbee2mqtt (/mnt/data/root/zigbee2mqtt/data/configuration.yaml, parámetro base_topic), y su valor predeterminado es zigbee2mqtt. A continuación, el convertidor:
- Se suscribe a los temas
zigbee2mqtt/y recibe el estado del puente, la lista de dispositivos, los registros y los eventos. - Crea dispositivos virtuales WB en
/devices/— publicación de metadatos (/meta) y los valores de control según WB MQTT Conventions. - Retransmite los comandos de vuelta: cuando un usuario selecciona un valor de una lista desplegable, mueve un control deslizante o acciona un interruptor en la interfaz web del controlador, el servicio recibe un comando de
/devices/.../ony publica la solicitud correspondiente enzigbee2mqtt/bridge/request/....
El diagrama siguiente muestra el flujo de datos a través del bróker MQTT (mosquitto): los temas de zigbee2mqtt a la izquierda y los temas del controlador Wiren Board a la derecha. Las flechas son bidireccionales: los estados de los dispositivos circulan de izquierda a derecha y los comandos, de derecha a izquierda.

Instalación
Advertencia: la instalación del nuevo convertidor puede hacer que los scripts personalizados dejen de funcionar wb-rules, especialmente cuando las reglas utilizaban el valor de cadena ONy ahora utilizan el valor booleano 1 para un interruptor. wb-mqtt-zigbee se instala automáticamente con el paquete zigbee2mqttsi wb-zigbee2mqttno estaba ya instalado. De lo contrario, instálelo con:
apt update && apt install wb-mqtt-zigbee
A continuación, el dispositivo Zigbee2MQTT aparecerá en la pestaña Devices de la interfaz web estándar del controlador.
Añadir dispositivos

Los dispositivos se pueden añadir individualmente o juntos. Para añadir nuevos dispositivos:
- Abra la interfaz web del controlador y seleccione la pestaña Devices.
- Busque el widget del dispositivo Zigbee2MQTT y compruebe su estado en el campo State. Debe indicar online. Si acaba de instalar zigbee2mqtt, espere un par de minutos.
- Habilite el interruptor Permit join.
- Siga las instrucciones del dispositivo Zigbee: normalmente, mantenga pulsado su botón de emparejamiento durante unos segundos y espere a que el indicador parpadee.
- Al añadir un dispositivo, el campo Last joined del widget Zigbee2MQTT muestra la dirección IEEE del dispositivo (por ejemplo, 0xa4c1385da71ff53c), y el contador de dispositivos aumenta en uno por cada dispositivo añadido.
- Repita los pasos 4 y 5 para cada dispositivo Zigbee.
- Finalice la incorporación de dispositivos desactivando Permit join.
Cambiar friendly_name
friendly_name es un nombre de dispositivo definido por el usuario. Mantenga el predeterminado o establezca uno propio:
- Abra el archivo de configuración para editarlo:
nano /mnt/data/root/zigbee2mqtt/data/configuration.yaml
- Busque su dispositivo en la sección devices.
- Cambiar friendly_name.
- Guarde el archivo de configuración y reinicie el servicio:
systemctl restart zigbee2mqtt
- En la pestaña Devices debe aparecer un dispositivo con el nombre indicado.
- Elimine el widget con el nombre antiguo haciendo clic en el icono de papelera de su encabezado.
El nuevo nombre debe ser único para cada dispositivo y no debe contener una barra / y debe cumplir los requisitos de los parámetros y Convenciones MQTT de Wiren Board.
- Cambiar friendly_name
-
Widget del dispositivo con friendly_name predeterminado
-
Cambio de friendly_name en el archivo de configuración
-
Widget del dispositivo con el nuevo friendly_name
Control de un dispositivo

Los dispositivos se manejan mediante controles estándar: interruptores o listas desplegables.
Eliminación de dispositivos
- Asegúrese de que, en el widget del dispositivo Zigbee2MQTT , el interruptor Permit join está desactivado.
- Desempareje el dispositivo del coordinador. Normalmente es necesario mantener pulsado su botón de emparejamiento durante 5 segundos; consulte la documentación del dispositivo.
- Compruebe que el campo Last removed del widget del dispositivo Zigbee2MQTT muestra el nombre del dispositivo que se está eliminando.
- Elimine de la interfaz web el widget del dispositivo Zigbee desconectado haciendo clic en el icono de la papelera de su encabezado.
-
Último dispositivo eliminado
-
Eliminación del widget de un dispositivo Zigbee
Traducciones de los canales de los dispositivos
Disponible desde la versión wb-2609 Los nombres de los canales de los dispositivos Zigbee se muestran en el idioma seleccionado de la interfaz web.
Modelo del dispositivo
Disponible desde la versión wb-2609 Para los dispositivos nuevos, el modelo se muestra ahora en el título de la tarjeta. Los dispositivos Zigbee2MQTT también tienen un canal Model.
Solución de problemas
Si zigbee2mqtt no funciona correctamente, compruebe el estado del servicio y los registros detallados. Para ejecutar órdenes, conéctese al controlador mediante SSH.
Para ver el estado actual y los mensajes más recientes del registro, ejecute:
# systemctl status zigbee2mqtt
● zigbee2mqtt.service - zigbee2mqtt
Loaded: loaded (/lib/systemd/system/zigbee2mqtt.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Fri 2022-05-13 10:06:04 +04; 3s ago
Process: 25986 ExecStart=/usr/bin/npm start (code=exited, status=1/FAILURE)
Main PID: 25986 (code=exited, status=1/FAILURE)
May 13 10:06:04 wirenboard-AYXIHFQ6 systemd[1]: zigbee2mqtt.service: Main process exited, code=exited, status=1/FAILURE
May 13 10:06:04 wirenboard-AYXIHFQ6 systemd[1]: zigbee2mqtt.service: Unit entered failed state.
May 13 10:06:04 wirenboard-AYXIHFQ6 systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'.


A menudo, el paso anterior revela un problema sin identificar su causa. En ese caso, examine los registros:
- Detenga el servicio:
systemctl stop zigbee2mqtt
- Vaya al directorio de zigbee2mqtt:
cd /mnt/data/root/zigbee2mqtt/
- Inicie zigbee2mqtt manualmente, imprimiendo todos los mensajes en la consola, con
npm start:# npm start > zigbee2mqtt@1.18.1 start /mnt/data/root/zigbee2mqtt > node index.js Zigbee2MQTT:info 2022-05-13 09:59:30: Logging to console and directory: '/mnt/data/root/zigbee2mqtt/data/log/2022-05-13.09-59-19' filename: log.txt Zigbee2MQTT:info 2022-05-13 09:59:30: Starting Zigbee2MQTT version 1.18.1 (commit #unknown) Zigbee2MQTT:info 2022-05-13 09:59:30: Starting zigbee-herdsman (0.13.71) Zigbee2MQTT:error 2022-05-13 09:59:39: Error while starting zigbee-herdsman Zigbee2MQTT:error 2022-05-13 09:59:39: Failed to start zigbee Zigbee2MQTT:error 2022-05-13 09:59:39: Exiting... Zigbee2MQTT:error 2022-05-13 09:59:39: Error: Error while opening serialport 'Error: Error: No such file or directory, cannot open /dev/ttyUSB01' at Znp.<anonymous> (/mnt/data/root/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:136:32) at Generator.next (<anonymous>) at /mnt/data/root/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:27:71 at new Promise (<anonymous>) at __awaiter (/mnt/data/root/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:23:12) at SerialPort.<anonymous> (/mnt/data/root/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:134:49) at SerialPort._error (/mnt/data/root/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:198:14) at /mnt/data/root/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:242:12 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! zigbee2mqtt@1.18.1 start: `node index.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the zigbee2mqtt@1.18.1 start script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2022-05-13T05_59_39_596Z-debug.log
- Aquí se ve inmediatamente que el puerto configurado es incorrecto.
- Tras identificar y corregir el problema, vuelva a iniciar el servicio:
systemctl start zigbee2mqtt
Si al ejecutar npm start inicia automáticamente el servicio correctamente, deténgalo pulsando Ctrl+C.
En ocasiones es necesario desactivar el inicio automático del servicio. Utilice estas órdenes para controlarlo:
systemctl disable zigbee2mqtt
systemctl enable zigbee2mqtt
Resolución de problemas
La versión 1.18.1 no se inicia tras una actualización
La consola muestra:
Zigbee2MQTT version 1.18.1. Does not accept version node. Zigbee2MQTT requires node version ^10 ^12 ^14 |
| ^15 || ^16, you are running v20.5.1!
Instale la versión anterior del paquete nodejs:
apt install nodejs=16.20.2-deb-1nodesource1
zigbee2mqtt informa de un error del módulo
Determine si el problema está en zigbee2mqtt, en su configuración o en el módulo.
Primero, compruebe que el módulo esté configurado correctamente; consulte la documentación del módulo de expansión.
Si la configuración es correcta, pruebe el módulo con el script de terceros check-cc2652p:
- Descargue el script siguiendo las instrucciones del repositorio.
- Detenga zigbee2mqtt:
systemctl stop zigbee2mqtt
- Ejecute la orden sustituyendo el puerto por el suyo:
python3 ./check_cc2652p.py /dev/ttyMOD4
Si la respuesta contiene información sobre las versiones del firmware y del módulo, el módulo funciona. Por lo tanto, el problema está en zigbee2mqtt: un puerto incorrecto u otro fallo.
Ejemplo de salida correcta:
# python3 ./check_cc2652p.py /dev/ttyMOD4
SYS Version response detected for CC2652:
Transport Version: 2
Product ID: 1 — CC2652 Zigbee Module.
Major Release: 2
Minor Release: 7
Maintenance Release: 1
Stack Version: 2.7.1 — Indicates Z-Stack compatibility.
Revision: 6bb1340100 — Firmware Revision Details.
Additional asynchronous data detected. Skipping:
Raw data: 81fe0345c4f2dd00ad
Problema al actualizar zigbee2mqtt a la versión 2.1.1
Si zigbee2mqtt no se inicia después de actualizar a la versión 2.1.1, con los siguientes síntomas:
> zigbee2mqtt@2.1.1 start
> node index.js
node:internal/modules/cjs/loader:1051
throw err;
^
Error: Cannot find module 'semver'
Require stack:
- /mnt/data/root/zigbee2mqtt/index.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)
pruebe los siguientes pasos:
- Haga una copia de seguridad del archivo
configuration.yaml. - Elimine la versión actual:
apt remove zigbee2mqtt. - En el archivo
configuration.yamlañada el tipo de adaptadoradaptera la secciónserial. Ejemplo para nuestro módulo:serial: port: /dev/ttyMOD1 adapter: zstack
- Vuelva a instalar el paquete:
apt update && apt install zigbee2mqtt.
Archivo de configuración sustituido accidentalmente al actualizar zigbee2mqtt a 2.1.1
Al actualizar zigbee2mqtt a 2.1.1 desde una versión anterior, el sistema pregunta si desea instalar un archivo de configuración nuevo o conservar el antiguo:
File configuration «/mnt/data/root/zigbee2mqtt/data/configuration.yaml»
==> Modified s since installation (by you or by a script).
==> The author of the package has supplied an updated version.
What should be done? The following options are available:
Y or I : install the version provided by the maintainer of the package
N or O : keep the installed at the current time version
D : show the differences between the versions
Z : start a shell command line to inspect the situation
By default the system keeps the current version file configuration. *** configuration.yaml (Y/I/N/O/D/Z) [by default N] ? y
Si eligió accidentalmente sustituir el archivo y zigbee2mqtt no arranca con un error como este:
zh:adapter:zstack:manager: Configuration is not consistent with adapter state/backup!
zh:adapter:zstack:manager: - PAN ID: configured=43787, adapter=47905
zh:adapter:zstack:manager: - Extended PAN ID: configured=00124b0030d540fa, adapter=00124b0030d540fa
zh:adapter:zstack:manager: - Network Key: configured=d9bf90f96d74b793c1f136ecee3660cf, adapter=ab64f03813fd7cc36c6f3383b7d58ad9
zh:adapter:zstack:manager: - Channel List: configured=11, adapter=11
zh:adapter:zstack:manager: Please update configuration to prevent further issues.
zh:adapter:zstack:manager: If you wish to re-commission your network, please remove coordinator backup at /mnt/data/root/zigbee2mqtt/data/coordinator_backup.json.
zh:adapter:zstack:manager: Re-commissioning your network will require re-pairing of all devices!
z2m: Error while starting zigbee-herdsman
z2m: Failed to start zigbee-herdsman
restaure el arranque y la configuración eliminada de la siguiente manera:
- No elimine el archivo
~/zigbee2mqtt/data/coordinator_backup.json. Si lo elimina, tendrá que volver a emparejar todos los dispositivos. - Detenga el servicio con
systemctl stop zigbee2mqtt. - Realice una copia de seguridad de la configuración existente:
cp ~/zigbee2mqtt/data/configuration.yaml ~/zigbee2mqtt/data/configuration.yaml-wb-backup
- Restaure la configuración anterior:
cp ~/zigbee2mqtt/data/configuration.yaml.dpkg-old ~/zigbee2mqtt/data/configuration.yaml
- Compruebe que el archivo especifica el tipo de adaptador: debe contener la línea
adapter: zstack. Si falta, añádalo a la secciónserial. - Reinicie el servicio con
systemctl restart zigbee2mqtt.
zigbee2mqtt debería iniciarse utilizando la configuración existente antes de la actualización.
Archivo de todas las versiones (Pool)
Contiene todos los paquetes z2m, tanto las compilaciones de prueba como las versiones publicadas. También proporciona las fechas de publicación, que no se muestran en el repositorio normal. Estas ayudan a determinar cuándo se introdujo un error o una función en el sistema.
Historial de una versión específica (p. ej., 2.1.1)
Finalidad: investigar incidentes y averiguar la fecha de publicación de una compilación concreta.
Versión oficial (Packages)
Esta es la lista aprobada de paquetes que un controlador (por ejemplo, WB7) ve mediante apt update. Un paquete solo se incluye tras las pruebas y el registro oficial de la versión (por ejemplo, la rama 2507).
Finalidad: comprobar qué versión de z2m está disponible para una instalación limpia o una actualización en el controlador de un usuario.
Convertidor antiguo
- wb-zigbee2mqtt
Enlaces útiles
- Documentación de zigbee2mqtt
- Uso de dispositivos Zigbee mediante Zigbee2mqtt y Node-RED
- Conexión de dispositivos Zigbee a un controlador Wiren Board y creación de scripts wb-rules
- Compilación de zigbee2mqtt a partir del código fuente
- Actualizaciones locales de firmware OTA mediante zigbee2mqtt






