Quando comprei um Sonoff para garagem, tinha em mente um dispositivo que me informasse quando ele fosse acionado. Comprei um modelo que tem o fim de curso (FC).
O problema é que ele fazia muita bagunça com o estado do dispositivo, veja o cenário:
- Portão fechado: Switch OFF
- Abro o portão até o final: Switch ON
- Fechar o portão: Switch OFF (pelo acionamento) + Switch ON (por causa do sensor de FC ainda estar aberto)
- Fecha o portão: Switch ON
O problema nisso é que ele deu um status OFF ao fechar o portão que estraga minha notificação.
Então eu fiz um binary_sensor que me informa se o portão está on e off. O pulo do gato está no “delay_off”.
binary_sensor:
- platform: template
sensors:
portao_aberto:
friendly_name: "Portão Aberto"
delay_off:
seconds: 5
value_template: >-
{{(states.switch.portao.state == 'on')}}
Dessa forma, ele ignora todo status OFF que dure menos que 5 segundos.
A automação ficou assim:
- id: 1234567890
alias: Notifica portão aberto
description: Informa se o portão foi acionado
trigger:
- entity_id: binary_sensor.portao_aberto
from: 'off'
platform: state
to: 'on'
condition: []
action:
- data:
data:
push:
badge: 1
message: O portão foi aberto
service: notify.doug
Agora o portão abre e fecha enviando apenas uma notificação, como eu queria.