Dance com Home Assistant e sensores SenseCAP
Compartilhe uma forma de integrar sensores LoRaWAN® ao Home Assistant.
Já existem dispositivos inteligentes suficientes (sensores, luzes, interruptores) no playground de casa inteligente, e você provavelmente já tem vários aplicativos da Apple Homekit, Google Home e Amazon Alexa para atender a diferentes dispositivos. É altamente necessário conectar todos eles em um só lugar. Li recentemente, em setembro de 2022, a notícia de que o matter 1.0 foi lançado com o objetivo de unificar o ecossistema; porém, isso definitivamente levará tempo.
Na verdade, antes mesmo do lançamento do Matter anos atrás, o Home Assistant já era uma das melhores plataformas para construir um ecossistema de casa inteligente totalmente personalizado, integrando dispositivos de principais marcas e configurando regras de automação para tornar sua casa um lugar melhor e mais inteligente. Isso é certamente algo que quero aprender e compartilhar a experiência.

Nesta série de artigos, vou compartilhar como construo uma casa inteligente decente no Home Assistant e uso sensores dos produtos SenseCAP da Seeed Studio. E este é o primeiro marco.
Executar um Home Assistant do zero e integrar sensores meteorológicos SenseCAP.
Aqui estão os passos para chegar lá:
- Instalar o Home Assistant em um Raspberry Pi
- Colocar o sensor SenseCAP em funcionamento com o App
- Adicionar a integração MQTT e assinar os dados SenseCAP
- Adicionar entidades com diferentes valores de medição de sensores.
- Criar um dashboard de dados de sensores
Instalar o Home Assistant em um Raspberry Pi
Para começar com o Home Assistant, o tutorial oficial é muito útil.
Existem muitos dispositivos e plataformas para executar o Home Assistant. Por acaso tenho um Raspberry Pi sem uso, então vou começar a partir de aqui.
Em vez de usar o Balena Etcher para gravar o cartão SD, prefiro usar o Raspberry Pi Imager oficial; ele é leve e simples de usar.

Consiga um cartão Micro SD maior que 32 GB e conecte-o ao seu computador; aqui eu uso um MacBook como exemplo.

Navegue até “Other specific-purpose OS” e selecione Home Assistant and Home Automation.

Selecione Home Assistant

Selecione a versão do Home Assistant OS para RPi4

Em seguida, selecione a unidade do cartão SD; tenha cuidado e NÃO escolha o disco errado, pois isso pode formatar sua unidade e fazer você perder todos os dados valiosos.
Pode levar algum tempo para baixar a imagem do Home Assistant, dependendo da velocidade da sua internet.
Em seguida, insira o cartão micro SD no Raspberry Pi e conecte um cabo Ethernet a ele. Ligue o dispositivo; o LED vermelho deve permanecer vermelho e o LED verde começará a piscar. Se o LED verde não piscar, isso indica que algo deu errado durante a gravação da imagem.

vá para http://homeassistant.local:8123/ e espere a instalação terminar.

Seguindo este link para registrar sua conta do Home Assistant e fazer login.
Bingo! Finalmente, você tem o seu Home Assistant instalado.

Registrar o sensor SenseCAP com o App
SenseCAP é uma série de dispositivos sensores industriais e produtos gateway, entre os quais os sensores LoRaWAN S210x são construídos principalmente para cenários de longo alcance e alimentados por bateria.
Quero usar a recém-lançada S2120 Weather Station e instalá-la no topo do meu telhado, que tem 6 andares de altura, então o recurso de comunicação de longa distância do LoRa fez muito bem o trabalho. Ela já vem com todos os acessórios para uma instalação rápida.

A estação meteorológica funciona como um dispositivo LoRaWAN padrão, então posso usar um gateway LoRaWAN interno SenseCAP M2 em casa; ele tem uma antena de 3 dBi com base magnética.

Em seguida, baixe o aplicativo SenseCAP Mate e registre uma conta.
![]()
apenas para sua referência, este vídeo é da Seeed Studio e demonstra o processo básico de onboarding.
Conecte o gateway LoRaWAN M2 à internet com um cabo Ethernet e conecte a antena antes de ligá-lo. Quando você vir o LED RGB do painel ficar verde, isso significa que o gateway está configurado corretamente.

Agora vou registrar o gateway LoRaWAN M2
- Abra o Mate App e vá até a aba "device"
- Clique no ícone "+" no canto superior direito para escanear o código QR do gateway, que está na etiqueta do dispositivo.
- Dê um nome ao seu dispositivo e defina a localização.

da mesma forma, escaneie o código QR para registrar o sensor meteorológico S2120. Toque no sensor S2120; agora posso ver os dados meteorológicos.
- Temperatura do ar
- Umidade do ar
- Intensidade de luz
- Pressão barométrica
- Direção do vento
- Velocidade do vento
- Chuva por hora
- Índice UV

e agora é hora de subir ao meu telhado e instalá-lo em um mastro.

Eu também tenho outro Sensor de CO2, temperatura e umidade S2103 e o Sensor de umidade do solo, temperatura e EC S2105; eles compartilham os mesmos benefícios da série S210x e o processo de onboarding é o mesmo. E eles são de alta qualidade, com padrões industriais.

então também os adiciono ao SenseCAP Mate App e os instalo no meu quarto e no vaso de flores.

Agora, tenho tudo configurado do lado dos sensores SenseCAP.
Adicionar integração MQTT
- Por que preciso que os dados do sensor sejam integrados ao Home Assistant?
I can take advantage of the automation flow in Home Asssitant, and the SenseCAP App currently do not have that feature.
- Qual é o processo para levar os dados do SenseCAP para o Home Assistant?
Get your SenseCAP account API key<br/> Read the SenseCAP open stream API document(MQTT)<br/> Add MQTT integration in Home Assistant<br/> Subscribe SenseCAP data via MQTT and using the API key<br/>
- Agora, vamos para o SenseCAP Portal, aqui você pode encontrar seu
OrgID = ID da organização
Password = Chaves de acesso da API

Minhas informações de inscrição MQTT são:

Volte para a interface web do Home Assistant.
há muitas integrações no Home Assitant
https://www.home-assistant.io/integrations/

Hoje eu vou usar a integração MQTT para assinar dados em formato JSON e usar a integração de sensor MQTT para vincular o valor do sensor a uma entidade específica.
Vá para Settings e entre em Devices & Services

Clique no botão add integration e pesquise MQTT

Lembre-se de ativar a configuração avançada, se você esquecer de inserir o Client ID, a configuração falhará.

então, você pode testar se a inscrição funciona clicando no botão CONFIGURE e escutando o tópico


espere um pouco, haverá mensagem de sensor.

Até agora, o cliente MQTT foi configurado com sucesso.
Adicionar entidades
Vou adicionar várias entidades para armazenar dados de medição do sensor, por exemplo, criar uma nova entidade "Air temperature" e pegar o valor da medição da mensagem JSON MQTT do S2120. E adicionar as outras entidades de sensores da mesma forma.
Vou finalizar isso editando o arquivo de configuração do Home Assistant
configuration.yaml
vá para Settings e vá para Add-ons, então
instale-o e habilite show in the sidebar e clique em start.

agora esta é a parte importante para modificar o arquivo YAML com os scripts abaixo
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 }}"

salve e vá para developer tools para verificar se o arquivo YAML está correto.
então, reinicie o Home Assistant

após reiniciar, certifique-se de que o MQTT está escutando o tópico SenseCAP

depois, vá para Settings -> Devices and Services -> Entities
uau~~~ todas as medições dos sensores estão listadas lá.

Criar um dashboard de dados de sensores
A última etapa é adicionar entidades de sensores a um dashboard.
vá para overview e encontre "Edit Dashboard"

Escolha o cartão entities, este cartão pode incluir vários valores de sensores em um cartão.
Vou criar três cartões para cada sensor

Por fim, fiz a integração bem básica e mostrei os dados dos sensores SenseCAP no Home Assitant.

Em seguida, vou gastar mais tempo otimizando a UI e deixando-a bonita.
e usando ESP32 para adicionar novos sensores ao Home Assistant.