Zigbee2mqtt con Dongle USB

Vamos a ver como instalar Zigbee2mqtt en Portainer y hacerlo funcionar con un stick USB.

Para poder controlar nuestros dispositivos Zigbee, necesitamos un coordinador.

Igual que en casa tenemos un router wifi que es el encargado de crear la red wifi para poder conectar el resto de dispositivos, en una red Zigbee también necesitamos un router que llamamos coordinador, que es el que crea la red y al que se conectan el resto de dispositivos.

En esta ocasión vamos a ver cómo configurar el coordinador Sonoff Dongle Plus, pero las instrucciones son válidas para cualquier coordinador.

Sonoff Zigbee Dongle, Plus
Sonoff Zigbee Dongle, Plus

Preparación Zigbee2mqtt con stick USB

Si compras el stick sonoff, puedes utilizarlo tal como viene de caja.

Si no sabes que coordinador comprar o no sabes cómo actualizar el sonoff mira la guía donde se explica Cómo Actualizar el Sonoff Zigbee Dongle Plus, donde también se explica que versión de dongle USB es mejor comprar.

Cada día salen nuevos dispositivos que no están soportados, las actualizaciones añaden compatibilidad con nuevos dispositivos, por lo que es muy recomendable actualizar el coordinador.

Instalar Zigbee2mqtt en Portainer

Vamos a proceder con la instalación de Zigbee2mqtt creando un nuevo stack, como viene siendo de costumbre, si no estás familiarizado con Portainer y los Stacks, te recomiendo que empieces por las guías iniciales donde se explica cómo configurar un Intel Nuc cómo Centro de Domótica.

Creamos un nuevo stack en Portainer con el nombre “zigbee2mqtt” y añadimos las siguientes líneas al editor:

version: '3.8'
services:
  zigbee2mqtt:
    container_name: zigbee2mqtt
    image: koenkk/zigbee2mqtt:latest
    ports:
      - "8080:8080"
      - "8099:8099"
    volumes:
      - /docker/zigbee2mqtt/app/data:/app/data
    devices:
      - /dev/ttyUSB0:/dev/ttyUSB0
    restart: always
    environment:
      - TZ=Europe/Madrid

Finalmente pulsamos “Deploy the stack” para que se descargue la imagen de zigbee2mqtt y se cree el contenedor.

Configuración de Zigbee2mqtt

Vamos a configurar zigbee2mqtt para que funcione con el Dongle USB, aunque el proceso es el mismo para cualquier stick USB Zigbee.

Para empezar, paramos el contenedor pulsando el botón “Stop” y seguidamente damos permisos al usuario “pi“, si tu usuario tiene otro nombre tendrás que sustituirlo:

chown pi:pi -R /docker

Ahora vamos a la carpeta de configuración de Zigbee2mqtt en “/docker/zigbee2mqtt/app/data” y editamos el fichero “configuration.yaml”

Sustituimos el contenido por las siguientes líneas:

homeassistant: true
permit_join: false
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://192.168.1.100:1883
  user: mqtt
  password: 1234
serial:
  port: /dev/ttyUSB0
frontend:
  port: 8099
advanced:
  log_level: warn
  pan_id: 48314
  channel: 25
  network_key: GENERATE

Parámetros a modificar:

mqtt: usuario y password tendremos que poner el que creamos al instalar mqtt.

network_key: GENERATE, esto generará nuestra network key en el primer inicio de Zigbee2mqtt.

Tanto el pan_id como el network_key se asocian a los dispositivos zigbee, por lo que si los modificamos nos tocará volver a descubrir los dispositivos.

Guardamos los cambios e iniciamos el contenedor de Zigbee2mqtt.

Añadir un dispositivo en Zigbee2mqtt

Accedemos al administrado de Zigbee2mqtt introduciendo en el navegador la ip de nuestro centro de domótica seguida del puerto 8099

http://centrodomotica:8099

Zigbee2MQTT
Zigbee2MQTT

En este caso vamos a añadir un enchufe inteligente, para ello el dispositivo tiene que estar sin asociar o reseteado, podemos resetearlo manteniendo pulsado el botón de encendido/apagado hasta que el led empiece a parpadear

Ahora en pulsamos “Permitir Unirse (Todos)” y comienza una cuanta atrás durante la que se detectará el dispositivo y que podemos parar en cualquier momento.

En cuestión de segundos Zigbee2mqtt encuentra el dispositivo y lo añade a la lista

Lo primero que debemos hacer es pulsar en el icono del lapicero para editar el nombre amigable y cambiarlo por algo más entendible, si además marcamos “Actualizar el ID de entidad en Home Assistant” también se actualizará en HA, si lo marcamos y ya existe una entidad con el nombre nos dará un error diciendo que la entidad ya existe, por lo que solo podemos marcarla la primera vez o si modificamos el nombre.

Integración con Home Assistant

Aunque desde zigbee2mqtt podemos ver los dispositivos, modificar su comportamiento y controlarlos la gracia está en poder verlos en HA, para ello vamos a instalar la integración MQTT.

En Home Assistant vamos a “Configuración – Dispositivos y Servicios” y pulsamos en “Añadir Integración”

Si todo va bien, automáticamente todos los dispositivos de Zigbee2mqtt aparecerán como entidades en HA

Y podremos añadirlo a cualquier tarjeta dentro de nuestros paneles permitiendo controlarlo desde HA.

Deja un comentario