Tutorial: Cambio a Zigbee 3 en Zigbee2mqtt

Tutorial: Cambio a Zigbee 3 en Zigbee2mqtt

Después de muchos meses usando Zigbee2mqtt he de reconocer que el proyecto es bastante estable y, cada vez más, soporta múltiples dispositivos. Después de llegar a tener unos 35 dispositivos Zigbee en la red de casa, ha empezado a hacer extraños y, por lo que había leído, estaba rozando ya los límites de la red con los dispositivos CC2530 o CC2531. El tutorial para instalar Zigbee2mqtt sigue siendo válido, pero, podemos cambiar el dispositivo a usar por el de este tutorial para poder usar Zigbee 3.

Por este motivo, me decidí a comprar el CC2652R con el que pasar mi red a Zigbee 3. El problema es que hay que reemparejar todo, pero, una vez hecho esto, deberíamos tener red para largo y con soporte para más dispositivos y características. Si os interesa, aquí os dejo la lista de las cosas que necesitaréis además del vídeo con la explicación.

Lista de la compra

  • CC2652R: En mi caso ha sido el coordinador que he elegido, su funcionamiento es correcto y estoy bastante contento con él. Si queréis comprarlo, podéis verlo aquí (Aliexpress) o aquí (DigiKey, es más rápido el envío pero tienen gastos de envío elevados. Además tendréis que firmar un documento como que no vais a usarlo para atacar a los Estados Unidos. Ojo, si vais a atacarlos con el aparato, no lo firméis, las mentiras hacen llorar al niño Jesús)
  • Conversor del conector de antena para poder usar una antena normal es opcional, la placa tiene su propia antena impresa, pero, así, ganamos algo más de alcance. Podéis conseguirlo aquí (Aliexpress) o aquí (Digikey).
  • Antena. Podéis usar la que tengáis por casa con conector SMA hembra o comprar algo así.

Vídeo del tutorial para cambiar a Zigbee 3 con Zigbee2mqtt

Algunas aclaraciones

Para facilitar alguna de la configuración del gateway, os dejo aquí la información que podéis copiar y pegar para tardar menos a la hora de hacer el tutorial. Contando con que venís de una instalación ya funcional, podréis hacer una copia de vuestro directorio por si las moscas (parando antes el servicio de Zigbee2mqtt):

sudo systemctl stop zigbee2mqtt
sudo cd /opt
sudo cp -a zigbe2mqtt zigbee2mqtt_backup
sudo rm -rf zigbee2mqtt

Ahora, creamos la carpeta de nuevo, le damos los permisos del usuarios pi y entramos dentro:

sudo mkdir zigbee2mqtt
sudo chown pi: zigbee2mqtt
cd zigbee2mqtt

Una vez dentro, clonamos el repositorio de zigbee2mqtt y lo instalamos:

sudo git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
sudo chown -R pi:pi /opt/zigbee2mqtt
cd /opt/zigbee2mqtt
npm install

Cuando termine la instalación, tendremos que configurarlo, este es el fichero que he dejado:

homeassistant: true
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://localhost'
  user: usuario
  password: contraseña
serial:
  port: /dev/ttyACM0
advanced:
  log_level: debug
  network_key: [1, 3, 5, 7, 9, 11, 13, 15, 0, 2, 4, 6, 8, 10, 12, 13]

Recordad que al clave tendréis que cambiarla para que vuestra red tenga la suya propia. En la consola de la Raspberry podéis lanzar este comando (podéis encontrarlo aquí):

dd if=/dev/urandom bs=1 count=16 2>/dev/null | od -A n -t u1 | awk '{printf "["} {for(i = 1; i< NF; i++) {printf "%s, ", $i}} {printf "%s]n", $NF}'

Para el flasheo del dispositivo tendremos que usar, por ejemplo, uniflash. En mi distribución de Linux (Manjaro) estaba en el repositorio oficial, por lo que estará seguramente en otras. No obstante, está aquí. Para el firmware, podéis descargar de aquí, si habéis comprado el mismo que yo, tendréis que descargar el que pone CC26X2R1.

Si véis el vídeo, tan solo es pinchar con un microUSB el dispositivo al PC (al menos en Linux), lo debe detectar solo (o podéis pulsar Scan) y, cuando le dais a Start, podréis elegir el fichero a flashear, una vez elegido, darle a Load. Cuando termine, podéis verificarlo con “Verify”. Una vez hecho esto, ya está todo listo para comenzar el servicio. Pincharemos un microUSB al dispositivo y a la Raspberry para que sea detectado. Ahora, con la configuración anterior, ya debemos poder arrancar el servicio:

sudo systemctl start zigbee2mqtt

Si miramos el log con esto:

sudo journalctl -u zigbee2mqtt.service -f

Arranque de nuestro sistema Zigbee 3

En mi caso necesitó 2-3 intentos de arranque (él solo, sin yo tocar nada) para que detectara por primera vez el CC2652R, una vez arrancado, ya podemos empezar a emparejar dispositivos. Si todo ha ido bien, ahora tendréis una red Zigbee 3 con todos vuestros dispositivos y con un hardware mucho más potente para que podáis ir creciendo y metiendo las nuevas remesas de dispositivos.

En caso de necesitar ayuda, podéis entrar al grupo de Telegram y os intentaré ayudar. Si queréis estar al tanto del mejor precio del hardware que necesitáis, podéis suscribiros al canal de ofertas de domótica de Telegram o en Facebook.

La entrada Tutorial: Cambio a Zigbee 3 en Zigbee2mqtt se publicó primero en Domótica en Casa.

Eduardo Ruiz

Informático de vocación, apasionado de la tecnología y blogger desde hace mucho tiempo, escribo de lo que me entretiene y disfruto con ello. Si deseas seguirme, usa el rss del blog o en mi perfil de .