Tango with Home Assistant and SenseCAP Sensors
Cómo integrar un sensor LoRaWAN® SenseCAP en Home Assistant
Ya existen suficientes dispositivos inteligentes (sensores, luces, interruptores) en el ámbito del hogar inteligente, y probablemente ya tengas múltiples aplicaciones como Apple Homekit, Google Home y Amazon Alexa para controlar distintos dispositivos. Es muy necesario conectarlos todos en un mismo lugar. Leí una noticia en septiembre de 2022 sobre el lanzamiento de Matter 1.0, cuyo objetivo es unificar el ecosistema. Sin embargo, eso definitivamente tomará tiempo.
En realidad, antes del lanzamiento de Matter, Home Assistant ya era una de las mejores plataformas para construir un ecosistema de hogar inteligente completamente personalizado, integrando dispositivos de las principales marcas y creando reglas de automatización para hacer de tu hogar un lugar mejor e inteligente. Eso es definitivamente algo que quiero aprender y compartir.
En esta serie de artículos, compartiré cómo construyo un hogar inteligente funcional con Home Assistant y sensores de la línea SenseCAP de Seeed Studio. Este es el primer hito:
Ejecutar Home Assistant desde cero e integrar sensores meteorológicos SenseCAP.
Pasos a seguir:
- Instalar Home Assistant en una Raspberry Pi
- Incorporar el sensor SenseCAP usando la App
- Agregar la integración MQTT y suscribirse a los datos de SenseCAP
- Añadir entidades con los distintos valores de medición
- Crear un panel de datos para los sensores
Instalar Home Assistant en una Raspberry Pi
Para comenzar con Home Assistant, el tutorial oficial es muy útil.
Existen muchos dispositivos y plataformas donde puedes ejecutar Home Assistant, pero yo tenía una Raspberry Pi sin uso, así que comencé desde aquí.
En lugar de usar Balena Etcher para grabar la imagen en la tarjeta SD, prefiero usar el Raspberry Pi Imager, que es ligero y fácil de usar.
Consigue una tarjeta micro SD mayor a 32GB y conéctala a tu computadora. Aquí uso una MacBook como ejemplo.
Navega a "otros sistemas operativos con propósito específico" y selecciona Home Assistant and Home Automation.
Selecciona Home Assistant.
Elige la versión del sistema operativo de Home Assistant para la Raspberry Pi 4.
Luego selecciona la unidad de la tarjeta SD con cuidado. ¡NO elijas el disco equivocado! Podrías perder tus datos.


Puede tardar un rato en descargarse la imagen de Home Assistant, según tu velocidad de internet.
Luego inserta la tarjeta SD en la Raspberry Pi, conecta un cable ethernet y enciéndela. El LED rojo debería permanecer encendido y el LED verde comenzará a parpadear. Si el LED verde no parpadea, algo salió mal durante la grabación de la imagen.
Ve a http://homeassistant.local:8123/
y espera a que finalice la instalación.
Sigue este enlace para registrar tu cuenta y acceder a Home Assistant.
¡Listo! Ya tienes Home Assistant instalado.
Incorporar el sensor SenseCAP usando la App
SenseCAP es una serie de sensores industriales y productos gateway. Entre ellos, los sensores LoRaWAN S210x están diseñados principalmente para escenarios de largo alcance y bajo consumo de batería.
Voy a utilizar la nueva Estación Meteorológica S2120, que planeo instalar en la azotea de mi edificio de 6 pisos. Así que la comunicación de largo alcance de LoRa resulta ideal. El kit ya incluye todos los accesorios necesarios para una instalación rápida.
La estación meteorológica funciona como un dispositivo estándar LoRaWAN, por lo que puedo utilizar una gateway LoRaWAN SenseCAP M2 para interiores en casa. Viene con una antena de 3dBi con base magnética.
Ahora descarga la app SenseCAP Mate y crea una cuenta.
Solo como referencia, este video de Seeed Studio muestra el proceso básico de incorporación:
Conecta la gateway M2 a Internet mediante un cable Ethernet y conecta la antena antes de encenderla. Cuando el LED RGB se mantenga en verde, significa que está lista.
Ahora incorporamos la gateway M2 LoRaWAN:
- Abre la app SenseCAP Mate y ve a la pestaña "Device"
- Pulsa el ícono "+" en la esquina superior derecha para escanear el código QR de la gateway (en la etiqueta del dispositivo)
- Asigna un nombre y ubicación al dispositivo
Del mismo modo, escanea el código QR para incorporar el sensor meteorológico S2120. Al tocar el sensor en la app, podrás ver los datos meteorológicos disponibles:
- Temperatura del aire
- Humedad del aire
- Intensidad lumínica
- Presión barométrica
- Dirección del viento
- Velocidad del viento
- Lluvia por hora
- Índice UV
¡Ahora es momento de ir a la azotea e instalarlo en un mástil!
También tengo otro sensor: S2103 de CO₂, temperatura y humedad y el S2105 de humedad del suelo, temperatura y EC. Ambos comparten las mismas ventajas de la serie S210x y el proceso de incorporación es idéntico. Además, tienen calidad de grado industrial.
Así que también los agregué en la app SenseCAP Mate e instalé uno en mi dormitorio y otro en una maceta.
Ahora, ya tengo todo listo del lado de los sensores SenseCAP.
Agregar la integración MQTT
- ¿Por qué necesito integrar los datos del sensor en Home Assistant?
Puedo aprovechar los flujos de automatización en Home Assistant, y la aplicación SenseCAP actualmente no ofrece esa funcionalidad.
- ¿Cuál es el proceso para llevar los datos de SenseCAP a Home Assistant?
Obtener tu clave API de la cuenta SenseCAP<br/> Leer la documentación de la API de datos abiertos de SenseCAP (MQTT)<br/> Agregar la integración MQTT en Home Assistant<br/> Suscribirse a los datos de SenseCAP vía MQTT usando la clave API<br/>
- Ahora, vamos al portal de SenseCAP, allí puedes encontrar tu:
OrgID
= ID de organización
Password
= Clave de acceso API
Mi información de suscripción MQTT es la siguiente:
Volvamos a la interfaz web de Home Assistant.
Hay muchas integraciones disponibles en Home Assistant:
https://www.home-assistant.io/integrations/
Hoy usaremos la integración MQTT para suscribirse a datos en formato JSON y utilizaremos la integración de sensores MQTT para vincular los valores a entidades específicas.
Ve a Configuración > Dispositivos y servicios
.
Haz clic en el botón Agregar integración y busca MQTT.
Recuerda habilitar las opciones avanzadas. Si olvidas ingresar el Client ID
, la configuración fallará.
Luego puedes probar si la suscripción funciona haciendo clic en el botón CONFIGURAR y escuchando el topic deseado.
Espera un momento, y empezarán a llegar los mensajes del sensor.
¡Hasta este punto, el cliente MQTT está configurado correctamente!
Agregar entidades
Voy a añadir múltiples entidades para almacenar los datos de medición de los sensores. Por ejemplo, crearé una nueva entidad llamada "Temperatura del aire" que tome su valor del mensaje JSON MQTT del S2120. Después añadiré otras entidades del mismo modo.
Todo esto lo haré editando el archivo de configuración de Home Assistant (configuration.yaml
).
configuration.yaml
Ve a las configuraciones y ve a Add-ons, luego:


Instalalo y habilita mostrar en la barra lateral, luego haz clic en start.
Ahora esta es la parte ipmortante, modifica el YAML, con los siguientes scripts
mqtt:
sensor:
- name: "Air Temperature"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4097"
unit_of_measurement: "℃"
value_template: "{{ value_json.value }}"
- name: "Air Humidity"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4098"
unit_of_measurement: "%RH"
value_template: "{{ value_json.value }}"
- name: "Light Intensity"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4099"
unit_of_measurement: "Lux"
value_template: "{{ value_json.value }}"
- name: "Barometric Pressure"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4101"
unit_of_measurement: "Pa"
value_template: "{{ value_json.value }}"
- name: "Wind Direction"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4104"
unit_of_measurement: "°"
value_template: "{{ value_json.value }}"
- name: "Wind Speed"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4105"
unit_of_measurement: "m/s"
value_template: "{{ value_json.value }}"
- name: "Rainfall Hourly"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4113"
unit_of_measurement: "mm/hour"
value_template: "{{ value_json.value }}"
- name: "UV Index"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4190"
unit_of_measurement: "UV"
value_template: "{{ value_json.value }}"
- name: "Soil Temperature"
state_topic: "/device_sensor_data/411841915123/2CF7F1C04160002C/1/+/4102"
unit_of_measurement: "℃"
value_template: "{{ value_json.value }}"
- name: "Soil Moisture"
state_topic: "/device_sensor_data/411841915123/2CF7F1C04160002C/1/+/4103"
unit_of_measurement: "%"
value_template: "{{ value_json.value }}"
- name: "Electrical Conductivity"
state_topic: "/device_sensor_data/411841915123/2CF7F1C04160002C/1/+/4108"
unit_of_measurement: "dS/m"
value_template: "{{ value_json.value }}"
- name: "Bed Room Temperature"
state_topic: "/device_sensor_data/411841915123/2CF7F1C04160002C/1/+/4102"
unit_of_measurement: "℃"
value_template: "{{ value_json.value }}"
- name: "Bed Room Humidity"
state_topic: "/device_sensor_data/411841915123/2CF7F1C04160002C/1/+/4103"
unit_of_measurement: "%RH"
value_template: "{{ value_json.value }}"
- name: "Bed Room CO2"
state_topic: "/device_sensor_data/411841915123/2CF7F1C04160002C/1/+/4108"
unit_of_measurement: "ppm"
value_template: "{{ value_json.value }}"
guarda el archivo y ve a las herramientas de desarrollador para verificar que el archivo YAML sea correcto.
luego, reinicia Home Assistant.
después de reiniciar, asegúrate de que MQTT esté escuchando el tópico de SenseCAP.
luego, ve a Configuración -> Dispositivos y Servicios -> Entidades.
wow~~~ todas las mediciones del sensor están listadas ahí.
Crear un panel de datos del sensor
El último paso es agregar las entidades de sensores a un panel.
ve a la vista general y busca la opción "Editar Panel".
Elige la tarjeta de entidades; esta tarjeta puede incluir múltiples valores de sensores en una sola tarjeta.
Voy a crear tres tarjetas, una para cada sensor.
Finalmente, he realizado una integración básica para mostrar los datos del sensor SenseCAP en Home Assistant.
Luego, dedicaré más tiempo a optimizar la interfaz y hacer que se vea bonita.
Y usaré ESP32 para añadir nuevos sensores a Home Assistant.