Z2M en segunda residencia

La solución más sencilla y barata para crear una red zigbee con la que domotizar nuestra segunda residencia sin duda alguna es mediante el uso del adaptador ethernet zigbee 3.0 SLZB-06
El adaptador SLZB-06 es sencillamente genial, ya que te permite crear un coordinador zigbee con el que domotizar una segunda residencia sin tener que montar un segundo servidor de Home Assistant en esta. Simplemente hay que conectarlo a un puerto ethernet del router y a través de una conexión vpn reportará el estado de los sensores a nuestro servidor remoto.
No aportaría nada de valor replicando los pasos del fantástico artículo de Programar Fácil en el que explica perfectamente la configuración del mismo, sólo voy a seguir donde el lo ha dejado. Si quieres ver una versión reducida la tienes en mi Nota SLZB-06
Si ya tienes montada la integración de [ZHA] en tu servidor de Home Assistant te encontrarás con el problema de que no puedes crear una segunda. A continuación la solución que he implementado.
Montar una integración de Z2M (Zigbee2Mqtt)
En mi servidor domótico tengo montada una imagen de HAOS en una unidad usb sobre una rpi4. Ya tengo funcionando una integración de [ZHA] y otra de [Z2M] con sendos módulos zigbee conectados a la raspberry mediante usb. Para añadir una segunda integración [Z2M] realizamos los siguientes pasos
- Acceder a “Ajustes - Complementos - Tienda de complementos”
- Acceder al menú (Tres puntos) y repositorios
- Añadimos el repositorio “https://github.com/zigbee2mqtt/hassio-zigbee2mqtt/ "
- Refrescamos la página para recargar la tienda de complementos
- Buscamos “Zigbee2Mqtt” se han duplicado los complementos
- Instalamos el que no está marcado con la línea azul
- Accedemos al menú de configuración del complemento
- Cambiamos el “data_path” por defecto (En mi caso /config/zigbee2mqtt_co)
- Cambiamos el puerto (+1) tanto en “socat” como en “Red” (8486)
- Editamos el archivo “/homeassistant/zigbee2mqtt_co/configuration.yaml”. Con la reciente actualización a V2 de Z2M ha sido necesario incluir una modificaciones en el archivo. (Por defecto el “log_level” se puede quedar en “info” aunque yo lo he modificado para que no se haga muy grande el archivo.
homeassistant:
enabled: true
data_path: /config/zigbee2mqtt_co
advanced:
network_key:
- 171
- 22
- 21
- 221
- 215
- 33
- 213
- 8
- 233
- 18
- 232
- 17
- 56
- 114
- 212
- 157
pan_id: 6754
ext_pan_id:
- 115
- 127
- 62
- 198
- 250
- 93
- 10
- 43
chanel: 11
homeassistant_legacy_entity_attributes: false
homeassistant_legacy_triggers: false
legacy_api: false
legacy_availability_payload: false
log_level: warning
mqtt:
server: mqtt://core-mosquitto:1883
user: addons
password: OuyaiCh5acai7aebohz5Noh3Ziegho0ich7jo8HeicheiH5yahhiaphaiTifog9k
base_topic: zigbee2mqtt_co
frontend:
enabled: true
port: 8099
serial:
port: tcp://172.27.66.3:6638
baudrate: 115200
adapter: zstack
device_options:
legacy: false
version: 4
No tengo claro si este archivo se podría simplificar un poco más, lo cierto es que a mi así me ha funcionado a la primera.
Ya tenemos listas las dos integraciones de Zigbee2Mqtt en nuestra instalación de Home Assistant. El único problema es que ambas se muestran en la barra de menú con el mismo nombre. Veamos que se puede hacer…
Cambiando el nombre del menú
Gracias a hass_ingress vamos a poder añadir nuevos accesos directos al menú de Home Assistant de una forma rápida y sencilla.
- Accedemos a HACS (Suponiendo que lo tenemos instalado, sino…)
- Añadimos un repositorio personalizado desde el menú https://github.com/lovelylain/hass_ingress)
- Buscamos y descargamos la integración “ingress”
- Copiamos la url de redirección a cada una de las instancias Z2M
- Añadimos a “configuration.yaml” de HA el siguiente código
ingress:
zigbee2mqtt:
work_mode: hassio
title: Z2M Zaragoza
icon: mdi:zigbee
url: 45df7312_zigbee2mqtt
zigbee2mqtt_co:
work_mode: hassio
title: Z2M Cinco Olivas
icon: mdi:zigbee
url: 9336c2b0_zigbee2mqtt
- Reiniciamos Home Assistant
Ya podemos ver en el menú lateral de Home Assistant el nombre personalizado para cada una de las instancias de Zigbee2Mqtt
Fallo de conexión tras reinicio
Tras unos fallos en el suministro eléctrico de la vivienda donde está instalado el SLZB-06 he perdido la comunicación con el mismo desde Home Assistant. El diagnóstico es el siguiente:
- Puedo acceder al coordinador mediante la IP local
- Puedo acceder al panel de control del coordinador también por VPN
- Por telnet puedo acceder a la ip y puerto “172.27.66.3:6638” sin problemas
- El complemento de Z2M no carga por fallo de conexión con el coordinador
[2025-02-03 12:20:05] info: zh:zstack:znp: Skip bootloader for CC2652/CC1352 [2025-02-03 12:20:23] error: z2m: Error while starting zigbee-herdsman
Me pongo con ello y pruebo una serie de medidas todas ellas sin éxito:
- Reiniciar el SLZB
- Reiniciar Home Assistant
- Cambio del firmware del SLZB-06 a versión anterior
- Restaurar una copia de seguridad de HA a un momento funcional
- Cambio del firmware del SLZB-06 a la última versión en desarrollo
- Cambio del modo de conexión del módulo de radio (de coordinador a router y Zigbee Hub)
Tras unas horas de desesperación en las que no he devuelto el adaptador a los valores de fábrica por que no lo tengo cerca he dado con este hilo de Github en el que proponen varias soluciones. La primera que pruebo es cambiar el modo de conexión a “USB” y posteriormente restaurar la conexión “Ethernet”
Imprescindible si no tienes el adaptador en la mano activar la casilla “Keep ON Wi-Fi/Ethernet network & web server in USB mode” antes de guardar los cambios.
Y… Voila¡¡ Problema resuelto. Un profundo dolor de cabeza resuelto con una solución a aplicar en menos de un minuto.