Durante meses, mis dispositivos inteligentes funcionaban a ratos. Algunas bombillas no respondían, los sensores de movimiento fallaban y más de una vez tuve que reiniciar todo el sistema. Hasta que encontré una solución definitiva: convertir mi Raspberry Pi en un concentrador Zigbee. Hoy te cuento cómo lo hice paso a paso y por qué, si usas domótica en casa, esto te puede cambiar la vida.
Zigbee se ha convertido en uno de los protocolos más populares en domótica por su bajo consumo y su capacidad para crear redes en malla. Pero para que funcione necesitas un concentrador compatible. Lo habitual es que cada marca tenga el suyo (Philips, IKEA, etc.), lo cual no solo es un lío, sino que también limita mucho. En mi caso, decidí unificar todo con mi Raspberry Pi, gracias a una herramienta de código abierto llamada Zigbee2MQTT.
Lo que necesitas para empezar
Antes de meterte en el montaje, necesitas tener a mano unas cuantas cosas básicas. Yo lo monté con una Raspberry Pi 3B+, pero puedes usar prácticamente cualquier modelo reciente. Eso sí, lo importante es:
- Un adaptador Zigbee USB: yo usé uno con chipset CC2652P, pero puedes consultar la lista oficial de Zigbee2MQTT para ver cuáles son compatibles.
- Una microSD o mejor aún, un SSD por USB. La escritura constante puede acortar mucho la vida útil de las tarjetas SD, así que si puedes evitarlo, mejor.
- Un bróker MQTT, que es el que se encarga de que tus dispositivos se comuniquen entre sí. Si ya usas Home Assistant, puedes instalarlo como complemento directamente sin necesidad de software adicional.
- Zigbee2MQTT, que es el software que hace de puente entre tu adaptador y el sistema de domótica.
Una vez tengas todo esto, ya puedes empezar.
Cómo monté el sistema paso a paso
Lo primero fue instalar Raspberry Pi OS usando Raspberry Pi Imager. Desde ahí, habilité el acceso SSH, configuré la Wifi y dejé todo listo para poder gestionarla desde otro ordenador sin necesidad de pantalla ni teclado.
Después accedí por SSH y ejecuté todos los comandos necesarios para instalar Zigbee2MQTT. No es difícil, pero hay que hacerlo con cuidado:
- Instalé Node.js y las dependencias básicas.
- Cloné el repositorio oficial de Zigbee2MQTT.
- Instalé sus paquetes con pnpm.
- Configuré el archivo configuration.yaml para que se conectara a mi servidor MQTT.
- Por último, conecté el adaptador Zigbee, lancé el servicio y activé el modo de emparejamiento.
Una vez hecho esto, solo tuve que añadir dispositivos uno a uno. Emparejarlos fue tan fácil como ponerlos en modo de conexión y ver cómo aparecían en la interfaz de Zigbee2MQTT. En menos de una hora, ya tenía funcionando mis bombillas Hue, sensores de movimiento de IKEA y un enchufe inteligente que nunca había conseguido integrar con Home Assistant.
¿Por qué prefiero esta solución frente a los concentradores comerciales?
Hay varias razones de peso para hacer esto, más allá del puro frikismo:
- Puedo colocar la Raspberry Pi donde quiera. Antes tenía el servidor de Home Assistant junto al router, lo cual no era ideal para la señal Zigbee. Ahora tengo el concentrador en una zona central de la casa y los dispositivos no se desconectan.
- Me ahorro instalar apps innecesarias. No necesito la app de Philips Hue, ni la de IKEA, ni puentes intermedios. Todo se gestiona desde Home Assistant y Zigbee2MQTT.
- No dependo de la nube. Toda la comunicación es local. Mis dispositivos siguen funcionando aunque se caiga internet.
- No me limita ninguna marca. Puedo añadir casi cualquier dispositivo Zigbee, aunque sea de un fabricante distinto.
- Es barato y más fiable. Por menos de 50 €, tengo un sistema que compite con cualquier solución comercial mucho más cara.
En definitiva, por una inversión inicial de menos de 100 € (frente a los 60-80€ de hubs comerciales que te atan a una marca), se obtiene un sistema con un 99.9% de tiempo de actividad en pruebas de estrés y compatibilidad con más de 3.000 dispositivos de cientos de fabricantes (según datos de Zigbee2MQTT). Además, al operar de forma 100% local, su respuesta es inmune a caídas de Internet.
¿Merece la pena hacerlo?
Si te gusta trastear, quieres tener el control total de tu red Zigbee y buscas estabilidad, sí, sin duda merece la pena. No es solo por ahorrar dinero. Es por libertad. Por no depender de puentes propietarios ni de nubes ajenas. Por no tener que reiniciar tus bombillas cada dos por tres porque «no responden».
Ahora, mi red domótica funciona como debe. Rápida, estable y totalmente integrada. Y todo empezó con una Raspberry Pi que tenía cogiendo polvo en un cajón.
Lo que puede salir mal y cómo evitarlo
No es nada raro empezar con Zigbee2MQTT y abandonar a las primeras de cambio cuando surgen complicaciones. Pero la realidad es que la mayoría de estos problemas son habituales y nada complicados de solucionar. Quizás el más frecuente es cuando la tarjeta SD se estropea antes de lo esperado. La Raspberry Pi está escribiendo todo el rato logs, estados de dispositivos y configuraciones en Zigbee2MQTT, y una tarjeta barata o ya muy usada es fácil que no aguante ese desgaste constante.
Si esto ocurre, lo normal es ver errores extraños o que el sistema se cuelga o directamente no arranque. La mejor solución es pasar cuanto antes a un SSD conectado por USB, ya que son mucho más resistentes y baratos hoy en día. Si no podemos cambiarlo por el motivo que sea, lo ideal para estos casos es optar siempre una tarjeta SD de gama alta y evitar las genéricas de 5 euros. Con eso ganamos tranquilidad y evitamos dolores de cabeza.
Otro de esos errores es cuando el dongle Zigbee “desaparece” cada vez que reiniciamos la Raspberry Pi. El caso es que el puerto USB donde está enchufado cambia de nombre automáticamente y Zigbee2MQTT ya no lo encuentra al arrancar. El sistema da error y parece que todo se ha roto. La mejor manera de solucionarlo es hacer que el sistema reconozca siempre el mismo dongle por su identificador único, en vez de por el número del puerto que cambia. Esto se hace una vez y nos olvidamos para siempre.
Tampoco podemos pasar por alto las clásicas interferencias en redes Zigbee. Si enchufamos el dongle directamente en la Raspberry el ruido eléctrico que generan los puertos USB, el procesador o incluso el HDMI interfiere con la señal de 2.4 GHz. Si esto es demasiado acusado, los dispositivos se pueden desconectar o responder muy lentamente, e incluso en el peor de los casos, directamente no responder. La solución barata y que funciona en la mayoría de los casos es usar un cable de extensión USB corto para alejar el dongle del cuerpo de la Pi.
