Hoje vamos falar um pouco sobre ESPHome . O ESPHome é um sistema para controlar o seu ESP8266 / ESP32 por arquivos de configuração simples, mas poderosos, e controlá-los remotamente através de sistemas de automação residencial.
Recentemente o ESPHome foi adquirido pelo Nabu Casa que é a empresa responsável pelo Home Assistant, então poderemos ver uma integração mais completa entre eles.
Nabu Casa has acquired ESPHome
Aqui vamos falar mais especificamente para uma solução perfeita criando firmwares personalizados para as suas placas ESP8266 / ESP32, e mostraremos como realizar uma configuração básica usando o complemento (add-on) na aba Supervisor.
O ESPHome é uma ferramenta que lê arquivos de configuração YAML (assim como o Home Assistant) e cria firmwares personalizados. A ferramenta também tem muitos ajudantes que simplificam os dispositivos de flash e tem como objetivo tornar o gerenciamento de suas placas ESP o mais simples possível. Depois de adicionar dispositivos ou sensores na configuração do ESPHome, eles serão exibidos automaticamente na interface do usuário do Home Assistant.
No link abaixo, você consegue verificar todos os guias, dispositivos, componentes, sensores compatíveis com o ESPHome, e ainda existem mais, que aos poucos vão se tornar oficiais.
Eu comecei a utilizar não faz nem duas semanas, então estou aprendendo ainda. Créditos ao Nelson que me ajudou muito a entender um pouco.
Como começar?
- Dispositivo ESP
Antes de tudo, você precisar ter um dispositivo ESP para que possa atualizar seu firmware com o ESPHome. E o ESP não é necessariamente uma placa “separada”. Pode ser um interruptor (de várias marcas), um sonoff basic, e inclusive quem tem sonoff com tasmota, pode migrar para o ESPHome.
- Instalar o Add-on
Para iniciar, vá em Configurações, Add-ons, vá em “Loja de Add-ons ” no canto direito abaixo e procure o add-on ESPHome.
Procure o ESPHome.
Após instalado você não precisa realizar nenhuma configuração, e você tem a opção de visualizar o menu ESPHome no menu lateral.
- Primeira configuração
Para esse exemplo, vamos configurar uma placa ESP32. Igual a essa: Placa ESP 32. Com o objetivo de utilizar como um HUB bluetooth para outros dispositivos se conectarem ao ESP através do bluetooth, e com isso integrar no meu HA esses dispositivos bluetooth.
Com o Add-On instalado, vamos acessar o menu ESPHome, e adicionar um novo dispositivo, como na imagem abaixo.
Após clicar no botão, terá 4 passos:
-
Nome: Irá mostrar um texto com uma breve introdução, e um campo para você definir um nome para seu dispositivo. Nesse caso, vamos colocar esp_escritorio.
Observação: Os nomes devem estar em minúsculas e não devem conter espaços (caracteres permitidos: a-z, 0-9 e _) -
Tipo de dispositivo: Você precisa selecionar o tipo do dispositivo. Para esse caso eu selecionei NodeMCU-32s , mas acredito que a opção Generic ESP32 (WROVER Module) deva funcionar da mesma maneira.
-
Wifi: Em seguida você precisa definir a rede da sua wifi, a qual o dispositivo irá se conectar. Coloque o SSID e a senha da rede.
Ainda nessa etapa, possui um campo chamado “Access Password”, essa informação serve para caso você desejar inserir uma senha para realizar as atualizações do seu ESP após configurado. Eu sinceramente não recomendo, pois toda vez que você modificar as configurações do seu ESP, ou atualizar o firmware, sempre terá que digitar essa senha, e fica chato. De qualquer maneira, você pode alterar todas essas configurações posteriormente, mesmo depois de o dispositivo estiver instalado e configurado. -
Submeter: Pronto, seu dispositivo está “configurado”. Basta submeter.
-
Compilar
Após adicionado o dispositivo, o sistema vai solicitar para selecionar uma opção no canto superior direito da tela, para realizar o upload via USB. Para esse artigo, não vamos utilizar essa alternativa, eu nunca fiz dessa maneira, então não tenho como passar mais detalhes.
Compile: O que vamos fazer é compilar o arquivo .bin do dispositivo criado para realizar o flash no seu ESP. Com o dispositivo adicionado, nos 3 “pontinhos”que fica mais a direita. Clique para mostrar as opções disponíveis, e em seguida clique em “ Compile “. Irá iniciar o processo de compilação, e pode demorar um pouco (alguns minutos).
- Download Binary: Após o sistema realizar a compilação do arquivo .bin com a mensagem “ INFO Successfully compiled program “, basta realizar download para um local em seu computador. Esse arquivo irá servir para realizar o flash no seu dispositivo ESP.
Irá gerar um arquivo .bin, e nesse nosso exemplo será esp_escritorio.bin . Se não gerar um arquivo .bin ( Se gerar um arquivo txt por exemplo ), cancele e atualize a página do ESPHome pressionando Ctrl+F5, em seguida execute o processo “4. Compile” novamente.
Flash – Dispositivo ESP
Agora que configuramos o dispositivo no ESPHome, vamos aplicar o flash no dispositivo ESP.
Abaixo já vou deixar o link oficial que explica como realizar esse processo para quem quiser consultar o documento oficial.
esphomeflasher link: GitHub - esphome/esphome-flasher: Simple GUI tool to flash ESPs over USB
Iniciando o processo – esphomeflasher
-
Para iniciar o flash, você precisa conectar seu dispositivo ESP em seu computador através da porta USB. No caso da placa ESP32 a qual estamos utilizando, é alimentada por um microUSB, basta conectar um cabo microUSB → USB em seu computador.
-
Agora é preciso baixar o aplicativo “esphomeflasher”, vamos baixar o arquivo “.exe” que serve para o sistema operacional Windows ( ESPHome-Flasher-windows-x64.exe ), se você estiver utilizando outro SO, baixe arquivo conforme sua necessidade.
Acesse o endereço Releases · esphome/esphome-flasher · GitHub e baixe o arquivo mais atual. -
Após baixar o arquivo, basta clicar duas vezes para abrir ( No windows, pode mostrar um alerta informando que o arquivo não é confiável, ignore e execute o arquivo ).
Irá mostrar a seguinte tela:
-
Na primeira opção “ Serial port “, você seleciona a porta em que seu dispositivo ESP esteá conectado. Se você não tem certeza, desconecte e conecte novamente para identificar a porta correta. No campo “ Firmware “, selecione o arquivo “.bin” que você compilou e baixou para seu computador. Após isso, basta clicar em Flash ESP e aguardar o flash concluir.
-
Após concluído, você deve manter seu ESP ligado em ambiente que você desejar. Você pode desconectar do seu computador e ligar em uma tomada por um carregador de celular por exemplo.
Alterando seu dispositivo ESP no ESPHome
Tudo configurado, mas como eu digo para meu ESP funcionar como um HUB para dispositivos bluetooth?
Agora você deve voltar a tela do seu ESPHome dentro do seu Home Assistant e editar o dispositivo “esp_escritorio”.
Irá abrir um arquivo YAML, nesse caso “esp_escritorio.yaml”. e você deve inserir o seguinte código dentro desse arquivo para que seu ESP comece a scannear os seus dispositivos bluetooth.
esp32_ble_tracker:
scan_interval: 60s
Observe que o tempo de intervalo você pode definir como desejar, colocamos aqui 1 minuto (60 segundos).
O resultado final deve ser algo semelhante a imagem abaixo:
Basta salvar, e depois realizar o Upload. Com isso vai atualizar seu dispositivo através do wifi. Aguarde o upload finalizar com a mensagem de “SUCCESS”.
Após atualizar, você irá perceber que no log do seu dispositivo, o seu ESP já vai mostrar os dispositivos bluetooth’s que ele consegue identificar. Exemplo:
Você pode visualizar o log sempre que quiser, basta acessar o menu ESP Home e clicar em SHOW LOGS no dispositivo que você desejar.
Integrando o seu dispositivo bluetooth com seu ESPHome e Home Assistant
Após scanear seus dispositivos bluetooth, vamos para a última etapa, que nada mais é que integrar seu dispositivo bluetooth com o seu ESP. Para você poder adicionar, é necessario ter o MAC do seus dispositivo, como você viu no último item, você pode obter o mac pelo log do seu ESP. Após ter o MAC em mãos, você deve adicionar o seguinte código:
binary_sensor:
- platform: ble_presence
mac_address: XX:XX:XX:XX:XX
name: "Celular Douglas - Ble"
sensor:
- platform: ble_rssi
mac_address: XX:XX:XX:XX:XX
name: “Sinal BLE - Celular Douglas”
Basta salvar, e em seguida realizar o upload para atualizar seu ESP. Após o upload realizado, se seu HA estiver configurado para descobrir novos dispositivos, seu HA já irá mostrar uma nova notificação informando que encontrou dois novos dispositivos, e já estará disponível para você utilizar dentro do seu HA, com suas automações, notificações, etc.
Você pode visualizar seus novos dispositivos também em “Configurações – Integrações”.
Outros Exemplos – Interruptor Zemismart
Até o momento eu apenas fiz esse configuração e com um dispositivo interruptor da marca Zemismart . E fiz o mesmo processo, porém ao invés de scanear dispositivos bluetooth, eu configurei switch, o status do led, e sensores com sinal do wifi e tempo de utilização, através dos GPIO do dispositivo Zemismart, que nada mais que uma placa ESP também. O Exemplo do interruptor com um botão (gang) ficou da seguinte maneira:
esphome:
name: zemismart_cozinha
platform: ESP8266
board: esp01_1m
wifi:
ssid: "SeuSSID"
password: "SuaSenhaWifi"
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT
inverted: True
name: "Botao"
on_press:
- switch.toggle: load1
switch:
- platform: gpio
name: "Luz Frente"
pin: GPIO12
id: load1
status_led:
pin:
number: GPIO2
inverted: yes
sensor:
- platform: wifi_signal
name: "Cozinha WiFi sinal"
update_interval: 60s
- platform: uptime
name: "Cozinha uptime"
Esse é o interruptor que apliquei o flash ESPHome, abri ele e conectei via USB no meu PC para aplicar o flash
Xiaomi MiFlora BLE Sensor
Eu também comprei o dispositivo Xiaomi MiFlora, porém comprei agora e deve chegar entre 40 e 60 dias. Mas para quem quser configurar para que o dispositivo MiFlora conecte-se com um HUB através de um ESP, basta pegar o MAC do MiFlora e seguir os passos da página abaixo:
https://esphome.io/components/sensor/xiaomi_miflora.html
Esses são apenas alguns exemplos. Existem diversos na página do ESPHome, você pode acessar e verificar as diversas possibilidades que o ESPHome oferece, e que vem aumentando a cada dia.
Como falei no início do artigo, eu estou começando a utilizar agora o ESPHome, esse artigo pode ter diversas melhorias, e todo o crédito vai para o “ nelson_silvafilho “, quem tiver interesse de contribuir, basta falar comigo para adicionar as informações no artigo, ou com o remontti para ter acesso a página de administrador e poder editar e adicionar novos artigos.
Estrutura dentro do seu HA
Você deve perceber, que após tudo configurado, dentro do seu HA foi criada uma pasta esphome. Dentro dessa pasta estão todas as configurações dos seus dispositivos adicionado, a qual pode editar com seu editor de texto, inclusive colocar um arquivo secrets.yaml para suas senhas, etc.
É isso, um abraço!
Vídeo que pode ajudar:
Vídeo ensinando a criar um multisensor com ESPHome:
Video conhecendo ESPHome: