Boas a todos,
Para os que utilizam esphome isto pode ser interessante quanto têm um switch e uma lâmpada, ambos com esphome mas em ESP’s diferentes.
Vantagem disto? Como eles comunicam entre si, mesmo que o HA esteja indisponível, com um restart à máquina ou porque está com erros, a lâmpada não deixa de acender/apagar
Este tutorial vai ser sempre baseado num exemplo real: Switch + lâmpada com ESP’s diferentes
Basicamente isto funciona com o Esp do switch vai fazer um pedido via HTTP POST para o Esp da lâmpada que tem o web server ativo
NOTA MUITO IMPORTANTE:
Neste momento, 18/04/2020 ohttp_request
presente no código do switch, só está disponivel na versão dev. Por isso têm de compilar o esp do switch no addon dev.
Ver mais aqui: https://next.esphome.io/components/http_request.html
Código para o switch:
esphome:
name: switch
# isto é conforme o vosso dispositivo
platform: ESP8266
board: esp01_1m
wifi:
ssid: ssid
password: password
logger:
api:
ota:
# isto é importante, faz parte do pedido
http_request:
useragent: esphome/device
binary_sensor:
- platform: gpio
id: switch
pin:
number: GPIO12 #vosso gpio
mode: INPUT_PULLUP
inverted: True
# isto é importante, faz parte do pedido
on_state:
- http_request.post:
url: http://<ip_do_esp_da_lampada>/light/lampada/toggle
Código para a lâmpada:
esphome:
name: lampada
# isto é conforme o vosso dispositivo
platform: ESP8266
board: esp01_1m
wifi:
ssid: ssid
password: password
logger:
api:
ota:
# isto é importante, aqui é criado o interface web, que recebe o pedido
web_server:
port: 80
# esta configuração da lampada é apenas um exemplo para uma fita led. Adaptem o código.
# Relembro que isto é apenas um exemplo
light:
- platform: monochromatic
name: "lampada"
id: lampada
output: pwm_output
output:
- platform: esp8266_pwm
pin: GPIO14
id: pwm_output