Portão com sensor de fim de curso duplicando status

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.

1 Like