O que é uma automação e como funciona?


(Rodolfo) #1

Alias (Obrigatório)
O Alias é o título da tua automaçaõ, terás que o dar sempre. Pode ser números ou letras.

Trigger (Obrigátorio)

Quando falamos em trigger nada mais é perguntarmos a nós próprios ou afirmarmos o que queremos fazer…
Fala para ti próprio para que consigas entender como isto funciona.

O que quero fazer?

Quero fazer com que…
Quero que…
Quando for…
Quando está
Quando for

Condition (Opcional)

Em que circustância?

Entre…
Se…
E…
ou…
Às…

Action (Obrigátorio)

Executar
Fazer acontecer

Agora que já estás a entender mais ou menos a lógica de como uma automação funciona…
Vamos converter o seguinte pensamento em uma automação

Exemplo: Quero que um switch ligue quando for 18 horas.

Ora então segundo o nosso pensamento vamos usar um Trigger e uma action correcto?

Então seria:

  - alias: switch as 18
    trigger:
      platform: time
      at: '18:00'
    action:
      service: switch.turn_on
      entity_id: switch.exemplo

Agora visto que já usamos um trigger e um action vamos por no meio uma condition.

Exemplo: Quero que um switch ligue à segunda feira quando for 18 horas.

Então seria:

  - alias: switch as 18 segunda feira
    trigger:
      platform: time
      at: '18:00'
    condition:
      condition: time
      weekday:
        - mon
    action:
      service: switch.turn_on
      entity_id: switch.exemplo

Agora que penso já teres entendido, estarás a vontade para começar a criares as tuas próprias automações.
Lembra te embora te ensinemos em Português o sistema do Home Assistant está em Inglês.

Podes ver vários exemplos de como usares os :

Triggers aqui: https://www.home-assistant.io/docs/automation/trigger/
Conditions aqui: https://www.home-assistant.io/docs/scripts/conditions/
actions: https://www.home-assistant.io/docs/automation/action/

Alguma dúvida não existes em perguntar… mas tenta primeiro.


(Rodolfo) #2

(Rodolfo) #3

(Jorge Assunção) #4

(Jorge Assunção) #5

(Sebastião Lopes) #6

Olá Rodolfo.
Antes de mais, queria agradecer aos Co-Fundadores a disponibilidade e paciência.
Agora estou a começar com as automações.
Qualquer coisa que eu faça numa primeira vez dá-me problemas. Felizmente que, com a vossa ajuda, a maior parte desses problemas vão-se resolvendo.
Num código disponibilizado aqui, dá-me o seguinte erro na validação: Error loading /config/configuration.yaml: mapping values are not allowed here
in “/config/automations.yaml”, line 2, column 12

O código e:

- alias: Liga aquario
    trigger:
      platform: time
      at: '08:30:00'
    action:
      service: switch.turn_on
      data:
        entity_id: - switch.aquario


- alias: Desliga aquario
    trigger:
      platform: time
      at: '23:30:00'
    action:
      service: switch.turn_off
      data:
        entity_id: - switch.aquario

Obrigado


(Rodolfo) #7

@sslopes está quase tudo bem mas falta um detalhes, o “trigger” tem que estar por baixo do “alias” e consequentemente tudo o que vem a seguir tem que andar um “espaço” para trás , então teria que ficar do seguinte modo:

- alias: Liga aquario
  trigger:
    platform: time
    at: '08:30:00'
  action:
    service: switch.turn_on
    data:
      entity_id: switch.aquario


- alias: Desliga aquario
  trigger:
    platform: time
    at: '23:30:00'
  action:
    service: switch.turn_off
    data:
      entity_id: switch.aquario 

Quanto às automações podes ver algumas contas github de alguns utilizadores do fórum para tirares algumas ideias.


(Sebastião Lopes) #8

Obrigado Rodolfo.
São pormenores que me escapam e que travam tudo. Resta-me agradecer, ir pesquisando e continuar a chatear uma vez por outra. A verdade é que as coisas aos poucos vão surgindo.


(Sebastião Lopes) #9

Bom dia

Sem mais nem menos, todas as automações que eu tinha a funcionar bem deixaram de funcionar.

As automações que estavam a funcionar bem são:

  • ligar e desligar a luz do aquário a horas certas.
  • automação disponibilizada pelo Rodolfo que envia uma notificação para o telegram e pergunta se
    queria ligar uma luz.
  • automação que envia uma notificação para o telegram se a luz do gabinete ligar.
  • automação que liga e desliga uma luz ao fim de um determinado tempo no caso de ser detectado movimento (sensor pir).

No telegram, a última notificação que tenho é de ontem à noite e as alterações que nessa altura estava a fazer era criar grupos no groups.yaml para dar alguma arrumação no HS.

Que me lembre não mexi no automations.yaml.

Que será?

Só depois disto é que me lembrei da necessidade de fazer cópias de segurança.


(Jorge Assunção) #10

Há erros no log? As automações estão activadas?


(Sebastião Lopes) #11

Olá Jorge
Quando refere se as automações estão activadas refere-se a “automation: !include automations.yaml " no configuration.yaml” ? Se assim é, estão.

No log aparecem alguns erros:

Timer got out of sync. Resetting

15:03 core.py (ERROR)

Timer got out of sync. Resetting

15:03 core.py (ERROR)

Setup of config is taking over 10 seconds.

15:02 bootstrap.py (WARNING)

Monitored condition temperature_min is deprecated.

15:02 components/sensor/darksky.py (WARNING)

Monitored condition temperature_max is deprecated.

15:02 components/sensor/darksky.py (WARNING)

Cumprimentos


(Jorge Assunção) #12

Não é isso @sslopes. Verifica se as tuas automações têm a opção initial_state: true configurada. Isso assegura que quando reinicias o HA as automações ficam activas (estarem activas e estarem a correr não é a mesma coisa).


(Sebastião Lopes) #13

Jorge.

Desculpa a minha ignorância. Não existia em nenhuma automação a opção initial_state: true
Acrescentei e passaram novamente a funcionar.
Já agora, os erros do log são importantes?

Obrigado


(Jorge Assunção) #14

Poderão ser importantes. Usa o hastebin.com para colar o log, grava e depois põe aqui o link para ver se é alguma coisas importante.


(Sebastião Lopes) #15

Primeiro fui ver como funcionava o hastbin.com :smile:. Ainda não o tinha utilizado.
Aqui vai.
hastebin


(Jorge Assunção) #16

Os primeiros erros devem ter a ver com um template que estás a usar.

Os últimos dois são devidos ao componente DarkSky ter alterado o nome das entradas temperature_min e temperature_max terem sido alterados.


(Sebastião Lopes) #17

Obrigado Jorge. Vou ver e depois digo alguma coisa.