Configurando ESPHOME para acessar dispositivo remoto

Boa noite.

Estava lendo alguns posts em outros fóruns e vi algumas pessoas querendo conectar um dispositivo rodando ESPHOME fora da rede.
Já tinha pesquisado sobre isso e não achei muita informação.

Então tentei liberar as portas no roteador da loja e adicionar o dispositivo e deu certo.

Segue as configurações a serem feitas no roteador onde o dispositivo remoto esta instalado:
1 - Configurar um DDNS no roteador (ex no-ip)
2 - Colocar ip fixo para o dispositivo
3 - Encaminhar as portas 6053 (api), 3232 (ota) e XXXX (portal web) para o ip configurado no item 2.
Mudei a porta do portal web, pois o padrão é porta 80 e ao acessar acaba abrindo as configurações do roteador, como não sei muita coisa sobre rede, mudei a porta para contornar esse problema.

As configurações necessárias no esphome são apenas a wifi: use_address e web_server: port: xxxx, mas recomendo acrescentar todas opções abaixo por questão de segurança.

Configurações do dispositivo:

# Enable Home Assistant API
api:
  encryption:
    key: "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
    
captive_portal:

ota:
  password: "SSSSSSSSSSSS"

wifi:
  use_address: seudominio.ddns.net

web_server:
  port: xxxx
  auth:
    username: usuario
    password: senha
  ota: false

Adicione o dispositivo manualmente usando seudominio.ddns.net em configurações de integração, adicionar integração e digite ESPHOME.

Nessa tela vai ficar sempre como offline, mas as opções visit, logs e install funcionam

Um dos meus dispositivos em casa:

Dispositivo remoto (loja):

1 Like

Parabéns @Walber. Pelo post.
Com certeza vai ajudar muitos aqui no forum (incluindo eu).

O ESPHome é uma solução muito versátil e que possibilita expandir as funcionalidades de muitos equipamentos e uma personalização mais profunda. Parabéns novamente :+1:t2:

Adessotti, de nada, estamos ai pra isso.

O ESPHOME é uma mão na roda, da pra fazer muita coisa com ele.
Fiz esse ai de teste, mas acho que vou colocar ele na central de alarme para integrar no HA rsrsrs

Uso Cloudflare Tunnel pq meu provedor tem CGNAT.
Fiz um teste simples pra externalizar um dispositivo do esphome através do Cloudflare Tunnel e deu certo.
Só precisei acrescentar um novo ingress:

- hostname: banheiro.meudominio.com.br
  service: http://IP_DO_DEVICE

Posso adicionar quantos quiser, basta definir um hostname específico pra cada.
Daí quando acessei banheiro.meudominio.com.br, ele abre essa tela abaixo:

Testei os comandos e deram certo

Vou testar essas configurações.

Mudei tem pouco tempo, onde morava tinha cgnat, aqui e na loja não tem

E o mais legal é que eu não mexi em nada no firmware do dispositivo, quero dizer, não precisei modificar use_address e nem nada.

O cloudflare é uma espécie de vpn, certo?

Cheguei a testar o zerotier quando tinha cgnat, mas acabei usando ipv6 para acesso externo e depois consegui com meu provedor umas portas e passei acessar com ipv4.

Vou testar sua configuração pra ver se funciona aqui.

Por enquanto não tenho nenhuma aplicação prática para esse tipo de acesso, mas estou pensando em colocar um d1 mini na loja para integrar o alarme e talvez um d1 mini com pzem na casa da minha minha mãe para monitorar geração de energia.

Não sei te dizer se é VPN, não entendo muito dessas coisas.

Por enquanto, os únicos usos práticos pra mim no momento são pra externalizar home assistant e alexa.

Nesse caso que falei, é um add-on no HA.

Ou seja, se quiser externalizar locais diferentes, seria necessário um HA em cada local.