Ir al contenido

Zigbee: de red inestable a roca sólida (y solo cambié un número)

Mi red Zigbee iba a trompicones hasta que la pasé al canal 25. Cómo se solapan Zigbee, WiFi y Bluetooth en 2,4 GHz, y cómo hacer el cambio (toca re-emparejar todo).

Zigbee en modo forzudo: una red Zigbee robusta y estable

Le das al interruptor del salón y no pasa nada. Insistes, y a la segunda o la tercera la luz obedece. El enchufe del toallero aparece como «no disponible» justo cuando lo quieres, y el radar del baño no enciende la luz al entrar. Con 98 dispositivos Zigbee repartidos por la casa (sensores de puerta y ventana, termómetros, relés empotrados, mandos de IKEA, hasta medidores de humedad en las macetas), siempre hay dos o tres de morros. Durante meses asumí que el Zigbee era así: un poco cacharro, un poco impredecible. Me equivocaba. El problema no eran los dispositivos ni el coordinador. Era un número.

El número del canal.

El problema: un barrio lleno de WiFi

Vivo en un entorno con muchísimas redes WiFi alrededor. Y no en un canal fijo: mis puntos de acceso van saltando y optimizándose solos por la banda de 2,4 GHz, buscando hueco. Está bien para el WiFi… pero es una pesadilla para Zigbee, porque Zigbee vive exactamente en esa misma banda de 2,4 GHz, y es el vecino pequeño y educado que siempre acaba pisado.

Y es que Zigbee y WiFi comparten los 2,4 GHz, pero juegan con reglas de potencia muy distintas. Zigbee reparte la banda en 16 canales, del 11 al 26, separados 5 MHz (del 2405 al 2480 MHz). Cada emisión Zigbee ocupa unos 2 MHz: una rendija estrecha. El WiFi, en cambio, es un elefante: cada red de 2,4 GHz ocupa unos 20 MHz y transmite con mucha más potencia. Cuando un canal WiFi se solapa con tu canal Zigbee, no hay combate posible: el WiFi aplasta.

El mapa del solape es este:

  • WiFi canal 1 (centrado en 2412 MHz) se come los canales Zigbee 11 a 14.
  • WiFi canal 6 (2437 MHz) pisa del 15 al 19.
  • WiFi canal 11 (2462 MHz) tapa del 20 al 24.
  • Y arriba del todo, por encima del WiFi 11, quedan libres el canal Zigbee 25 (2475 MHz) y el 26 (2480 MHz).
Zigbee frente al WiFi en la banda de 2,4 GHz Zona libre WiFi 1 WiFi 6 WiFi 11 ~22 MHz ~22 MHz ~22 MHz 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Canal Zigbee: 2400 2420 2440 2460 2480 MHz Canal WiFi (~22 MHz) Zigbee pisado por WiFi Zigbee 25/26 (libre) Cada canal WiFi (~22 MHz) aplasta a varios canales Zigbee (~2 MHz). Solo el 25 y el 26 quedan por encima del WiFi 11.
Cada canal WiFi ocupa unos 22 MHz y pisa a varios canales Zigbee de 2 MHz. El 25 y el 26, por encima del WiFi 11, son el refugio.

Ahí está el truco. Los canales 25 y 26 son el único rincón de la banda que casi ningún WiFi alcanza (el borde superior del WiFi canal 11 se queda en torno a los 2473 MHz). Por eso, cuando no puedes controlar en qué canal estará tu WiFi (mi caso: va cambiando solo), la jugada no es pelear por un hueco en medio, sino mudarte al ático.

¿Y el Bluetooth? El BLE también anda por los 2,4 GHz, pero salta de frecuencia constantemente, así que molesta a ráfagas, no de forma fija como un AP WiFi clavado en un canal. Sus canales de anuncio incluyen uno justo en 2480 MHz (pegado al Zigbee 26), que es otra razón para quedarse en el 25 en lugar del 26.

Zigbee frente al Bluetooth (BLE) en 2,4 GHz El BLE salta por toda la banda (2402–2480 MHz) adv 37 adv 38 adv 39 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Canal Zigbee: 25: hueco limpio 26: choca con adv 39 2400 2420 2440 2460 2480 MHz BLE (salto de frecuencia) Anuncio BLE (fijo) Zigbee 25 (mejor) Zigbee 26 (choca)
El BLE salta por toda la banda, pero su canal de anuncio 39 (2480 MHz) cae sobre el Zigbee 26. Por eso es mejor el 25.

Y aquí viene lo cruel: casi todos los coordinadores vienen de fábrica en un canal bajo (el 11 o el 15), que es justo donde pega el WiFi canal 1 o el 6. O sea, el peor sitio posible. Vienes roto de serie.

La solución: canal 25

Me pasé al canal 25. Y ya que iba a tener que tocarlo todo, aproveché para hacer otro cambio que tenía pendiente: dejar ZHA y pasarme a Zigbee2MQTT. El soporte de hardware de Zigbee2MQTT es muy superior (dispositivos raros que en ZHA aparecían a medias, en Z2M funcionan enteros), y la comunidad va por delante. En Zigbee2MQTT el canal se fija en el configuration.yaml:

advanced:
  channel: 25Lenguaje del código: YAML (yaml)

El resultado fue inmediato y casi ofensivo de lo bueno. Las bombillas responden al instante. Los sensores reportan cuando tienen que reportar. El mapa de red, que antes parecía un plato de espaguetis con enlaces rojos por todas partes, se volvió limpio. Cero «no disponible» aleatorios. Meses peleándome con la configuración, los routers, las antenas… y la culpa la tenía un número que podía cambiar en treinta segundos.

Bueno. Treinta segundos el cambio. Lo otro ya no tanto.

Lo que nadie te cuenta: hay que re-emparejar TODO

Aquí está la letra pequeña, y conviene saberla antes de lanzarse. Cambiar el canal Zigbee no es como cambiar el canal del WiFi. Cada dispositivo guarda el canal con el que se emparejó, y cuando mueves el coordinador a otro canal, la inmensa mayoría de los cacharros NO te siguen. Se quedan gritando en el canal viejo, solos. En teoría existe un mecanismo para anunciar un cambio de canal a toda la red; en la práctica, con dispositivos a pilas y cacharrería barata, no te fíes: acabas dando de baja y volviendo a emparejar uno por uno. En mi caso, los 98.

Así que, si te animas, hazlo con cabeza:

  • Haz copia primero. De la configuración de Zigbee2MQTT (configuration.yaml) y, si usas Home Assistant, de tus automatizaciones. Vas a tocar los nombres de los dispositivos.
  • Apunta qué tienes y dónde. Haz una lista de todos los dispositivos con su nombre y su habitación antes de borrar nada. Cuando lleves veinte re-emparejados, lo agradecerás.
  • Cambia el canal en el configuration.yaml (channel: 25) y reinicia Zigbee2MQTT.
  • Empareja primero los dispositivos con enchufe (bombillas, enchufes, relés empotrados: los Sonoff, los Tuya, las Innr… cualquier cosa que no vaya a pilas). Son los que hacen de router y reconstruyen la malla; si los pones primero, los sensores a pilas que empareges después tendrán por dónde agarrarse.
  • Luego los de pilas (sensores de puerta y ventana, termómetros, humedad de tierra, los mandos de IKEA). Uno a uno, con paciencia.
  • Revisa las automatizaciones al final: si los nombres o los identificadores han cambiado, tendrás que repasarlas.

Y un consejo de sentido común: no lo hagas un martes a las once de la noche cuando dependes de esas luces para no matarte en el pasillo. Resérvate un buen rato (con casi cien dispositivos, en mi caso fue un buen rato de verdad). Toda la red va a estar muerta mientras re-emparejas, y eso incluye el radar que te enciende la luz del baño y el propio mecanismo con el que te alumbras.

Re-emparejar 98 dispositivos no es plato de gusto. ¿Volvería a hacerlo? Sin dudarlo: paso de una red que funcionaba «casi siempre» a una que funciona siempre. Y la próxima vez que algo vaya raro en Zigbee, antes de cambiar antenas, mover el coordinador o comprar un repetidor… mira el canal. Probablemente estés viviendo, como yo, en mitad del WiFi del vecindario.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *