Zigbee2mqtt con Raspbee II

En esta guía vamos a ver como instalar Zigbee2mqtt con Portainer y hacerlo funcionar con el módulo de Raspbee II de Phoscon.

Raspbee II (ver Amazon)

El módulo Raspbee 2 (ver Amazon), se conecta directamente al puerto de expansión de la Raspberry.

Su consumo es muy bajo y queda oculto dentro de la caja proporcionando un funcionamiento optimo.

¡Ver OFERTA en Amazon!

Pros
  • Muy bajo consumo.
  • No ocupa ningún puerto USB.
  • Queda oculto y discreto.
Contras
  • Precio.

Preparación Zigbee2mqtt con Raspbee II

Al igual que el resto de sticks Zigbee el módulo Raspbee II se comunica con la Raspberry a través del puerto serie el cual está desactivado por defecto, por lo que tendremos que activarlo, configurarlo y añadir las librerías necesarias.

RaspbeeII en Rapberry
RaspbeeII en Rapberry

Zigbee2mqtt hace uso del protocolo Mqtt, por lo que es obligatorio que tengas Mosquitto instalado antes de continuar, en caso de no tenerlo instalado mira la guía donde explicamos cómo instalar Mosquitto.

Habilitar el puerto Serie en la Raspberry

El primer paso es habilitar el puerto serie de la Raspberry, para ello deberemos quitar la alimentación de la raspberry extraer la tarjeta SD e introducirla en el lector de tarjetas del ordenador.

Abrimos el fichero “config.txt”

Editar fichero config.txt raspberry pi
Editar fichero config.txt raspberry pi

Y añadimos las siguientes líneas al final del fichero:

enable_uart=1
dtoverlay=miniuart-bt 
config.txt raspberry
config.txt raspberry

Guardamos los cambios, introducimos la tarjeta SD en la Raspberry y conectamos la alimentación.

Instalar librerías

El siguiente paso es instalar las librerías necesarias con:

sudo apt install i2c-tools build-essential raspberrypi-kernel-headers -y

Configurar el módulo Raspbee II

Antes hemos habilitado el Puerto serie, ahora tenemos que decirle a la Raspberry que lo active para usarlo para ello lanzamos el siguiente comando por SSH:

sudo raspi-config

Se abre el configurador y seleccionamos “Interface Options”

RaspbeeII configuration - Interface-options
RaspbeeII configuration – Interface-options

Seleccionamos “Serial Port”

RaspbeeII configuration - Serial Port
RaspbeeII configuration – Serial Port

Would you like a login shell accessible over serial? → No

RaspbeeII configuration - shell accessible over serial
RaspbeeII configuration – shell accessible over serial

Would you like the serial port hardware to be enabled? → Sí

RaspbeeII configuration serial port hardware enabled
RaspbeeII configuration serial port hardware enabled

Confirmamos los cambios

RaspbeeII configuration - confirmación
RaspbeeII configuration – confirmación

Le damos a “Finish” para finalizar

RaspbeeII configuration - confirmación finalizar
RaspbeeII configuration – confirmación finalizar

Nos pregunta si queremos reiniciar para que se apliquen los cambios, le decimos que sí

RaspbeeII configuration - confirmación finalizar reiniciar
RaspbeeII configuration – confirmación finalizar reiniciar

Instalar Zigbee2mqtt en Portainer

Vamos a proceder con la instalación de Zigbee2mqtt creando un nuevo stack, para ello 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
    ports:
      - "8080:8080"
      - "8099:8099"
    volumes:
      - /docker/zigbee2mqtt/app/data:/app/data
      - /docker/zigbee2mqtt/run/udev:/run/udev:ro
    devices:
      - /dev/ttyAMA0:/dev/ttyAMA0
    restart: always
    environment:
      - TZ=Europe/Madrid

Quedando como en la siguiente imagen:

zigbee2mqtt con Portainer en Docker
zigbee2mqtt con Portainer en Docker

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

Zigbee2mqtt container en Portainer
Zigbee2mqtt container en Portainer

Configuración de Zigbee2mqtt

Vamos a configurar zigbee2mqtt para que funcione con nuestro módulo Raspbee II, aunque el proceso es el mismo para otros sticks USB Zigbee.

Para empezar, paramos el contenedor pulsando el botón “Stop” y seguidamente damos permisos con:

sudo chown pi:pi -R /docker

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

zigbee2mqtt editar fichero configuration.yaml
zigbee2mqtt editar fichero configuration.yaml

Sustituimos el contenido por las siguientes líneas:

homeassistant: true
permit_join: false
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://192.168.9.120:1883
  user: user
  password: 'password'
serial:
  port: /dev/ttyAMA0
  adapter: deconz
frontend:
  port: 8099
advanced:
  log_level: warn
  pan_id: 6754
  channel: 11
  network_key: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

Parámetros a modificar:

user: el usuario mqtt

password: el password del usurio creado para el servidor mqtt

network_key: cambiar cada uno por un número comprendido entre 0 y 255, esta va a ser como la clave del router wifi, de ella dependerá la seguridad de vuestra red zigbee, así que es importante que la modifiquéis y no dejéis los unos.

Guardamos los cambios e iniciamos el contenedor de Zigbee2mqtt, si todo ha ido bien nos dirá que ha creado el adaptador DeconZ(adaptadar del módulo Raspbee II) y no se mostrarán más mensajes de error.

zigbee2mqtt log
zigbee2mqtt log

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

zigbee2mqtt entidades
zigbee2mqtt entidades

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

zigbee2mqtt dispositivo en lovelace ha
zigbee2mqtt dispositivo en lovelace ha

Deja un comentario