Reconectar clave Zigbee después de cambiar mini-PC

Hola, Disculpe las molestias

Primero, felicitaciones de parte de un bisabuelo por la muy buena noticia del próximo nacimiento de su hijo.

También felicitaciones por todos los avances, me impresiona…

Durante el cambio del PC que aloja Gladys, después de la reinstalación gracias a las copias de seguridad de Gladys Plus… me quedo atascado en la reactivación de la clave Sonoff en zigbee2mqtt…

Error del contenedor Zigbee2mqtt: Node Error: write after end

Gracias y buen día

Hola @mabille,

Me he tomado la libertad de hacer público tu mensaje. Evita enviarme mensajes privados para este tipo de preguntas: puede ser útil para otros usuarios, y cualquiera en el foro puede ayudarte. De hecho, probablemente habrías recibido una respuesta más rápida publicando directamente en público :wink:

¡Muchas gracias por tus felicitaciones, y también por tus palabras sobre los avances de Gladys, ¡realmente me alegra!

En cuanto a tu problema, el error Error: write after end en el contenedor Zigbee2mqtt casi siempre significa que Zigbee2mqtt intenta comunicarse con un puerto USB que ya no es (o ya no está) el de tu llave Sonoff. La conexión se cierra inmediatamente, y Zigbee2mqtt sigue escribiendo en ella. Esto es muy común después de cambiar de computadora, ya que el puerto en el que se detecta la llave a menudo cambia de una máquina a otra, mientras que la copia de seguridad restaura la configuración anterior.

Te recomiendo verificar estos dos puntos, en orden:

1. Re-seleccionar el puerto USB en Gladys

Ve a Configuración → Integraciones → Zigbee2mqtt → Configuración y mira el campo « Seleccionar el puerto USB en el que se inserta el dongle Zigbee ».

Incluso si ya hay un puerto seleccionado, elige nuevamente en la lista el que corresponde a tu llave en esta nueva computadora, luego guarda. Gladys recreará entonces el contenedor Zigbee2mqtt con el dispositivo correcto. Este es el punto más importante, ya que mientras no vuelvas a pasar por esta página, se conserva el puerto antiguo.

Si la lista está vacía, es que Gladys no tiene acceso a los puertos USB de la máquina. En este caso, verifica que la instalación se haya realizado correctamente con el comando indicado en la documentación oficial: durante una reinstalación manual, a veces se olvidan las opciones que dan acceso a los dispositivos.

2. Verificar el modelo de llave seleccionado

Justo debajo, el campo « Seleccionar el modelo del dongle Zigbee » es igualmente importante. Determina la manera en que Zigbee2mqtt se comunica con la llave.

Atención, los dos modelos Sonoff no funcionan de la misma manera:

  • ZBDongle-P → SONOFF Zigbee 3.0 USB Dongle Plus ZBDongle-P
  • ZBDongle-E → ITead Sonoff Zigbee 3.0 USB Dongle Plus V2 model "ZBDongle-E"

Si el modelo seleccionado no corresponde a tu llave, la conexión fallará exactamente de esta manera.

Si usas una ZBDongle-E cuyo firmware nunca ha sido actualizado, Gladys te mostrará una advertencia en la misma página. En este caso, selecciona simplemente la entrada ITead Sonoff Zigbee 3.0 USB Dongle Plus V2 model "ZBDongle-E" (legacy ezsp): funcionará sin tener que actualizar el firmware.

La buena noticia es que si usas la misma llave que antes, tu red Zigbee y todos tus dispositivos serán encontrados tal cual. No tendrás que reaparearlos una vez restablecida la conexión.

Gracias por las molestias …

Hola Aunque parece que el servicio Z2M se ha reconectado… un mensaje…

Error del contenedor Zigbee2MQTT: `[2026-09-21 08:44:48] error: zh:ezsp:uart: No se puede enviar el marco de datos (0,1,0): 1800012800 …

Gracias

Hola Jean-Jacques,

No hay problema, y buenas noticias: el servicio se ha reconectado, lo más difícil ya está hecho :slightly_smiling_face:

Este nuevo error no tiene nada que ver con el anterior: proviene del controlador utilizado para comunicarse con tu llave. El prefijo zh:ezsp:uart indica que Zigbee2mqtt está utilizando el antiguo controlador ezsp. Es muy probable que sea automático: durante una actualización, Gladys renombró las configuraciones ZBDongle-E existentes a ... (legacy ezsp) para no romper las instalaciones en funcionamiento. Sin embargo, este controlador está ahora obsoleto en Zigbee2mqtt y genera exactamente este tipo de errores de comunicación.

Lo que te recomiendo hacer:

Ve a Configuración → Integraciones → Zigbee2mqtt → Configuración, y en el campo «Seleccionar el modelo del dongle Zigbee», elige la entrada sin la mención «(legacy ezsp)», es decir:

ITead Sonoff Zigbee 3.0 USB Dongle Plus V2 modelo "ZBDongle-E"

Luego guarda. Gladys reiniciará Zigbee2mqtt con el controlador moderno (ember), mucho más estable y siempre mantenido. Tus dispositivos Zigbee se conservarán, no hay nada que reaparear.

Un caso particular: este controlador requiere un firmware de llave en versión 7.4.x o superior. Si tu firmware es más antiguo, Gladys te lo indicará con una advertencia en la misma página, y Zigbee2mqtt no se iniciará. En este caso, debes actualizar el firmware de la llave (se puede hacer en unos minutos desde un PC con Windows y Chrome).

Una pregunta de paso: ¿tus dispositivos Zigbee están subiendo correctamente sus valores a Gladys (temperaturas, estados, etc.)? Lo pregunto porque Gladys muestra la última línea de error encontrada en los registros del contenedor, incluso cuando no es bloqueante. Si todo funciona normalmente, este mensaje puede ser solo una advertencia pasajera, pero pasar al controlador ember sigue siendo en todos los casos lo correcto.

Último consejo, válido para todas las llaves Zigbee en un mini-PC: si notas desconexiones de dispositivos, conecta la llave a un pequeño cable USB extendido en lugar de directamente en la carcasa, y si es posible en un puerto USB 2.0. Los puertos USB 3.0 y la proximidad del chasis interfieren mucho con la señal de 2,4 GHz.

¡Muchas gracias! El problema se aclara… Me queda actualizar el firmware… pero solo tengo un PC con Mint a mi disposición… y no lo consigo…

En la guía sugerida en el aviso, estoy perdido y no sé qué opción elegir…

Lo mejor es que visites esta página con Google Chrome, Chromium o Microsoft Edge: https://darkxst.github.io/silabs-firmware-builder/

Si tienes un problema de permisos, debes verificar que tu usuario forme parte del grupo dialout

si no, sudo usermod -a -G dialout $USER

Gracias, voy a probar con Chromium que voy a instalar… Gracias

¿Y si compro una nueva llave, estaría actualizada?

Lógicamente sí, pero la lógica nunca es racional :frowning:
No estás a salvo de tener una clave de un stock antiguo y, por lo tanto, con un firmware antiguo.

Depende de quién, pero sí. Pero es una operación fácil, lo vas a conseguir :flexed_biceps:

2026-09-21 17:39:37 emscripten zigpy.serial[42] INFO Usando pyserial-asyncio-fast en lugar de pyserial-asyncio
2026-09-21 17:39:39 emscripten zigpy.appdb[42] DEBUG Versión de SQLite para <webserial_transport.MockSqlite3 object at 0x16f41c0>: 3.31.1
2026-09-21 17:39:39 emscripten universal_silabs_flasher.flasher[42] INFO Sondeando ApplicationType.GECKO_BOOTLOADER a 115200 baudios
2026-09-21 17:40:22 emscripten zigpy.serial[42] INFO Usando pyserial-asyncio-fast en lugar de pyserial-asyncio
2026-09-21 17:40:24 emscripten zigpy.appdb[42] DEBUG Versión de SQLite para <webserial_transport.MockSqlite3 object at 0x1005f20>: 3.31.1
2026-09-21 17:40:24 emscripten universal_silabs_flasher.flasher[42] INFO Sondeando ApplicationType.GECKO_BOOTLOADER a 115200 baudios

esto es el resultado al intentar actualizar bajo Chromium

El flasheador se queda atascado en Probing ApplicationType.GECKO_BOOTLOADER porque no puede cambiar la llave al modo bootloader. La causa más frecuente: el contenedor Zigbee2mqtt sigue en funcionamiento y mantiene el puerto USB abierto, impidiendo que el flasheador web pueda acceder a él en exclusiva para enviar la secuencia de reinicio.

Antes de volver a intentar el flash:

  1. En Gladys, ve a Configuración → Integraciones → Zigbee2mqtt y detén/desactiva la integración (o simplemente detén Gladys).
  2. Desconecta y vuelve a conectar la llave Sonoff al puerto USB.
  3. Vuelve a https://darkxst.github.io/silabs-firmware-builder/ con Chromium y vuelve a intentar la selección del puerto.

Si sigue atascándose en el mismo lugar una vez que Zigbee2mqtt esté detenido, verifica también que el puerto serie correcto esté seleccionado en la herramienta (a veces aparecen varios dispositivos /dev/ttyUSB*).

Gracias por estos consejos, pero estoy atascado… incluso después de detener el servicio Z2M en Gladys, si vuelvo a conectar el dongle en la computadora portátil con Mint y en Chromium, la actualización no se completa con los mismos registros…

¿Es mi método el que no es bueno?

¿Has desconectado/vuelto a conectar el dongle? ¿Estás seguro de la selección al hacer clic en Conectar?
He utilizado esta misma página para actualizar mi dongle (pero en Mac/Chrome).

El Chromium que instalé está en mi portátil Mint… no en Gladys… ¿es así?

Gracias por vuestras ayudas, pero ahora necesito descansar… La noche da consejos… Mañana, si no lo consigo y antes de invertir en un dongle más reciente, lo desmonto y pruebo el bootloader físico

Gracias de nuevo

Quizás una pregunta tonta, pero ¿estás seguro de tener el Sonoff E y no el P? Son visualmente idénticos…

Sí, hay un botón BOOT si lo abres. Buenas noches