Este repositório contém as configurações e automações da minha residência utilizadas no Home Assistant, integrado a um amplo ecossistema de dispositivos ESPHome.
O sistema baseia-se fortemente numa rede local construída em cima de dispositivos ESP8266/ESP32, orquestrados pelo Home Assistant usando a integração nativa da API ESPHome.
Adicionalmente, algumas ferramentas e integrações notáveis são utilizadas:
- Frigate NVR: Sistema de gravação de câmeras inteligente (NVR) com detecção de objetos por IA integrada ao Home Assistant. Gerencia os streams, gravações de eventos de segurança e detecção avançada de pessoas/veículos.
- Google Assistant & Amazon Alexa: Integrados no
configuration.yamlpara permitir que acionamentos da infraestrutura sejam realizados via entrada de voz. - MQTT: Usado para reconhecimento e detecção de faces via ESP32-CAM (ESP WHO).
- Painel de Alarme: Configurado nativamente ("1311") para controle de segurança local aliado às automações.
- Notificações Ricas: Envio para smartphones (
mobile_app_s23) contendo snapshots e ações executáveis diretas dos painéis de notificação (ex. Fechar o portão se o alarme disparar / Visualizar quem tocou a campainha).
As configurações primárias de automação dos equipamentos de hardware estão na pasta /esphome. O ecossistema é vasto e dividido por escopo:
- Luz Sala (
luz-sala.yaml) / RF Bridge: Além de comandar interruptores e relés, atua como bridge de RF (433MHz). Responsável por escutar e catalogar sensores passivos espalhados pela casa (sensores de porta e de movimento), decodificando e enviando para o Home Assistant.
- Portão Garagem (
portao-garagem.yaml): ESPHome conectado ao motor do portão operando atuadores usando relés com "Interlock" para proteção dupla. Possui decodificação RF embarcada, o que possibilita abri-lo e fechá-lo pelo controle de rádio do carro ("RF keys"). Possuiendstopsdefinindoaberto/fechadopara atualização precisa de estado no aplicativo e notificação automática.
Dispositivos feitos para servir tanto na leitura de temperatura / botões físicos quanto para envio de sinais via Infravermelho.
- Quarto da Paula (
ir-quarto-paula.yaml): Emissor infravermelho e leitor para protocolo Coolix. Permite controlar o ar condicionado pelo app simultaneamente ao controle de botões na parede ou interruptores do ventilador. - Quarto do Wagner (
ir-quarto-wagner.yaml): Emissor/receptor infravermelho de precisão focado na manipulação total de ar condicionado da Samsung (Componente Customizado via librarieIRremoteESP8266), incluindo leitura de cliques longos/curtos nos botões para ligar as luzes e ventiladores.
Placas embutidas de Relés e/ou interruptores com regras de automação como ligar luzes ao detectar movimento (apenas a noite) ou paralelo virtual para poder ligar ou desligar um conjunto de luzes de um cômodo através de qualquer interruptor do cômodo.
- Medidor Geral (
medidor-geral.yaml): Monitora o consumo de energia da casa com um pzem-004t. - Medidor Geladeira (
medidor-geladeira.yaml): Monitora o consumo individual deste eletrodoméstico.
A pasta / arquivos do Core do HA trazem comodidades exclusivas:
- Luzes sincronizadas (Paralelo virtual): Banheiros possuem luminárias duplas. A automação liga ambas juntas detectando quem originou o evento para checar loops infinitos de recursão.
- Notificação de campainha: O sistema captura um snapshot da câmera da rua para mostrar quem alguém tocou a campainha, repassando um JPG ao celular junto com notificações sonoras nas alexas da casa
- Ausência prolongada (Apaga Tudo): Notifica algum dispositivo foi equecido ligado quanto não tem ningém em casa e pergunta se deseja desligar.
- Notificação de estacionamento inteligente: O sistema rastreia os atributos de geofence (
device_trackerdo S23). Ao definir o status final confirmando que acabou de "estacionar" (através da desconexão do blutooth do carro), envia as coordenadas do local onde o carro foi estacionado. - Notificação de eventos do portão: O sistema notifica enviando imagem de qualquer evento do portão.
Por proteção à infraestrutura, todos os dados críticos e credenciais não se encontram dentro desse repositório de forma limpa. Eles foram extraídos valendo-se da tag de Macro !secret:
- Senhas Wi-Fi, OTA e Tokens das APIs ESPHome estão em
esphome/secrets.yaml. - Credenciais RTSP, Contas do Google Project ID e Senhas de Alarme localizam-se num arquivo local privado
secrets.yamlraiz para que a infraestrutura se enxergue como código sem vazar dados.
Este repositório emprega fluxos automatizados através do arquivo localizado em .github/workflows/ha.yml. A cada commit, pull request e cron schedule as seguintes metodologias são acionadas na nuvem para assegurar que o código esteja seguro e perfeitamente operacional antes de rodar localmente no servidor em produção:
- Verificação Diária Preventiva (
cron: 0 12 * * *): Executado pontualmente todo dia ao meio-dia como um alarme preditivo. Sua finalidade mestre é testar constantemente o código estático atual e disparar avisos prévios se alguma integração ou automação quebrar nas versões novas (stable, beta e dev) recém-lançadas do Home Assistant. - Home Assistant Configuration Check: Monta uma infraestrutura virtual sem interface gráfica (valida o código paralelamente como stable, beta e dev) para aferir a integridade estrutural de todas as
automations.yamleconfiguration.yaml. - yamllint & remarklint: Verificam rigorosamente a formatação e formam barreiras contra lixo remanescente na indentação ou quebra de padrões estruturais dos arquivos
.yamle.md. - ESPHome Compiler Check: Carrega a dependência pip nativa do ESPHome com Python 3.12 isolado e repassa todos os aparelhos
.yamlpresentes, compilando integralmente e antevendo vazamento de memória ram ou bibliotecas faltantes entre atualizações de versão. - Mocks de Segurança (.stubs): Os testes em nuvem pública sobrevivem utilizando mock files presentes na pasta de dotação
.stubs/injetados paralelamente para realizar as validações do motor sem requerer os tokens, wi-fi e senhas do ambiente real.