En este nuevo tutorial vamos a ver cómo podemos controlar múltiples casas con Home Assistant. Esto es gracias a un dispositivo del que ya he hablado en un tutorial anterior, el coordinador Zigbee SLZB-06.
La idea es que gracias a esto puedas controlar una segunda vivienda, el apartamento en Torrevieja o incluso puedas domotizar la habitación del hotel donde vas a ir de vacaciones. No solo eso, con lo que vas a ver aquí vas a poder controlar múltiples casas con Home Assistant.
Vamos a ver cómo hacerlo paso a paso.
Indice de contenidos
Capítulos múltiples casas con Home Assistant
Para ir a tiro hecho de cómo controlar múltiples casas con Home Assistant mira los siguientes capítulos
00:00 Introducción
01:32 Mini curso gratuito de Home Assistant
02:14 Esquema general para controlar múltiples casas con Home Assistant
04:40 Configuración de DuckDNS
07:18 Configuración VPN Wireguard
10:05 Abrir puerto en el router de la compañía
11:58 Configuración coordinador Zigbee SLZB-06
15:01 Configuración enrutamiento IPs
16:28 Configuración ZHA con SLZB-06
18:34 Despedida y ojo, que esto me la pela
Antes de empezar
Antes de empezar es importante entender cómo vamos a ser capaces de controlar una segunda vivienda con nuestra instalación de Home Assistant. La idea es que la que puedes ver en el siguiente esquema general.
Por un lado vamos a tener nuestro sistema domótico con Home Assistant montado en la vivienda principal y por otro lado vamos a montar una red Zigbee en una segunda vivienda que vamos a conectar a Home Assistant de la vivienda principal gracias a una VPN Wireguard.
En la vivienda principal no es necesario tener una red Zigbee, aunque si quieres puedes tener, tampoco es necesario tener otros dispositivos. Lo indispensable es tener un servidor con Home Assistant instalado.
Para la segunda vivienda es necesario tener un coordinador Zigbee SLZB-06 de la empresa Smlight. Puedes comprar uno por unos 40€.
Aparte, vas a necesitar algún dispositivo Zigbee para configurar en la segunda vivienda. Puede ser un sensor de puerta o ventana para saber si alguien entra mientras tú estás en la playa, un enchufe inteligente para encender el aire antes de subir de la piscina o un detector de inundación.
Cualquier dispositivo Zigbee compatible es válido.
Vamos a ver los pasos que tenemos que dar para configurar el acceso a la segunda vivienda desde Home Assistant.
Configuración de DuckDNS
Para poder conectar el coordinador Zigbee desde esa segunda vivienda, va a ser necesario identificar el router situado en la primera vivienda. Este router, como todos los routers que se conectan a Internet, tienen asignada una IP pública por el operador de Internet.
Esta IP suele ser una IP dinámica, es decir, que no siempre es la misma y que puede cambiar de forma aleatoria. Esto hace que sea complicado que desde esa segunda vivienda se pueda conectar el coordinador Zigbee a la primera vivienda.
Para evitarlo podemos utilizar un servicio como Duck DNS que forma muy resumida lo que hace es asignar una URL o dominio a la IP pública de tu router.
Y lo mismo estás pensando qué esto no soluciona el problema ya que la IP puede cambiar y estás en lo cierto, lo bueno es que gracias a un complemento o Add-on que vamos a instalar en Home Assistant vamos a poder cambiar la relación entre el dominio y la IP pública.
Tienes que configurar el dominio y el token de seguridad de Duck DNS.
Una vez configurado tienes que iniciarlo. Vamos con el siguiente paso.
Instalación VPN Wireguard en Home Assistant
No voy a entrar en detalle a explicar que es una VPN (acrónimo del inglés Virtual Private Network) o red privada virtual porque no es el objetivo de este tutorial. Solo decir que es un software que nos permite conectarnos a la red local de casa desde fuera como si estuviéramos conectados por cable o a través de la red WiFi.
Y software de VPN hay unas cuantas pero la que vamos a utilizar es Wireguard, una VPN muy simple, rápida y muy segura que utiliza un sistema de cifrado de última generación.
Gracias a Wireguard vamos a poder conectar múltiples casas con Home Assistant y controlarlas desde el mismo sistema domótico. Para instalar Wireguard en Home Assistant lo vamos a hacer a través de un complemento o Add-on.
Luego accede a Configuración donde verás dos secciones separadas. En la sección server vamos a configurar los parámetros del servidor como el host, el rango de IPs de la VPN o las dns. En la sección peers vamos a configurar los clientes a los que tendremos que asignar una IP y configurar las IPs a las que tendrán acceso.
En la configuración del servidor escribimos lo siguiente:
Importante. Sustituye los datos como host y dns con los datos de tu configuración de red.
1 2 3 4 5 6 |
host: soylerdo.duckdns.org addresses: - 172.27.66.1 dns: - 192.168.18.1 - 8.8.8.8 |
- host: es el dominio de Duck DNS
- addresses: ponemos el rango de IPs de la VPN. En este caso he elegido la 172.27.66.X asignando la IP 1 al servidor Wireguard. Ten en cuenta que este rango no tiene que coincidir con el rango de IPs de la red local de la primera vivienda ni de la segunda vivienda.
- dns: configura el servidor de DNS.
En cuanto al peer o cliente la configuración es la siguiente:
Importante. Sustituye los datos de la red por la configuración de tu red local.
1 2 3 4 5 6 7 |
- name: slzb-06 addresses: - 172.27.66.2 allowed_ips: [] client_allowed_ips: - 192.168.18.0/24 - 172.27.66.0/24 |
- name: pon un nombre descriptivo al cliente.
- addresses: asigna una IP al cliente dentro del rango de IPs de la VPN. No debe coinicidir con ninguna otra IP de los clientes ni del servidor. Por ejemplo, asigna al primer peer la 2.
- client_allowed_ips: ponemos las IPs o los rangos de IPs a los que va a tener acceso el peer. En este caso ponemos que tiene acceso a todos los peers de la VPN y a todos las máquinas de la red local.
Si quieres añadir más clientes para poder controlar múltiples casas con Home Assistant basta con ir añadiendo clientes o peers a la configuración y cambiar la IP asignada a cada cliente.
Una vez hayas configurado Wireguard en Home Assistant, inicia el complemento. Para que el coordinador Zigbee o cualquier otro cliente pueda conectarse a la VPN es necesario abrir el puerto UDP 51820 en el router de la compañía.
Cómo hacerlo dependerá de la marca y modelo de tu router pero más o menos todo se hacen igual. Te voy a poner el ejemplo de mi caso concreto. Para acceder al router tengo que poner la IP 192.168.1.1 en un navegador. Es la IP que se suele reservar para los router de las redes locales.
Allí tendrás que poner el usuario y la contraseña. Esta información la suele proporcionar el operador de Internet y suele estar en la parte de abajo del router o en la caja.
Una vez dentro busca la sección de avanzado y entra en ella.
El mapeo de puertos o la apertura de puertos se suele encontrar en Foward Rules dentro de la opción IPv4 Port Mapping. Allí tendrás que crear un nuevo mapeo.
Pon un nombre descriptivo al mapeo, configura el Internal Host que es la IP de Home Assistant donde has instalado Wireguard, selecciona el protocolo UDP y configura el puerto 51820 tanto externo como interno. Luego guarda la configuración.
Gracias a esto hemos abierto el puerto y ya podemos conectarnos desde fuera de nuestra casa a través del puerto 51820 vía UDP. El siguiente paso es aplicar la configuración del cliente Wireguard en el coordinador Zigbee SLZB-06.
Configurar VPN en SLZB-06
Para poder configurar la VPN en el coordinador Zigbee SLZB-06 tienes que entrar al panel de control web. Una vez dentro accede a la sección de VPN y habilita la VPN.
Hay que rellenar todos los datos que nos pide pero ¿De dónde sacamos esta información? Esta información nos la facilita el complemento de Wireguard. Tienes que entrar en Home Assistant e instalar el complemento File Editor.
Después de instalar el complemento y antes de iniciarlo tienes que deshabilitar la opción de la configuración Enforce Basepath.
Ahora sí, abre el File Editor y haz clic en la flecha hacia la derecha para bajar un nivel en el sistema de archivos.
Busca la carpeta SSL y entra en ella.
Luego entra en la carpeta wireguard.
Dentro verás una carpeta por cada cliente que hayas configurado en el complemento de Wireguard. Entra en el peer o cliente que vas a asignar al coordinador Zigbee.
Abre el archivo client.conf.
Dentro verás la configuración del peer o cliente que tienes que copiar en la configuración del coordinador Zigbee.
Importante. No compartas con nadie estos datos o tendrá acceso a toda tu red local.
Una vez hayas configurado la VPN Wireguard en el coordinador, haz clic en guardar. Te pedirá que reinicies.
En principio con esto sería suficiente pero según la documentación oficial de Smlight, hay que hacer algo más y es aplicar una reglas de enrutamiento IP.
Configuración enrutamiento IP en Home Assistant
El siguiente paso es configurar el enrutamiento IP en Home Assistant. Para ello es necesario instalar el complemento Advanced SSH & Web Terminal.
Antes de iniciar el complemento deshabilita el Modo de protección.
Luego abre una terminal y copia el siguiente comando.
1 |
host_result=$(host a0d7b954-wireguard); addon_ip=${host_result##* }; ip route replace 172.27.66.0/24 via $addon_ip; echo $addon_ip |
Asegúrate de poner bien el rango de IPs que has seleccionado para tu VPN y luego pulsa la tecla Enter.
Por desgracia esta configuración no es permanente. Para que se quede almacenada de forma indefinida hay que añadir la configuración al archivo configuration.yaml. Abre el complemento File Editor y entra en el archivo configuration.yaml.
Dentro del archivo copia el siguiente código.
1 2 3 4 |
command_line: - sensor: name: wireguard_route command: host_result=$(host a0d7b954-wireguard); addon_ip=${host_result##* }; ip route replace 172.27.66.0/24 via $addon_ip; echo $addon_ip |
Importante. Cambia la IP por el rango de IPs que has seleccionado para tu VPN.
Por último reinicia Home Assistant para que esto tenga efecto.
Una vez reinicie vamos con el último paso que es configurar la red Zigbee.
Configuración ZHA para controlar múltiples casas con Home Assistant
Vamos con la última parte que es configurar la plataforma Zigbee. En este sentido podemos utilizar tanto ZHA (Zigbee Home Automation) como Zigbee2MQTT. Si ya tienes una red Zigbee con esta última plataforma, Zigbee2MQTT, lo mejor es utilizar ZHA y es precisamente la plataforma que voy a configurar a continuación.
Importante. Si quieres configurar Zigbee2MQTT con este coordinador tienes toda la información en la documentación oficial.
Lo más probable es que tengas una notificación indicando que ha encontrado un dispositivo nuevo que coincide con el coordinador SLZB-06. Si miras en integraciones lo verás. Ignora esta integración ya que vamos a añadir el dispositivo de forma manual haciendo clic en AÑADIR INTEGRACIÓN.
Busca ZHA y selecciona Zigbee Home Automation.
Luego selecciona el tipo de radio ZNP.
La ruta del dispositivo serie pon lo siguiente:
socket://172.27.66.2:6638
Eso sí, sustituye 172.27.66.2 por la IP que hayas asignado al coordinador dentro de la VPN Wireguard.
Con esto ya tendremos configurado el coordinador Zigbee con ZHA pero a través de la VPN Wireguard.
Después de esto puedes coger el coordinador e instalarlo en una segunda vivienda para poder tener el control de múltiples casas con Home Assistant.
Y hasta aquí este tutorial, cualquier duda o sugerencia en los comentarios de aquí abajo.
Gracias Depositphotos por ceder los derechos de algunas de las imágenes.