Construyendo un centro de control para el hogar inteligente con Home Assistant
Construyendo un centro de control para el hogar inteligente con Home Assistant
En este artículo detallaremos cómo configurar Home Assistant en el nuevo producto LinkStar H68K de Seeed Studio y desplegar el entorno ESPHome. ESPHome es un servicio muy común en Home Assistant. Debido a las limitaciones del sistema de soft routing, usaremos ESPHome como ejemplo para guiarte en un método inteligente para instalar este servicio.
Comenzando
Si deseas seguir este tutorial paso a paso, necesitarás preparar lo siguiente.
LinkStar H68K con Wi-Fi 6 | reRouter CM4 1432 (Opcional) | XIAO ESP32C3 |
---|---|---|
![]() | ![]() | ![]() |
Consigue uno ahora | Consigue uno ahora | Consigue uno ahora |
*El reRouter CM4 1432 también es compatible con este tutorial. Puedes comprar LinkStar o reRouter.
El objetivo de este proyecto es instalar Home Assistant y ESPHome usando el servicio Docker de LinkStar, y luego configurar un hotspot de LinkStar para conectarse a LinkStar usando las capacidades WiFi del XIAO ESP32C3 para completar la red.
Luego, combinado con el vasto ecosistema Grove, podrás crear aún más posibilidades en Home Assistant.
El contenido de este tutorial cubrirá ampliamente los siguientes pasos:
- Configurar el entorno Docker en LinkStar OpenWRT
- Instalación y configuración de Home Assistant y ESPHome
- Agregar Seeed Studio XIAO ESP32C3 a ESPHome
- Módulos Grove con ESPHome y Home Assistant
Configurar el entorno Docker en LinkStar OpenWRT
Paso 1. Instalar OpenWRT en LinkStar
Hemos detallado cómo instalar varios sistemas en LinkStar en la Wiki de LinkStar. En este tutorial tomaremos como ejemplo el sistema OpenWRT y explicaremos cómo instalar el contenedor Home Assistant asegurando que LinkStar funcione como enrutador suave.
Por favor, selecciona arriba la ubicación del sistema donde deseas instalar OpenWRT para LinkStar.
Paso 2. Configurar la red de LinkStar
Conéctate a LinkStar mediante un cable de red e ingresa la dirección IP: 192.168.100.1
en tu navegador para acceder al backend operativo de OpenWRT.
La contraseña inicial de la cuenta es:
Account: root
Password: password
Luego necesitamos conectar LinkStar a Internet.
Necesitas comprar un LinkStar con red inalámbrica, para que puedas elegir conectar un cable de red a LinkStar o usar WiFi.
- Si es red por cable, configura tu red según las instrucciones de tu operador.

- Si quieres usar una LAN inalámbrica, puedes buscar una red en las opciones de Wireless.

Después de eso, solo ingresa tu contraseña de red, haz clic en Save and Apply.
Asegúrate de tener una buena conexión antes de continuar con los siguientes pasos.
Paso 3. Asignar más espacio a Docker
Por defecto, Docker tiene solo unos 250MB, lo cual no es suficiente para instalar las imágenes, así que primero necesitamos ampliar la capacidad para Docker.
Haz clic en System --> Disk Man --> EDIT.

En la última línea, escribe el tamaño del espacio a agregar en la columna END SECTOR. En mi caso, es +20G
. Luego haz clic en el botón NEW.

Selecciona el formato ext4 y después haz clic en FORMAT.


Cuando termine, verás que se ha añadido un espacio nuevo de 20GB. Sin embargo, es un espacio libre; necesitas montarlo para Docker.
Luego elige System --> Mount Points, encuentra la sección Mount Point, y haz clic en ADD.

Elige el espacio nuevo que acabas de crear.

Selecciona el punto de montaje Use as Docker data (/opt). No olvides marcar la casilla Enable this mount, luego haz clic en SAVE & APPLY.

Todas las configuraciones para la expansión están completas, solo necesitas reiniciar para que sea efectivo.
Selecciona System --> Reboot, haz clic en el botón PERFORM REBOOT. Espera a que OpenWRT se reinicie y vuelve a iniciar sesión.

Instalación y configuración de Home Assistant y ESPHome
Paso 4. Instalar Home Assistant con Docker
Una mejor forma de instalar Home Assistant en OpenWRT es hacerlo mediante Docker, lo cual garantiza que LinkStar sea estable como enrutador suave y además permite desplegar Home Assistant.
Todo lo que necesitamos hacer es descargar una imagen específica de Home Assistant. Esta imagen también nos servirá más adelante para instalar el servicio ESPHome.
homeassistant/qemuarm-64-homeassistant:latest

Usamos la imagen descargada para crear un contenedor.

En la página donde se crea el contenedor, debemos hacer algunas configuraciones simples:
- Nombre del contenedor: el nombre que desees
- Imagen de Docker: selecciona la imagen descargada qemuarm-64-homeassistant
- Red: selecciona el modo host
- Variables de entorno (-e): tus variables de entorno (si necesitas)

Una vez llenados los campos anteriores, haz clic en Guardar y aplicar. Verás que el contenedor ha sido creado. Ahora simplemente inícialo.

Paso 5. Instalar ESPHome con Docker
Como hemos instalado Home Assistant como contenedor, no podemos simplemente descargar ESPHome desde la tienda de complementos, por lo tanto, necesitamos una solución alternativa.
Repitiendo los pasos anteriores, descargamos la imagen de ESPHome:
esphome/esphome:latest

En la página donde se crea el contenedor, configuramos lo siguiente:
- Nombre del contenedor: el nombre que desees
- Imagen de Docker: selecciona la imagen descargada esphome
- Red: selecciona el modo host
- Variables de entorno (-e): tus variables de entorno (si necesitas)

Después de llenar los campos, haz clic en Guardar y aplicar. Verás que se ha creado el contenedor. No olvides iniciarlo.

Paso 6. Añadir el servicio ESPHome a Home Assistant
Para lograr el mismo efecto que si hubiéramos descargado ESPHome desde Home Assistant, necesitamos modificar el archivo de configuración de Home Assistant.
Accede al contenedor de Home Assistant.

Abrimos la terminal dentro del contenedor de Home Assistant.

Escribe el siguiente comando:
vi configuration.yaml
Añade el siguiente contenido al final del archivo configuration.yaml
:
# Example configuration.yaml entry
panel_iframe:
esphome:
title: "ESPHome"
url: "http://192.168.100.1:6052"
icon: mdi:chip
Sal del contenedor de Docker escribiendo exit
en la terminal de Home Assistant. Una vez hecho esto, reinicia el contenedor de Home Assistant.
Abre una nueva pestaña en el navegador, entra a la dirección IP 192.168.100.1:8123
y registra tu cuenta de Home Assistant. Verás que ESPHome aparece en la barra lateral izquierda.

Añadir Seeed Studio XIAO ESP32C3 a ESPHome
- Paso 1. Haz clic en + NUEVO DISPOSITIVO

- Paso 2. Haz clic en CONTINUAR

- Paso 3. Ingresa un Nombre para el dispositivo y escribe tus credenciales WiFi, como el nombre de red y la contraseña. Luego haz clic en SIGUIENTE

- Paso 4. Selecciona ESP32-C3 y haz clic

- Paso 5. Haz clic en OMITIR, ya que configuraremos esta placa manualmente

- Paso 6. Haz clic en EDITAR bajo la placa recién creada

- Paso 7. Esto abrirá un archivo YAML que se utilizará para establecer todas las configuraciones de la placa. Edita el contenido bajo la sección esp32 como se muestra a continuación:
esp32:
board: seeed_xiao_esp32c3
variant: esp32c3
framework:
type: arduino
version: 2.0.5
platform_version: 5.2.0
Nota: Aquí estamos utilizando la versión más reciente del núcleo de Arduino para ESP32 y el soporte de ESP32 para PlatformIO

- Paso 8. Luego, haz clic en el botón Guardar en la esquina superior derecha.
El LinkStar H68K no admite el reconocimiento de dispositivos MCU externos, por lo tanto, primero necesitamos descargar el firmware compilado y luego cargarlo desde otra PC.
- Paso 9. Haz clic en el botón Instalar en la esquina superior derecha. Luego selecciona la última opción: Descarga manual.

- Paso 10. Selecciona el formato Moderno.

Este proceso tardará un poco, ya que se compila y descarga el firmware. Por favor, ten paciencia. Una vez completado, el firmware se descargará automáticamente a tu computadora.

Paso 11. Para cargar el firmware al XIAO ESP32C3 hay un par de opciones. Aquí mostramos 2 formas de hacerlo:
- Opción 1: Usando la herramienta ESPHome Web para subir el firmware.
Asegúrate de tener instalados los controladores adecuados. A continuación se muestran los controladores para los chips más comunes usados en dispositivos ESP:
- Controladores CP2102: Windows y Mac
- Controladores CH342, CH343, CH9102: Windows, Mac
- Controladores CH340, CH341: Windows, Mac
Abre la herramienta web de ESPHome usando el navegador Chrome o Edge.
Haz clic en CONNECT.

Selecciona el puerto serie del XIAO ESP32 en la ventana emergente.

Haz clic en INSTALL y luego selecciona el archivo .bin
que descargaste en los pasos anteriores.


- Opción 2: Usando la herramienta esphome-flasher
Si aún no puedes cargar el firmware utilizando el método uno, incluso después de instalar los controladores y cambiar de navegador, entonces puedes intentar con el método dos. Consulta el tutorial oficial para conocer los métodos de instalación específicos e instrucciones de uso.
Si deseas observar los mensajes del registro del XIAO ESP32C3, también puedes verlos mediante el botón View Logs de esta herramienta.

Una vez que se complete la carga del firmware, puedes desconectar el XIAO ESP32C3 del PC (a menos que necesites ver los registros) y simplemente alimentarlo de forma independiente.
Si todo funciona correctamente, el XIAO ESP32C3 buscará y se conectará a la red WiFi que configuraste.
En mi caso, uso la red del LinkStar H68K. Puedes encontrarlo en las opciones de red y ver la dirección IP que el LinkStar H68K le asignó.

- Paso 12. Si ves que el estado de la placa aparece como ONLINE, significa que la placa se conectó exitosamente al WiFi.

- Paso 13. Conéctate al XIAO ESP32C3
Si no tienes muchos dispositivos de Home Assistant en tu red local, Home Assistant puede buscar automáticamente y agregar tus dispositivos ESP en la pestaña Dispositivos. Puedes ver este dispositivo dentro de Settings > Devices & Services.


Si no lo detecta automáticamente, también puedes conectarte al XIAO ESP32C3 mediante su dirección IP.
Haz clic en ADD INTEGRATION y busca esphome.

Luego, introduce la dirección IP del XIAO ESP32C3 con el puerto 6053 y haz clic en SUBMIT.

Si la IP y el puerto ingresados son correctos, se te pedirá ingresar la clave de cifrado (Encryption Key), que guardamos en el archivo YAML.
Después, haz clic en SUBMIT.

En este punto, se habrán completado correctamente los pasos para agregar el dispositivo.
Módulos Grove con ESPHome y Home Assistant
Ahora conectaremos módulos Grove al Seeed Studio XIAO ESP32C3 para poder mostrar datos de sensores o controlar dispositivos desde Home Assistant.
Conecta los módulos Grove al XIAO ESP32C3
Para utilizar los módulos Grove con el Seeed Studio XIAO ESP32C3, utilizaremos un Grove Shield para Seeed Studio XIAO y conectaremos el XIAO ESP32C3 en él.

Después de eso, podrás utilizar los conectores Grove de la placa para conectar los módulos Grove.
Definición de Pines
Debes seguir la siguiente tabla para usar los números de pines internos apropiados al conectar los módulos Grove a los conectores Grove del Grove Shield para Seeed Studio XIAO.
Número de pin interno | Mapeo de pin |
---|---|
2 | D0 |
3 | D1 |
4 | D2 |
5 | D3 |
6 | D4 |
7 | D5 |
21 | D6 |
20 | D7 |
8 | D8 |
9 | D9 |
10 | D10 |
6 | SDA |
7 | SCL |
Por ejemplo, si deseas conectar un módulo Grove al puerto D0, debes definir el pin en ESPHome como 2.

Lista de Compatibilidad de Módulos Grove con ESPHome
Actualmente, los siguientes módulos Grove son compatibles con ESPHome:
Ahora seleccionaremos 6 módulos Grove de la tabla anterior y explicaremos cómo se pueden conectar con ESPHome y Home Assistant.
Grove - Sensor de Temperatura y Humedad (AHT20)
Configuración
- Paso 1. Conecta el Grove - Sensor de Temperatura y Humedad (AHT20) a uno de los conectores I2C en el Grove Shield para Seeed Studio XIAO.

- Paso 2. Dentro del archivo xiao-esp32c3.yaml que creamos anteriormente, añade lo siguiente al final del archivo y súbelo vía OTA al XIAO ESP32C3:
i2c:
sda: 6
scl: 7
sensor:
- platform: aht10
temperature:
name: "Temperature"
humidity:
name: "Humidity"
Puedes aprender más sobre el componente AHT10 aquí. Permite usar sensores basados en AHT10, AHT20 y AHT21. Aquí añadimos el componente Bus I²C porque el AHT20 se comunica usando el protocolo I2C.
Visualización en el Panel
- Paso 1. En la página Overview de Home Assistant, haz clic en los 3 puntos y selecciona Editar Panel

- Paso 2. Haz clic en + AGREGAR TARJETA

- Paso 3. Selecciona Por ENTIDAD, escribe temperature y marca la casilla junto a Temperature

- Paso 4. Repite lo mismo para Humidity

- Paso 5. Haz clic en CONTINUAR

- Paso 6. Haz clic en AGREGAR AL PANEL

Ahora tu panel de Home Assistant se verá así:

- Paso 7. También puedes visualizar los datos del sensor como medidores. Haz clic en Gauge bajo POR TARJETA

- Paso 8. Selecciona Temperature del menú desplegable

- Paso 9. Haz clic en GUARDAR

- Paso 10. Repite lo mismo para Humidity

Ahora tu panel se verá así:

Para el Grove - Sensor de Gas VOC y eCO2 (SGP30) y el Grove - Sensor de CO2, Temperatura y Humedad (SCD41) en esta wiki, puedes seguir un procedimiento similar para visualizar los datos del sensor en el panel.
Grove - Sensor de Gas VOC y eCO2 (SGP30)
Configuración
- Paso 1. Conecta el Grove - Sensor de Gas VOC y eCO2 (SGP30) a uno de los conectores I2C en el Grove Shield para Seeed Studio XIAO

- Paso 2. Dentro del archivo xiao-esp32c3.yaml que creamos anteriormente, añade lo siguiente al final del archivo y súbelo vía OTA al XIAO ESP32C3:
i2c:
sda: 6
scl: 7
sensor:
- platform: sgp30
eco2:
name: "eCO2"
accuracy_decimals: 1
tvoc:
name: "TVOC"
accuracy_decimals: 1
Puedes aprender más sobre el componente SGP30 aquí.
Grove - Sensor de CO2, Temperatura y Humedad (SCD41)
Configuración
- Paso 1. Conecta el Grove - Sensor de CO2, Temperatura y Humedad (SCD41) a uno de los conectores I2C en el Grove Shield para Seeed Studio XIAO

- Paso 2. Dentro del archivo xiao-esp32c3.yaml que creamos anteriormente, añade lo siguiente al final del archivo y súbelo vía OTA al XIAO ESP32C3:
i2c:
sda: 6
scl: 7
sensor:
- platform: scd4x
co2:
name: "CO2"
temperature:
name: "Temperature"
humidity:
name: "Humidity"
Puedes aprender más sobre el componente SGP4x aquí.
Grove - Relay
Configuración
- Paso 1. Conecta el Grove - Relay a uno de los puertos Digitales en el Grove Shield para Seeed Studio XIAO. Aquí seleccionamos el puerto D0.

- Paso 2. Dentro del archivo xiao-esp32c3.yaml que creamos anteriormente, añade lo siguiente al final del archivo y súbelo vía OTA al XIAO ESP32C3:
switch:
- platform: gpio
pin: 2
name: "Relay"
Puedes aprender más sobre el componente Relay aquí.
Visualización en el Panel
- Paso 1. Bajo + AGREGAR TARJETA que mencionamos antes, selecciona POR ENTIDAD, escribe relay, selecciónalo y haz clic en CONTINUAR

- Paso 2. Haz clic en AGREGAR AL PANEL

Ahora puedes encender o apagar el relay usando el interruptor de palanca

Grove - Mini sensor de movimiento PIR
Configuración
- Paso 1. Conecta el Grove - mini PIR motion sensor a uno de los puertos Digitales en el Grove Shield para Seeed Studio XIAO. Aquí seleccionamos el puerto D0.

- Paso 2. Dentro del archivo xiao-esp32c3.yaml que creamos anteriormente, añade lo siguiente al final del archivo y súbelo vía OTA al XIAO ESP32C3:
binary_sensor:
- platform: gpio
pin: 2
name: "PIR Sensor"
device_class: motion
Puedes aprender más sobre el componente PIR aquí.
Visualización en el Panel
- Paso 1. Bajo + AGREGAR TARJETA que mencionamos antes, selecciona POR ENTIDAD, escribe pir, selecciónalo y haz clic en CONTINUAR

- Paso 2. Haz clic en AGREGAR AL PANEL

Ahora, si se detecta movimiento, se mostrará como Detected

¿Qué sigue?
¡Felicidades! Has aprendido a completar el despliegue de Home Assistant en LinkStar y eres capaz de usar el plugin ESPHome. Para cualquier situación similar donde no puedas instalar un contenedor de Home Assistant con un Add-on, puedes usar este método para instalar otros plugins de Home Assistant.
También esperamos que te unas a nuestro equipo de creadores y nos traigas más ejemplos útiles.
Por supuesto, el XIAO ESP32C3 tiene mucho más que solo soporte para el MR24HPCB1 en Home Assistant, y puedes encontrar más tutoriales para tu propio uso en este documento.
- Conectar módulos Grove a Home Assistant usando ESPHome (Odyssey)
- XIAO ESP32C3 accede a Home Assistant vía el servicio ESPHome
¡Deja fluir tu creatividad!
Solución de problemas
FAQ1: Recibí el siguiente error al subir el firmware usando la herramienta web de ESPHome, ¿cómo puedo solucionarlo?

R: Si aparece este mensaje mientras subes el firmware, desconecta el XIAO ESP32C3 de la PC. Luego, mantén presionado el BOTÓN BOOT, conecta la placa a tu PC mientras sigues presionando el botón BOOT y luego suéltalo para entrar en modo bootloader. En este punto basta con reconectar y subir el firmware nuevamente.
FAQ2: No puedo instalar esphome flasher en Linux siguiendo el tutorial de esphome flasher. ¿Qué hago?
R: Al ejecutar los siguientes comandos, debes seleccionar la versión de tu sistema, de lo contrario ocurrirá un error. Por ejemplo, si tu computadora es Ubuntu 22.04, el comando a ejecutar es el siguiente:
sudo apt install python3
pip3 install -U \
-f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-22.04/ \
wxPython
pip3 install esphomeflasher
FAQ3: Ingresé correctamente el WiFi y la contraseña, ¿por qué no veo la dirección IP del XIAO ESP32C3?
R: Cuando te encuentres con este problema, por favor verifica que la antena del XIAO ESP32C3 esté conectada correctamente. Si la antena ya está conectada, asegúrate de que el XIAO no esté a más de 3 metros del LinkStar (a menos que hayas reemplazado la antena por una más potente). Si aún no ves el XIAO, puedes usar el software esphome flasher para revisar los logs del XIAO y verificar la conexión a través de ellos. También puedes desconectar y reconectar el XIAO para que intente buscar la red WiFi y conectarse de nuevo.
Soporte Técnico y Discusión de Producto
¡Gracias por elegir nuestros productos! Estamos aquí para ofrecerte diferentes tipos de soporte y asegurarnos de que tu experiencia con nuestros productos sea lo más fluida posible. Contamos con varios canales de comunicación para atender distintas preferencias y necesidades.