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.
- Muy bajo consumo.
- No ocupa ningún puerto USB.
- Queda oculto y discreto.
- 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.
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”
Y añadimos las siguientes líneas al final del fichero:
enable_uart=1
dtoverlay=miniuart-bt
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”
Seleccionamos “Serial Port”
Would you like a login shell accessible over serial? → No
Would you like the serial port hardware to be enabled? → Sí
Confirmamos los cambios
Le damos a “Finish” para finalizar
Nos pregunta si queremos reiniciar para que se apliquen los cambios, le decimos que sí
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:
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 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”
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.
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.