Como enviar ações entre nodes (Esphome)

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 o http_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
4 Likes

Já andava à procura disto há algum tempo!

Obrigado pelo tutorial!! :smile: :smile:

1 Like

Muito bom e útil! Aparentemente funciona um pouco como as rules do Tasmota, certo?

1 Like

Sim, exatamente. Mas penso que só funcione com mqtt no tasmota, de qualquer das formas o fundamento acaba por ser o mesmo, mudando apenas o protocolo

No Tasmota podes usar MQTT ou Websend que envia comandos por http (e que é a base do TasmoAdmin por exemplo).

Porreiro, ainda melhor,
assim garante-se a ligação mesmo entre firmwares diferentes


Copyright © 2017-2020. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade