Integración Zigbee con Home Assistant

Nos iniciamos en uno de los aspectos más potentes de nuestro sistema domótico: La integración de sensores Zigbee en Home Assistant (HA) …. con Paciencia

Introducción

Son varios pasos, pero creo que es importante primero dar una visión por encima de las opciones disponibles.

Zigbee es un protocolo. No es mi más ni menos que eso, una forma como otra cualquiera de comunicar entre dispositivos, pero tiene cierras ventajas respecto a otros protocolos usados en IOT.

El mercado para el hogar finalmente se va decantando (por ahora) principalmente por tres de ellos:

  • Zigbee
  • Z-Wave
  • WiFi
  • Matter (por llegar)

Quizás el más conocido en otros ámbitos es WiFi. Es muy cómodo comprar una bombilla con WiFi, conectarla a nuestra red, instalar alguna aplicación del fabricante y voila!

Todo bien si solo tuviéramos una bombilla o unas pocas.

Os imagináis una casa con 10 bombillas WiFi + 5 enchufes WiFi + 3 niños conectados con sus móviles + 2 tablets + un libro electrónico + 2 televisores + 3 Fire sticks + ….

Ya cogéis la idea…. la red estará más saturada que Tarifa en verano.

Piensa en la saturación de dispositivos WiFi. Además no formarán una malla por lo que tendremos problemas de cobertura en algunas ocasiones

Los otros dos protocolos ( Z-Wave y Zigbee ) resuelven ese problema y además el del consumo de forma muy eficiente.

Crean una malla entre ellos para llegar a un dispositivo central llamado Coordinador y que conectaremos a nuestra Raspberry Pi con HA funcionando.

Además, todo dispositivo Zigbee en HA alimentado de nuestra red eléctrica (un enchufe por ejemplo) hará de router automáticamente, amplificando las señales que lleguen a él.

Ambos, Zigbee y Z-Wave, disponen de muchos dispositivos compatibles. Z-Wave tiene un alcance algo mayor entre nodos, pero su competidor es un estándard abierto y se puede usar libremente, mientras que Z-Wave está controlado por un conjunto de empresas.

Nosotros nos hemos decantado por Zigbee sobre todo porque los posibles coordinadores (de los posibles que podemos usar) son bien conocido, funcionan a la perfección y sobre todo son muy baratos.

Empezamos por el más recomendado: El reciente dongle CC2652 de Sonoff

Con mayor cobertura, el CC2652 incluye el CP2102N y con el control de mayor número de dispositivos y la posibilidad de programación del dispositivo sin necesidad de un CC Debugger:

Como segunda opción, muy recomendable por sus buenas características es el ConBee II, con un buen alcance y sin antena externa adicional:

Y como última opción genérica y realmente barata aunque un poco menos potente que su hermano CC2652 pero perfecto para la mayoría de casos es el veterano cc2531 con conector USB:

Lo podéis comprar por poco dinero con el último firmware ya preinstalado y así os ahorráis el equipo necesario para flashearlo.

De cualquier forma os dejo el enlace oficial que explica todo lo necesario para preparar el cc2531: https://www.zigbee2mqtt.io/information/flashing_the_cc2531.html

E incluso tenemos otra opción específica pra Raspberry PI: Se trata del RaspBee II, con un precio muy bajo y también muy fácil de configurar:


Nosotros hemos escogido el cc2531 para esta guía, pero los pasos son similares para el resto de controladores.

Está pequeña maravilla nos servirá para conectar nuestros dispositivos en Home Assistant (sigue leyendo que ahora vamos con algún ejemplo concreto)

Al final de esta guía tendremos un dispositivo instalado y funcionando (en concreto un enchufe muy barato de la marca Blitzwolf con medidor de consumo):

Para empezar, y no gastar más de la cuenta, os recomiendo revisar esta entrada sobre varios dispositivos zigbee muy baratos

Los pasos serán los siguientes:

Paso 1. Conectamos nuestro coordinador

Evidentemente hay un paso previo de instalación de Home Assistant en uno de los varios equipos posibles. Os dejo el post donde explicamos cómo instalarlo en una Raspberry PI.

Solo tendremos que pincharlo en algún USB libre de nuestra Raspberry PI o equipo equivalente que estemos usando para HA. Las luces verdes nos indicarán que está todo correcto.

En todo caso el botón de reset es el que está más cercano al puerto USB.


Paso 2. Instalación de Zigbee2MQTT y Mosquitto

La cosa la vamos a complicar un poco (no mucho) introduciendo MQTT. MQTT es otro protocolo de comunicación de mensajes para dispositivos IOT muy utilizado, no solo en el ámbito de nuestro HA, sino también en otras plataformas desde Google hasta Amazon.

Usaremos por tanto un software que convertirá nuestros mensajes Zigbee en MQTT, actuando como pasarela.

Por último, en nuestro caso con Home Assistant, lo único necesario será un software concentrador (broker) que gestione esos mensajes MQTT para las diferentes aplicaciones (como ejemplo Node-Red de IBM). El más popular es Mosquitto Broker, de código abierto.

Resumiendo, necesitaremos instalar Zigbee2MQTT y Mosquitto Broker. Luego todo será mucho más fácil como veremos.

Primero instalareoms Mosquitto Broker. Desde la pantalla Supervisor > Add-on Store y buscando el complemento (o desde la versión 2021.12 desde el menú Configuration > Add-ons, Backups & Supervisor), lo instalaremos pero todavía no lo arrancaremos:

Zigbee en Home Assistant

Le dejamos por defecto como siembre que arranque al inicio y que si en alguna ocasión para intente arrancarlo.


Ahora buscaremos el otro complemento (zigbee2mqtt) pero al no venir en el repositorio por defecto tendremos primero que decirle al sistema dónde encontrarlo:

 Supervisor > Add-on store y en menú (con los 3 puntos), elegimos repositories

Recuerda, desde la versión 2021.12 estará en el menú Configuration > Add-ons, Backups & Supervisor

Tendremos que agregar un nuevo repositorio: https://github.com/zigbee2mqtt/hassio-zigbee2mqtt

Ahora sí, buscaremos e instalaremos Zigbee2MQTT:

Ojo a la opción OPEN WEB UI que la usaremos luego, ya veréis que chulo.

Paso 3. Emparejando un dispositivo

Tendremos que tener ya arrancados tanto Zigbee2mqtt como mosquitto broker, y en teoría ya está todo preparado, vamos a realizar el emparejamiento de un dispositivo.

En este caso hemos elegido un enchufe inteligente Blitzwolf trabajando en Zigbee que es una de las otras marcas con las que juega Tuya, pero la oferta es tan amplia (tanto con zigbee como con wifi) que no merece la pena darle muchas vueltas a la compra.

Se amortizan solos:

Vamos a establecer un modo «escucha» en el que nuestro sistema estará listo para agregar cualquier dispositivo que quiera emparejarse.

Para ello entramos de nuevo en la ventana principal de nuestro Zigbee2MQTT add-on y ahora sí elegimos la opción OPEN WEB UI. Nos debe salir un listado por ahora vacío:

En el menú Settings activaremos la opción Permit join:


Solo nos queda enchufar nuestro enchufe intelignte Blitzwolf, y dejar pulsado unos segundos el único botón que trae.

Tras un breve tiempo veréis en el menú devices inicial de Zigbee2MQTT Add-on nuestro nuevo dispositivo:

Y eso es todo. El proceso de instalación de lo necesario lleva un poco de tiempo, pero compensa por lo fácil que es ir agregando nuevos dispositivos.

Dos consejos importantes:

  • No dejar activada la opción Permit join por defecto. Por seguridad
  • Mejor renombrar ahora el nombre de nuestro dispositivo. Lo vemos en detalle:

Para renombrar nuestro dispositivo (device) y todas sus variables (entities), simplemente pinchamos en él y pulsmos el icono azul para renombrarlo:

Le damos el nombre representativo que queramos y activamos la opción de actualizar las entidades:

Para representarlo, lo más sencillo es ir al menú Configuration > Devices. Buscaremos nuestro Enchufe Blitzwolf-1 y ADD TO LOVELACE:

Veis que viene muy completo. Otra opción muy intersante la encontramos en el menú Map de la interface gráfica de Zigbee2MQTT, donde podremos ver la malla que se ha autogenerado:

Os vamos a dejar una selección que hemos realizado de otros dispositivos zigbee realmente baratos para lo que ofrecen:

Si quieres conocer más acerca de las frecuencias de trabajo de Zigbee y sus posibles interferencias con Wifi, puedes leer este post donde se analiza la mejora conseguida con un extensor.

En otro post veremos cómo añadirle un contador de energía consumida en kwh de reseteo mensual, y cómo incluirle el coste real exacto acumulado de cada mes, tanto si tienes pvpc como si no:

Os dejo otra opción igualmente fácil para integrar dispositivos Zigbee. Se trata de la integración ZHA (Zigbee Home Automation).

Configuración con ZHA

Si al instalar Home Assistant ya tenías el coordinador USB instalado, el propio sistema lo habrá detectado. Si no es el caso puedes instalar la integración ZHA para reconocerlo:

En la propia integración, en configuración podremos acceder a la pestaña Network donde le indicaremos que busque nuevos dispositivos:

Y en la pestaña Visualization tendremos la representación de nuestra malla:

Productos ZigBee en Aliexpress

Hay quien ha quedado satisfecho con este tipo de compras en Aliexpress, y es cierto que han mejorado mucho la atención al cliente y los plazos de entrega, por lo que hoy en día es una opción en toda regla:

Productos ZigBee en Amazon

Estos son algunos de los productos más habituales que podemos adquirir:

Productos ZigBee en ManoMano

La variedad es uno de los puntos fuerte de ManoMano, y encontrarás cosas que difícilmente veas en otros marketplaces. Aunque veas los precios en USD al entrar te redireccionará para mostrar tu moneda local.

Te mostramos lo más relevante de esta tienda en lo referente a ZigBee:

Productos ZigBee en DealExtreme

Si eres aficionado a comprar desde DealExtreme, sí que podemos encontrar verdaderas gangas aprovechando el cambio del euro frente al dólar:

Otras entradas que te pueden interesar:

12 comentarios en «Integración Zigbee con Home Assistant»

  1. Disculpa mi ignorancia pero no quiero hacer nada mal, al instalar mosquito broker has puesto que no se arranque todavia, cuando se arranca el servicio?.

    Gracias y un saludo

    Responder
    • No pasa nada. Aquí todos vamos probando. Arranca y mira la pestaña Log. Haz un backup por seguridad antes, pero básicamente arrancas y vas viendo la pestaña Log por si te sale algún error. Hay mucha casuística y casi todos nos hemos tenido que pegar con algún problema (es parte del encanto). Algunas veces sale a la primera y no es raro tener que hacer más de un reinicio de un add-on. Si te sale algo que he pasado por ello te puedo decir, pero ayuda bastante buscar el error concreto en google (yo suelo filtrar resultados al último año para que no salgan artículos muy antiguos que ya no apliquen). En mi experiencia, por si te vale, he visto un poco más fácil ZHA. Eso sí, no podrás usar al mismo tiempo ZHA y zigbee2MQTT, solo uno de los dos.

      Responder
  2. Buenas!! un tutorial fantástico. Estoy empezando en este mundillo y me surge una duda acerca del funcionamiento de Zigbee2MQTT y ZHA.
    Tengo un controlador led Gledpto que admite vinculación a una red Zegbee y un mando remoto por wifi. Funciona todo simultaneo y perfecto peeeeeero:
    Si vinculo con ZHA, si enciendo, apago o cambio de color los led con el mando, esas acciones repercuten y se muestran en ZHA.
    Por otro lado si vinculo con Zigbee2MQTT, si realizo cambios con el mando, no se muestran en la app.
    Es decir, si enciendo y apago con el mando en la pantalla se muestra el botón encendido o apagado en ZHA. En Zigbee2MQTT no hay manera.
    ¿Será un tema de configuración? ¿un limite de Zigbee2MQTT?
    Alterno entre una y otra app deshabilitando y reiniciando HA.

    Gracias y saludos !!

    Responder
    • Hola, por lo que veo esos controladores han tenido algún que otro problema como el que cuentas. Dime el modelo exacto y vemos si hay alguna solución publicada. Saludos.

      Responder
      • Buenas, muchísimas gracias por responder, te paso datos:

        Zigbee2MQTT: 1.23.0 commit: unknown
        Versión de Interfaz: 0.6.71
        Versión de Coordinador: 20211217

        Mosquitto broker: 6.0.1

        Home Assistant Supervisor
        Sistema operativo del Host: Home Assistant OS 7.4
        Canal de actualización: stable
        Versión del Supervisor: supervisor-2022.01.1
        Versión de Docker: 20.10.9

        Está todo recién instalado y no tengo nada más configurado. No tengo problema en experimentar. Ya borré todo y par de veces y nada. A ver si me iluminas 😀
        Saludos!

        Responder
          • Que fallo!! es un GL-C-001P que se reconoce como un GL-C-008P.
            Saludos !

          • Hola, a ve si te valen estas opciones (si no las has probado ya):
            – En los detalles del dispositivo, debe haber un botón con la etiqueta «Configurar». Cuando se agrega por primera vez, o se realizan cambios en el firmware, se debe presionar «Configurar» para poder usar el dispositivo. Hemos leído en varios foros que es un error muy común
            – Mira en el log de Zigbee2MQTT, por si te da alguna pista de qué puede estar ocurriendo.

            Sentimos no poder darte indicaciones más precisas de qué puede estar pasando. Saludos.

  3. ¿Podrías pasarme enlaces de algunos de esos foros donde se comente y ya investigo? esa etiqueta de «Configurar» no la veo en el front de Zigbee2MQTT. Si veo «ajustes», «ajustes específicos», «estado», «clusters», «escena», «consola de desarrollo»… pero no veo que tocar ahí para recibir información del controlador. Tan solo llega el LQI automáticamente y el resto de valores clicando sobre cada campo de «exposes»

    Saludos!

    Responder
  4. Que tal chicos buen dia, adquiri unos Zigbee switch modelo ZR02, pero no logro emparejarlos, no puedo hacer que la luz del switch sea mas rapida y logicamente no logro hacer que el ewelink lo pueda reconocer, y por otro lado tampoco he logrado echar andar mi Zigbee2MQTT, coloque en mi MQTT usuario nuevo y password como vi en algunos tutoriales pero no logro iniciar y pues en la pantalla me sale un error 502 Bad Gateway, si alguien me puede iluminar con sus conocimientos se los agradeceria mucho, Felipe de México

    Responder
    • Hola Felipe. Prueba a poner como usuario/password de MQTT los mismos que el usuario/password de Home Assistant. En algún add-on ese ha sido el truco.

      Responder

Deja un comentario