Error al iniciar Z2m

Buenas noches,

He tenido que mover mi servidor y al volver a montarlo, he debido confundir el puerto USB para mi dongle Sonoff… :cara_sonriente_con_lengua_sacada: y por eso, al reiniciar todo, ahora tengo:

Gladys log:

Z2m log:

He intentado solucionarlo, pero no soy muy bueno con todo esto.

Aceptaría una pequeña sesión de solución de problemas que, espero, pueda servir a todos :sonrisa_de_sudor:

Gracias de antemano.

hola,
¿en el lado de Gladys se habla de zstack como controlador? ¿Tu dongle no es ezsp o ember normalmente?

gracias por la respuesta, pero no he cambiado nada, solo he vuelto a conectar el dongle a otro puerto USB, creo. Luego lo volví a poner en el puerto USB original y volví a configurarlo. Así que tengo esto:

Lamentablemente no podré ayudarte, ya que estoy en SMLIGHT (SMLIGHT) a través de ethernet y no de USB, por lo que tengo poco conocimiento sobre estos problemas.

Bueno, pues esta noche voy a apagar todo a mano :winking_face_with_tongue:

Realmente necesito ayuda, gracias de antemano.

Lo que no entiendo en los registros es:

  1. contenedor ya detenido
  2. el contenedor con la ruta del dongle USB /dev/ttyUSB1 debe eliminarse

2026-02-24T09:59:58+0100 installMqttContainer.js:114 (Zigbee2mqttManager.installMqttContainer) Contenedor del broker MQTT iniciado correctamente
2026-02-24T09:59:58+0100 installZ2mContainer.js:34 (Zigbee2mqttManager.installZ2mContainer) Contenedor Zigbee2mqtt con la ruta del dongle USB /dev/ttyUSB1 debe eliminarse (nueva ruta del dongle USB /dev/ttyUSB0 configurada)…
2026-02-24T09:59:58+0100 errorMiddleware.js:68 (errorMiddleware) Error: (código HTTP 304) contenedor ya detenido -

sabiendo que:

¿Qué debo hacer?

Hola @jcmoriaud,

Los registros indican que Gladys intenta detener el contenedor para modificar la configuración con el nuevo puerto USB, excepto que el contenedor ya está detenido y aparentemente Gladys no lo está pasando muy bien.

Para ver los contenedores en tu máquina, incluidos los detenidos, puedes hacer:

sudo docker ps -a

Si el contenedor gladys-z2m-zigbee2mqtt está allí y detenido, puedes hacer:

sudo docker rm gladys-z2m-zigbee2mqtt

Esto eliminará el contenedor Zigbee2mqtt y desbloqueará la situación.

Luego, vuelve a la interfaz y reactiva la integración, lo que debería reiniciar un contenedor con el puerto USB correcto.

Mantennos informados si tienes otro error después de esto :slight_smile:

Efectivamente, veía el contenedor en “exited” con el “ps -a”. Por lo tanto, hice el rm y volvió a funcionar:

Por otro lado, ya no tengo conexión entre los 3 contenedores:

y tengo esto en los registros:

2026-02-24 17:42:14] info: z2m: Actualmente 10 dispositivos están unidos.
[2026-02-24 17:42:14] info: z2m: Conectando al servidor MQTT en mqtt://localhost:1884
[2026-02-24 17:42:14] error: z2m: MQTT falló al conectar, saliendo… (connect ECONNREFUSED 127.0.0.1:1884)

y:

026-02-24T18:35:59+0100 scene.actions.js:192 () BadParameters [Error]: Zigbee2mqtt expose no encontrado: « zigbee2mqtt:0xa4c138db0c5ad722:switch:binary:state » con propiedad « state »
at Zigbee2mqttManager.setValue (/src/server/services/zigbee2mqtt/lib/setValue.js:38:11)
at DeviceManager.setValue (/src/server/lib/device/device.setValue.js:22:24)
at /src/server/lib/scene/scene.actions.js:190:27
at tryCatcher (/src/server/node_modules/bluebird/js/release/util.js:16:23)
at MappingPromiseArray._promiseFulfilled (/src/server/node_modules/bluebird/js/release/map.js:68:38)
at MappingPromiseArray.PromiseArray._iterate (/src/server/node_modules/bluebird/js/release/promise_array.js:115:31)
at MappingPromiseArray.init (/src/server/node_modules/bluebird/js/release/promise_array.js:79:10)
at MappingPromiseArray._asyncInit (/src/server/node_modules/bluebird/js/release/map.js:37:10)
at _drainQueueStep (/src/server/node_modules/bluebird/js/release/async.js:97:12)
at _drainQueue (/src/server/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/src/server/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues (/src/server/node_modules/bluebird/js/release/async.js:15:14)
at processImmediate (node:internal/timers:485:21)
2026-02-24T18:36:00+0100 connect.js:46 (MqttClient.) Error al conectar a MQTT - Error: connect ECONNREFUSED 127.0.0.1:1884
2026-02-24T18:36:05+0100 connect.js:46 (MqttClient.) Error al conectar a MQTT - Error: connect ECONNREFUSED 127.0.0.1:1884
2026-02-24T18:36:10+0100 connect.js:46 (MqttClient.) Error al conectar a MQTT - Error: connect ECONNREFUSED 127.0.0.1:1884

Voy a revisar el firewall…

¿El contenedor mosquitto dedicado a Zigbee2mqtt está en funcionamiento?

Mira sus registros para ver qué está fallando

los contenedores están todos arriba:

los registros:

y

veo bien los errores… pero después…

¿Un puerto ufw cerrado?

El contenedor « mosquitto » se reinicia en bucle porque no encuentra su archivo de configuración.

¿No me dijiste que habías eliminado toda la carpeta « zigbee2mqtt »? :sweat_smile:

¿Has probado a desactivar la integración Zigbee2mqtt (con el interruptor azul)?

Asegúrate de que todos los contenedores estén detenidos. (Puedes verificar con docker ps)

Luego haz clic nuevamente en el interruptor, normalmente los archivos de configuración se recrearán si faltan.

Sí, había eliminado el contenedor correctamente.

He repetido la secuencia como se indicó y todo está bien. ¡Es genial, gracias!

Hago la pregunta con el riesgo de decir una tontería, pero ¿no podría resolverse esta situación automáticamente si ocurre a veces (no me atrevo a imaginar que soy el único…)?

¡Excelente! ¡Mejor!