Hola a todos,
Efectivamente, este es el funcionamiento actual de Gladys con la integración Zigbee2mqtt, y no es culpa tuya @bob ![]()
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 ![]()
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!