La Red Zigbee Vista desde las Homey Developer Tools

0 Replies, 38 Views

Portal Tutoriales Homey e Ideas
Zigbee es un protocolo de comunicación inalámbrico de baja potencia que opera en la banda de 2,4 GHz y es ampliamente utilizado en domótica por marcas como LUMI (Aqara/Xiaomi), IKEA, Philips Hue o Sonoff, entre muchas otras. Una de sus características fundamentales es que funciona en red de malla (mesh network): los dispositivos no se comunican únicamente con el coordinador central (el Homey), sino que pueden retransmitir mensajes a través de otros dispositivos intermedios, extendiendo así el alcance de la red.

La sección Zigbee de las Developer Tools expone esta red en toda su complejidad técnica. Se divide en dos bloques principales: la tabla de nodos en la parte superior y la información del sistema en la parte inferior.

[Imagen: 1.png][Imagen: 2.png][Imagen: 3.png]



La Tabla de Nodos: Qué Significa Cada Columna
Al acceder a la sección Zigbee, lo primero que aparece es una tabla con todos los dispositivos conectados a la red. Cada fila corresponde a un nodo y cada columna aporta un dato específico sobre él.

*Node ID (los cuadrados de colores de la izquierda)
El primer elemento visible en cada fila es un cuadrado con un número. Este identificador es el Node ID: un número asignado de forma aleatoria dentro de la red para identificar al dispositivo en la tabla. No tiene ningún significado permanente ni está ligado al hardware; puede cambiar si el dispositivo se vuelve a emparejar.
Los colores de estos cuadrados sirven para distinguir visualmente los nodos entre sí, especialmente útil a la hora de interpretar las rutas de comunicación que aparecen en la columna de la derecha. No existe una codificación de color estandarizada por tipo de dispositivo; su función es puramente diferenciadora.

*Device
El nombre asignado al dispositivo dentro de Homey. Es el nombre que el propio usuario ha configurado al añadir el dispositivo. Permite identificar rápidamente a qué elemento físico corresponde cada entrada de la tabla.

*IEEE Address
La dirección IEEE es el identificador único y permanente de cada dispositivo Zigbee. Se trata de un código de 64 bits grabado de fábrica en el hardware del dispositivo, similar a la dirección MAC en redes Ethernet. A diferencia del Node ID, esta dirección nunca cambia. Es el dato que utilizan los desarrolladores para identificar de forma inequívoca un dispositivo específico al crear drivers.

*Network Address
La dirección de red es la dirección lógica que el coordinador (Homey) asigna al dispositivo dentro de la red Zigbee en el momento del emparejamiento. A diferencia de la dirección IEEE, este valor sí puede cambiar si el dispositivo abandona y vuelve a unirse a la red. Se muestra tanto en decimal como en hexadecimal (entre paréntesis).

*Type
Esta columna indica el papel que desempeña el dispositivo dentro de la malla:
  • Coordinator: el propio Homey. Solo hay uno en toda la red y es el nodo raíz.
  • Router: dispositivos alimentados por corriente eléctrica que, además de su función principal, actúan como repetidores de señal. Mantienen la malla activa y pueden retransmitir mensajes de otros nodos. Son la columna vertebral de cualquier red Zigbee sólida.
  • EndDevice: dispositivos normalmente alimentados por batería que permanecen en estado de reposo la mayor parte del tiempo para ahorrar energía. No pueden retransmitir mensajes y dependen de los routers para comunicarse con el coordinador.

*Last Seen
Indica cuándo fue la última vez que el dispositivo envió o recibió alguna comunicación. Un valor reciente confirma que el dispositivo está activo. Un valor elevado (horas o días) puede ser síntoma de un problema de conectividad, aunque en dispositivos de tipo enddevice con sensores de bajo reporte (como sensores de temperatura con lecturas poco frecuentes) puede ser perfectamente normal.

*Receive When Idle
Esta columna indica si el dispositivo es capaz de recibir mensajes cuando no está transmitiendo. Los routers siempre tienen esta capacidad activa (marcada con un tick). Los enddevice, al estar mayoritariamente dormidos, no pueden recibir comandos en cualquier momento; solo lo hacen en los instantes en los que se despiertan para comunicarse.

*Manufacturer
El nombre del fabricante tal como el propio dispositivo lo declara en su firmware. Este dato es especialmente relevante para desarrolladores, ya que es el valor
manufacturerName que debe incluirse en el manifest de un driver personalizado. Cuando aparece como Unknown, significa que el dispositivo no reporta esta información o que no ha sido correctamente identificado por el sistema.

*Model ID
El identificador de modelo que el dispositivo declara internamente. Al igual que el fabricante, este dato es fundamental para el desarrollo de drivers, ya que corresponde al campo productId del manifest. Permite diferenciar variantes de un mismo fabricante con comportamientos distintos.

*TX (Transmit)
Número total de mensajes que el dispositivo ha enviado desde que se integró en la red. Un contador elevado es indicativo de un dispositivo activo. Hay que tener en cuenta que este valor se acumula desde el emparejamiento, por lo que dispositivos antiguos tendrán naturalmente contadores más altos.

*TX Error
Número de mensajes enviados que no llegaron a su destino correctamente, junto con el porcentaje que esto representa sobre el total de transmisiones. Este es uno de los indicadores de salud más importantes de la tabla. Un porcentaje de error elevado (por encima del 10-15 %) puede indicar problemas de cobertura, interferencias en la frecuencia de 2,4 GHz, o una ruta de comunicación deficiente.
En mi red, por ejemplo, el nodo 17 (Interruptor pasillo) acumula 63 errores sobre 126.352 transmisiones, lo que supone apenas un 0 % de error: una salud excelente. Sin embargo, el nodo 43 (Venti1) muestra un 84 % de error en TX, lo que es una señal de alarma que merece atención. Concretamente esas 2 bombillas Vent1 y Vent2 las quite ya no las tengo puestas, pero parece ser que la red sigue pensando que si las tiene por eso el error. Y esto sucede por haber quitado las bombillas y haber borrado el dispositivo posteriormente. Debí haberlo hecho al revés.

*RX (Receive)
Número total de mensajes que el dispositivo ha recibido. En dispositivos de tipo enddevice, este valor tiende a ser bajo o incluso cero, dado que permanecen dormidos la mayor parte del tiempo.

*Action
Acceso al menú de opciones de cada nodo. Desde aquí es posible realizar una interview al dispositivo, un proceso que interroga al nodo para obtener un desglose detallado de sus endpoints, clusters, comandos y atributos soportados. Esta función es fundamental para el desarrollo de drivers, ya que proporciona toda la información técnica necesaria para integrar un dispositivo sin soporte oficial.



Los Cuadrados de Colores de la Derecha: La Columna Route
La columna Route, visible en el extremo derecho de la tabla, muestra la última ruta conocida que utilizó cada dispositivo para comunicarse con el coordinador. Se representa como una cadena de cuadrados de colores, cada uno de los cuales corresponde al Node ID de un nodo de la malla por el que pasó el mensaje.
Por ejemplo, una ruta  (0 → 41 → 11)  indica que el mensaje viajó desde el coordinador (nodo 0, Homey) a través del nodo 41 y después hasta el nodo 11, o en sentido inverso dependiendo de la dirección de la comunicación.
Es importante entender que esta ruta no necesariamente es la más corta ni la más eficiente. El protocolo Zigbee gestiona de forma autónoma el encaminamiento de los mensajes comparando la intensidad de la señal entre los nodos disponibles, y la tabla únicamente refleja la última ruta que fue notificada al coordinador. Homey no controla ni determina estas rutas; el propio protocolo las establece dinámicamente.
Los dispositivos que muestran únicamente un signo de interrogación (?) en la columna de ruta son aquellos sobre los que no se dispone de información de encaminamiento, habitualmente porque son enddevice que se comunican directamente con el coordinador sin pasar por ningún router intermedio, o porque no han transmitido recientemente. O como es el caso que comentaba antes de las bombillas Venti, que ya no existen

Análisis de la Red: Qué Conclusiones Podemos Extraer
Observando la tabla de nodos de mi instalación concreta, es posible extraer varias conclusiones relevantes sobre el estado de la red:
Dispositivos con errores de transmisión elevados que requieren atención: Los nodos 43 (Venti1, 84 % de TX Error) y 44 (Venti2, 81 % de TX Error) presentan tasas de error alarmantes, aunque ya sabemos porque. Ambos son routers de la marca innr con modelo RB 287 C. Además, llevan tres semanas sin actividad según la columna Last Seen. Esto sugiere que pueden estar fuera de cobertura, apagados o con algún problema de firmware. Al ser routers, su mal funcionamiento puede afectar a otros dispositivos que dependan de ellos como nodo intermedio.
Nodo 16 (Interruptor despacho) con TX Error al 100 %: Este dispositivo tiene 10 mensajes enviados y 10 errores, lo que representa un 100 % de fallos. Su RX es 0 y lleva 6 días sin verse en la red. Se trata casi con certeza de un dispositivo desconectado o fuera de rango.
Red bien dimensionada con múltiples routers: La presencia de dispositivos tipo router bien distribuidos (Tira led cocina 1, Tira led cocina 2, Tira led sofá, Enchufe lamparita, Enchufe lavavajillas, Mesita Antonio, Mesita Inma, Tira led innr estantería y otros) garantiza una malla con múltiples caminos alternativos. Esto es positivo para la resiliencia de la red.
Nodo 29 y nodo 32 sin identificar (Unknown Node): Dos nodos aparecen sin nombre de dispositivo, fabricante ni modelo identificados. Esto puede deberse a dispositivos emparejados en algún momento pero cuya app no está instalada, o a dispositivos cuyo firmware no declara correctamente sus metadatos. Conviene revisar si corresponden a dispositivos físicos en uso.
Nodo 40 (Unknown Node): Similar a los anteriores, con un contador de 124 mensajes recibidos pero sin identificación alguna. Merece investigación.
Sensores de temperatura con TX en 0: Los nodos 4, 7, 11, 12 y 13 (todos sensores de temperatura lumi.weather) muestran TX = 0 y RX elevado. Esto es coherente con el comportamiento esperado de sensores que envían lecturas de temperatura de forma periódica pero sin recibir comandos del coordinador.
El nodo 35 (Soil Sensor) con un 49 % de error: Un sensor de suelo con casi la mitad de sus transmisiones fallidas merece revisión. Puede deberse a su ubicación o a interferencias con otros dispositivos en la misma banda de 2,4 GHz.


La parte de información del sistema

[Imagen: redzigbee-homeydomotica2.png]
System Information: El Estado del Chip Zigbee
En la parte inferior de la página de Zigbee en las Developer Tools se encuentra la sección de System Information, que muestra los parámetros fundamentales del chip Zigbee integrado en el Homey.

*Channel
El canal indica en qué frecuencia concreta dentro de la banda de 2,4 GHz está operando la red Zigbee. Zigbee puede utilizar los canales del 11 al 26 dentro de esta banda. En la instalación analizada, la red opera en el canal 11.
Este dato es relevante porque la banda de 2,4 GHz también es utilizada por el Wi-Fi (especialmente los canales 1, 6 y 11 del estándar 802.11), el Bluetooth y otras tecnologías. La elección del canal puede tener un impacto significativo en la calidad de la señal si hay solapamiento con redes Wi-Fi cercanas.

*PAN ID y Extended PAN ID
El PAN ID (Personal Area Network Identifier) es el identificador de 16 bits que distingue esta red Zigbee de otras redes Zigbee que pudieran existir en las proximidades. El Extended PAN ID es la versión de 64 bits del mismo identificador, que garantiza la unicidad de la red a nivel global. En la instalación analizada son, respectivamente, 5637

*IEEE Address
La dirección IEEE del propio Homey en su rol de coordinador de la red. Coincide con la que aparece en el Node ID 0 de la tabla de nodos.

*Network Key
La clave de red es la clave criptográfica utilizada para cifrar todo el tráfico Zigbee de la instalación. Todos los dispositivos de la red la comparten y la utilizan para garantizar que las comunicaciones no pueden ser interceptadas ni manipuladas por dispositivos no autorizados. Este dato es extremadamente sensible y no debe compartirse.

*Current Command
Indica la operación que está ejecutando en ese momento el chip Zigbee. En condiciones normales aparecerá como IDLE, lo que significa que no hay ningún proceso activo. Durante una interview extensa o un cambio de canal, este campo reflejará la tarea en curso.

*Firmware Version
La versión del firmware del chip Zigbee de Homey. En mi equipo la versión es la 7.4.2-0. Mantener este firmware actualizado es importante para garantizar la compatibilidad con nuevos dispositivos y la corrección de posibles problemas de comunicación.




Tools: Los Botones de Control de la Red
Bajo la sección de información del sistema se encuentra el bloque Tools, que ofrece tres acciones directas sobre la red Zigbee:

*Enable Verbose Logging
Al activar el registro detallado (verbose logging), el sistema comienza a registrar con máximo nivel de detalle todas las comunicaciones y eventos que ocurren en la red Zigbee. Esta información queda accesible en los logs del sistema y resulta imprescindible para depurar problemas de comunicación, identificar dispositivos que fallen de forma intermitente o analizar el comportamiento de un driver en desarrollo. Conviene activarlo solo durante el tiempo necesario para el diagnóstico, ya que genera una cantidad considerable de datos y puede aumentar la carga del sistema.

*Disable Verbose Logging
El botón complementario al anterior. Desactiva el registro detallado y devuelve el sistema al nivel de logging estándar. Es importante recordar desactivarlo una vez completado el análisis.

*Reset Network
Esta es la acción más radical del panel y debe utilizarse con extrema precaución. Al pulsar Reset Network se restablece completamente la red Zigbee: se elimina la configuración actual, se desvinculan todos los dispositivos y se inicia una red nueva desde cero. Todos los dispositivos deberán volver a emparejarse manualmente.
Esta opción solo debería considerarse en situaciones de fallo grave de la red que no pueda resolverse por otros medios, o cuando se quiere reconstruir la malla desde el principio con una planificación más cuidadosa (por ejemplo, añadiendo primero todos los routers antes que los enddevice, tal como recomienda la documentación oficial de Athom).




La Sección State: Una Mirada al Interior del Sistema
Al pie de la página aparece el bloque State, que muestra en formato JSON el estado interno completo del subsistema Zigbee de Homey. Este objeto contiene, entre otros campos:
  • availability: estado de disponibilidad del subsistema.
  • zigbee_error: indica si hay algún error activo en el sistema Zigbee (null si todo funciona correctamente).
  • zigbee_ready: booleano que confirma si el sistema Zigbee está operativo y listo para funcionar (true en condiciones normales).
  • zigbee_state: estado detallado del chip.
  • controllerState: información extendida sobre el coordinador, con 10 propiedades internas.
  • nodes: el listado completo de los 46 nodos de la red con toda su información interna.
Esta sección es de especial utilidad para desarrolladores que necesiten acceder programáticamente al estado de la red, o para usuarios avanzados que quieran verificar de forma rápida si el sistema Zigbee está operativo sin necesidad de revisar la tabla de nodos en detalle.
(Última modificación: 14-06-2026, 07:13 PM por Toni.)



Usuarios navegando en este tema: 1 invitado(s)