Automação Simples - Verificar Portas e Janelas Abertas

Tenho visto alguns exemplos desse tipo de automação, mas todos utilizam NodeRED

Eu queria algo simples, verificar no proprio HA, 3 sensores, por condição de qualquer um se estiver aberto depois das 22h avisar no proprio celular, que as janelas precisam ser fechadas antes de dormir?

Alguem pode me auxiliar com isso ?, me passando alguns exemplos.

1 curtida

Ao menos já tem a automação encaminhada pra gente ajudar só na parte que interessa ?

Pra saber a quantidade de janelas abertas usando template, pode fazer assim:

condition: template
value_template: '{{ 0 < expand(["entidade_janela1", "entidade_janela2", "entidade_janela3"]) | selectattr("state", "eq", "on") | list | count }}'

Sugestão é utilizar o editor de automações.
Assim você consegue construir as automações básicas pela tela, sem mexer em arquivo.
Lá você consegue descrever certinho quais os gatilhos, as condições e as ações.

Não tenho nada, tentei ir no template de automação pelo editor visual, mas não entendi nada lá… rsrs

e pra ser franco @w35l3y eu fiquei na mesma com seu script

Detalhamento da minha necessidade, o que eu eu fiz, foi até onde cheguei, estou estudando e lendo algumas coisas, mas até agora não entendi muito bem isso.

Gatilho, quero agendado, execute em alguma hora

Dispostivos que fazem as condições, como coloco mais de um, com a condição OR

Uma ação, gostaria que ele enviasse uma mensagem no celular

Estou aprendendo tb, mas vou tentar ajudar. Acredito que seja isso que precise.
Copie esse código abaixo, vá nas Automações e clique pra fazer uma nova.
No canto superior direito tem 3 bolinhas. Clique nelas e selecione “Editar como YAML”.
Apague tudo o q estiver ali e cole o código que mandei. Depois clique nas 3 bolinhas de novo e selecione “Editar no editor visual”.
Aí é só trocar o nome das entidades pelas suas e escolher na Ação pra onde quer mandar a msg.
Só uma última coisa: se escolher “Send a persistent notiication” a msg vai pro seu Home Assistant na parte de Notificações, não pro seu celular.
Espero ter ajudado.

alias: Sensor qualquer aberto
description: ‘’
trigger:

  • platform: time
    at: ‘22:00:00’
    condition:
  • condition: or
    conditions:
    • condition: state
      entity_id: binary_sensor.sensor_1
      state: ‘on’
    • condition: state
      entity_id: binary_sensor.sensor_2
      state: ‘on’
    • condition: state
      entity_id: binary_sensor.sensor_3
      state: ‘on’
      action:
  • service: notify.MARCAR CELULAR
    data:
    message: Alguma janela está aberta.
    mode: single

Olhaí… quase pronto.

Os gatilhos são sempre OU.
Você pode acrescentar quantos forem necessários e ele pega qualquer um.

Já as condições, o padrão é E.
Se precisa de OU, então tem que acrescentar a condição OU e depois incluir as demais condições dentro dela, igual foi feito pelo @ander77.

Também vale a observação dele sobre notificações persistentes.

1 curtida

Parabéns pela paciência com nós iniciantes! :smiley:

Quase foi !!!
Agora eu tive o aprendizado de onde edita tudo em código, pq eu estava lendo documentações, mas não conseguia juntar no mesmo código as condições, era lá em cima…

Agradeço aí o tempo @ander77

mas ainda falta um detalhe, não consigo salvar seu script conforme descrito, apresenta a seguinte mensagem

image

Só a identação da palavra “action:” é que não parece estar certa.

Seleciona o trecho do código e coloca formatação pra ver se dá certo.

assim não deu

tentei várias formas

troquei as aspas… e tb nada

mais uma tentativa e nada, tirei o marcar celular, comandos que poderiam causar erro, só pra fazer voltar pro editor visual, mas… mesmo erro

Meu codigo

alias: Sensor qualquer aberto
description: 'Sensor qualquer aberto'
trigger:
  platform: time
  at: '22:00:00'
  condition: or
condition:
  - type: is_open
    condition: device
    device_id: fbf41ce12bd83a6e5927533f4b42d684
    entity_id: binary_sensor.janela_cozinha
    domain: binary_sensor
  - type: is_open
    condition: device
    device_id: 001da6aecd47cd1ed166ba1cf0efaeff
    entity_id: binary_sensor.janela_escritorio
    domain: binary_sensor
actions:
    - service: notify.persistent_notification
      data:
        message: Alguma janela esta aberta
mode: single

Testa assim. Só lembra q a notificação fica no próprio HA. Não vai pro celular pela ação q vc está colocando…

Do jeito q está colocando, as notificações aparecerão aqui:

otifica

Sim eu entendi, é que se eu resolver o outro problema, isso é a menor das questões.

AGORA FOI !!!

top top top top

muito obrigado pela paciencia @ander77

agora vamos aprender a enviar essa notificação pro celular, kkkkk

Blz… q bom q deu certo.

Vc tem o HA instalado no celular? Ou seu Telegram está configurado no HA??

Telegram nao esta config no HA, nem sabia que dava pra fazer isso.

mas sim tenho o HA no celular

Qdo chegar em ações vê se aparece “Notificações: Send a notification via mobile_app_NOME DO SEU CELULAR”… Assim vai mandar pro celular via HA…