Automation

Antes que você possa criar suas próprias automações, é importante aprender o básico. Para explorar isso, vamos dar uma olhada no seguinte exemplo de regra de automação residencial:

(trigger) Quando Paulo chega em casa
(condition) E o sol já se pôs:
(action) Acenda as luzes da sala de estar

O exemplo consiste em três partes diferentes: um gatilho (trigger), uma condição (condition) e uma ação (action).

A primeira linha é o gatilho (trigger) da regra de automação. Acionadores descrevem eventos que devem acionar a regra de automação. Nesse caso, é uma pessoa que chega em casa, o que pode ser observado no Home Assistant, observando o estado de Paulo passando de 'not_home' para 'home' (de ausente para casa).

A segunda linha é a condição (condition). Condições são testes opcionais que podem limitar uma regra de automação para funcionar apenas em seus casos de uso específicos. Uma condição será testada em relação ao estado atual do sistema. Isso inclui a hora atual, dispositivos, pessoas e outras coisas, como o sol. Nesse caso acima, queremos apenas agir só quando o sol se por.

A terceira parte é a ação (action), que será executada quando uma regra for acionada e todas as condições forem atendidas. Por exemplo, ele pode acender a luz, definir a temperatura no termostato ou ativar uma cena.

Ações - Actions

As ações (actions) têm tudo a ver com chamar serviços. Os serviços permitem mudar qualquer coisa. Por exemplo, acenda uma luz, execute um script ou ative uma cena. Cada serviço tem um domínio e um nome. Por exemplo, o serviço light.turn_on é capaz de acender qualquer luz no seu sistema. Os serviços podem receber parâmetros para, por exemplo, dizer qual dispositivo ligar ou que cor usar.

Estado inicial de uma automação

Quando você cria uma nova automação, ela será ativada, a menos que você adicione explicitamente initial_state: false ou a desative manualmente por meio da interface do usuário. Caso as automações precisem estar sempre ativadas ou desativadas quando o Home Assistent for iniciado, você poderá definir o estado_inicial (initial_state:) nas automações, com os valores true ou false. Caso contrário, o estado anterior será restaurado.

Observe que, por algum motivo, o Home Assistant não puder restaurar o estado anterior, isso resultará na ativação da automação.

            automation:
- alias: Nome da Automação
initial_state: false
trigger:
...
          

Exemplo de automação

                # Exemplo de entrada no arquivo configuration.yaml
automation:
- alias: Regra 1 - Luz acende à noite
initial_state: true
# Na trigger, está configurado para ACIONAR em 2 momentos.
# 1) Quando o sol se por e quando todas. 2) Quando todas pessoas estiverem em casa.
# Observe que são 2 gatilhos em uma mesma automação
trigger:
  - platform: sun
    event: sunset
    offset: '-01:00:00'
  - platform: state
    entity_id: group.all_devices
    to: 'home'		
# O "condition" é uma opção, você pode ou não colocar.
# Nesse exemplo, colocamos para que a automação só seja executado se tiver todas as pessoas em casa E se estiver dentro do horário 16h e 23h
condition:
  - condition: state
    entity_id: group.all_devices
    state: 'home'
  - condition: time
    after: '16:00:00'
    before: '23:00:00'
# Toda automação precisa ter pelo menos uma ação. E como comentamos nesse artigo, as ações são realizadas através de "services".
# Nesse exemplo, colocamos a ação com 1 serviço apenas, que foi acender a luz da sala.
action:
  - service: light.turn_on
    entity_id: light.sala
              

Quer ver mais exemplode automação? Acesse nosso fórum na categoria automações.
Acesse nosso fórum.

Você também pode acessar o site oficial do Home Assistant com alguns exemplos de automação.
https://www.home-assistant.io/docs/automation/examples/