Zigbee2mqtt: Cambiar el nombre de los dispositivos rompe el enlace con Gladys

Descripción: cuando se cambia el nombre de un dispositivo, el nombre anterior permanece en la base de datos y reaparece cuando se construye una escena que requiere recuperar la última posición del dispositivo. ¿Cómo eliminar el nombre antiguo? Para tener una lista actualizada.

¿Tienes algunas capturas de pantalla que muestren eso? Porque nunca he tenido ese problema.
¿A qué integración(es) pertenecen los dispositivos?
En teoría, si actualizas la página de las escenas, deberías encontrar una lista « fresca ».

ahí está el problema, si tienes una solución, estoy interesado.

@pierre-gilles ¿Tienes conocimiento de este error?

hola, creo que he encontrado una solución, renombro todos los dispositivos con una abreviatura en la aplicación Zigbee, pego la misma etiqueta en la dimo en los dispositivos, lo que me permite usar solo las funcionalidades en Gladys y asociarlas a la habitación correspondiente. Esto es mucho más claro, luego elimino todas las antiguas denominaciones. Gracias por detenerse en mi problema. Está resuelto.

Hola a todos,

Efectivamente, este es el funcionamiento actual de Gladys con la integración Zigbee2mqtt, y no es culpa tuya @bob :slightly_smiling_face:

El « enlace » entre Zigbee2mqtt y Gladys se realiza mediante el nombre del dispositivo (el friendly_name). Por lo tanto, hay que distinguir claramente dos casos:

  • Renombrar el dispositivo en Gladys: sin problema, está previsto, el nombre que elijas se conserva incluso durante las resincronizaciones con Zigbee2mqtt.
  • Renombrar el dispositivo en Zigbee2mqtt: aquí, el enlace se rompe. Gladys ya no reconoce el dispositivo y lo considera como un nuevo dispositivo. El antiguo sigue en la base de datos con su antiguo nombre — de ahí los duplicados que ves en la lista.

Por eso @mutmut nunca ha tenido el problema: hay que haber pasado por la interfaz de Zigbee2mqtt para renombrar.

Un punto importante a tener en cuenta: no solo es una lista contaminada. El dispositivo antiguo conserva su historial y todas las escenas que apuntaban a él siguen apuntando al dispositivo antiguo, que ya no recibe ningún dato. Por lo tanto, dejan de funcionar sin mensaje de error. Si tienes escenas creadas antes del renombrado, vale la pena revisarlas.

Para limpiar, no es necesario tocar la base de datos: ve a Integraciones → Zigbee2mqtt → Dispositivos, encontrarás los dispositivos antiguos en la lista, con un botón « Eliminar ». Es lo que has hecho en la práctica @bob, y es el buen enfoque :+1:

Mi consejo por el momento: da un nombre « limpio » a cada dispositivo en Zigbee2mqtt en el momento del emparejamiento, luego evita renombrarlo después. Una vez que el dispositivo esté en Gladys, puedes renombrarlo libremente en Gladys, y será ese nombre el que se mostrará en toda la interfaz.

Dicho esto, tienes razón al señalar el problema: es una limitación que deberíamos poder gestionar inteligentemente. Zigbee2mqtt ya emite un evento cuando se renombra un dispositivo, por lo que podríamos seguir el renombrado automáticamente en lugar de crear un duplicado. Aún mejor a largo plazo: basarse en la dirección Zigbee del dispositivo (su identificador físico, que nunca cambia) en lugar de su nombre. Lo anoto para una próxima versión.

He creado esta solicitud:

¡Gracias por el comentario!