Automação conforme o estado do sensor de movimento

1 - Nesse primeiro exemplo acende a luz sempre que tem movimento, e apaga após 10min. sem movimento.

#acender
automation:
- alias: Acender a luz da cozinha quando houver movimento
  trigger:
    platform: state
    entity_id: sensor.motion_sensor
    to: 'on'
  action:
    service: homeassistant.turn_on
    entity_id: light.luz_cozinha

#apagar
- alias: Apagar a luz da cozinha 10 minutos após o último movimento
  trigger:
    platform: state
    entity_id: sensor.motion_sensor
    to: 'off'
    for:
      minutes: 10
  action:
    service: homeassistant.turn_off
    entity_id: light.luz_cozinha

2 - Posso criar com vários gatilhos como por exemplo: Se o sensor de movimento for ativado, ou se o sensor de porta for ativado (porta aberta) ou até mesmo se a campainha for acionada.

Além disso, só irá ligar na condição de for entre 17h e 00h.

automation:
- alias: Acender as luzes da cozinha quando a campainha tocar, ou quando a porta da frente abrir ou se houver movimento
  trigger:
  - platform: state
    entity_id: sensor.motion_sensor, binary_sensor.front_door, binary_sensor.doorbell
    to: 'on'
  condition:
    condition: time
    after: '17:00'
    before: '00:00'
  action:
    - service: light.turn_on
      data:
        entity_id:
          - light.luz_cozinha
          - light.led_teto_cozinha

3 - Também posso criar que ligue a luz somente quando eu ou minha esposa estiverem em casa, criando a condição OR e mantendo a condição entre 17h e 00h.

automation:
- alias: Acender a luz da cozinha quando houver movimento e alguém estiver em casa e for entre 17 e 00h
  trigger:
    platform: state
    entity_id: sensor.motion_sensor
    to: 'on'
  condition:
    condition: and
    conditions:
      - condition: time
        after: '17:00'
        before: '00:00'
      - condition: or
        conditions:
          - condition: state
            entity_id: 'device_tracker.douglas'
            state: 'home'
          - condition: state
            entity_id: 'device_tracker.luana'
            state: 'home'
  action:
    service: homeassistant.turn_on
    entity_id: light.luz_cozinha

4 - E quando ninguém estiver em casa? Enviar uma notificação quando detectar movimento.

#notificar
automation:
- alias: Movimento suspeito
  trigger:
    platform: state
    entity_id: sensor.motion_sensor
    to: 'on'
  condition:
    - condition: state
      entity_id: 'device_tracker.douglas'
      state: 'not_home'
    - condition: numeric_state
      entity_id: 'device_tracker.luana'
      state: 'not_home'
  action:
    service: notify.telegramgrupo
    data_template:
          message:
                   "Foi detectado movimento às {{ now ().hour }} horas e {{ now ().minute }} minutos."  
4 Likes

Douglas como faria para adicionar um som (tts já configurado) após as ações de ligar luz?

Elton, você precisa colocar o arquivo de áudio (exemplo .mp3) no seu HA.

Além disso sua configuração do Home Assistant deve estar acessível externamente com um nome de host e de preferência um certificado SSL, exemplo o DuckDNS.

Exemplo de automação com arquivo de áudio:
Nesse exemplo coloquei dentro da pasta /config/www/mp3.

automation:
  - alias: Tocar campainha
    initial_state: true
    trigger:
      - platform: state
        entity_id: binary_sensor.campainha
        to: 'on'  
    action:
      - service: media_player.play_media
        data:
          entity_id: media_player.musics
          media_content_id: https://meudominio.duckdns.org:8123/local/mp3/campainha.mp3
          media_content_type: 'music'
      - delay:
          seconds: 45
      - service: tts.google_translate_say
        data_template:
          entity_id: media_player.musics
          message: 'Alguém tocou a campainha.'
1 Like

Talvez eu não tenha sido claro Douglas… A sua automação já liga a luz… É possível adicionar mais uma ação (tts) a essa automação que vc criou? Eu uso nabucasa… Não quero usar mp3… Só quero a saber se é possível adicionar a ação de falar algo dentro da automação que vc já criou? Muito obrigado pela atenção

Elton, sim. Se você perceber como funciona uma automação, nesse exemplo que dei, apesar de não ser o que você deseja (som mp3), tem mais de uma ação.

Uma ação para executar o som, outra para um delay, e uma terceira ação para executar o TTS (Text-to-Speech). E poderia continuar até onde eu desejar.

A estrutura das automações são as mesmas, você pode ter mais de um gatilho, mais de uma condição e mais de uma ação.

automation:
  - alias: Acender a luz da cozinha quando houver movimento
    trigger:
      platform: state
      entity_id: sensor.motion_sensor
      to: 'on'
    action:
      - service: light.turn_on
        entity_id: light.luz_cozinha
      - service: tts.google_translate_say
        data_template:
          entity_id: media_player.google_home
          message: 'A luz da cozinha foi acesa'

No exemplo acima poderia ainda enviar um telegram informando que a luz foi acesa, ou e-mail, etc.

Na categoria Automações tem outros exemplos com mais de uma ação.

No último vídeo que postei falei exclusivamente sobre Automações - Vídeo, ajuda um pouco a entender e aplicar configurações.

1 Like

Sensacional… Agora entendi a estrutura… Obrigado Douglas.

1 Like

Boa tarde! Douglas, se eu quisesse fazer a configuracao onde meu celular estiver em casa e for entre 17h ele liga as lampadas e as 22h apaga, como ficaria? pq eu fiz varios testes e nao consegui

Obrigado!

Olá Gustavo. Eu não entendi algumas coisas. Quando vai acionar o gatilho? Toda vez que você chegar em casa (no caso seu celular)? E vai ligar mais de uma luz?

Se for isso o exemplo 3 já deve atender, só que ao invés de usar o sensor de movimento, você vai usar a entidade de presença que identifica você (device_tracker por exemplo).

  1. Definir quando deve acionar a automação (trigger)

  2. Coloque suas condições (condition) que nesse caso é um time entre 17h e 22h

  3. E por último a ação (action), ligar as luzes que deseja.

automation:
  initial_state: true
  - alias: Acender a luz quando chegar
    trigger:
      platform: device_tracker.douglas
      entity_id: sensor.motion_sensor
      from: 'not_home'
      to: 'home'
    condition:
      - condition: time
        after: '17:00'
        before: '00:00'
    action:
      service: light.turn_on
      entity_id: light.luz_cozinha

Obrigado!

Eu pensei no seguinte cenario, quando nao estou em casa a lampada nao acender, porem se eu ja estiver em casa ou eu chegar no intervalo das 18h - 22h, ele acender as 2 lampadas da sala que eu sempre deixo ligadas

Teria alguma forma de fazer? pq no caso de eu ja estar em casa, nao teria um “trigger” ja que meu estado ja é home

Gustavo, posso te passar aqui o código, mas acredito que seja melhor você aprender como fazer.

Isso que você quer tem muitos exemplos, inclusive na documentação do HA, https://www.home-assistant.io/docs/automation/trigger/. Nesse caso você vai utilizar o timer como trigger (gatilho), sempre que chegar 18h acender a luz que você quer, desde que você esteja em casa. E você pode configurar uma outra automação para 22h apagar.

Se você ainda estiver com dificuldade, eu aconselho dar uma olhada no último vídeo que postei https://youtu.be/xTCG-rnNW5E que fala de vários exemplos e como configurar essas automações, em em 21:20 mostra como usar o timer. Acredito vá te ajudar.

1 Like

Obrigado! Vou estudar e tentar fazer, obrigado pela ajuda!

Abraço!

Muito boas dicas.
Eu tenho em casa uma campainha dessas HDL, estou tentando de alguma forma com sonoff ou outro dispositivo verificar se ela foi acionada e enviar uma foto da camera quando isso acontecer.
Mas meu problema é em integrar a campainha… eu vi que você citou a campainha no seu exemplo, poderia me dar alguma dica?

No caso qual o gadget de sensorização utilizado?
Ou qual seria o mais indicado utilizar?

Olá Pessoal, sou novo neste mundo do HA mas já consegui evoluir bem nas configurações iniciais, acesso externo via duckdns. Estou tentando vincular um som mp3 a uma automação de um sensor mas ppr algum motivo somente consigo tocar arquivos da internet quando tento arquivo local não funciona e nenhum erro aparece.

Usei a mesma estrutura abaixo que o Douglas colocou como exemplo e já coloquei o arquivo em varias pastas (raiz, config, www, dentro e fora da pasta mp3) para tentar ver se o problema era do endereço e nada. Meu HA está instalado em um computador com maquiva virtual ubunto imagem haasio. Alguem teve o mesmo problema? Fiquei tambem na duvida se quando colocado no endereço “local” se o mesmo aponta para a raiz do drive do hassio ou se preciso ter algo diferente.

Nota: tentei contornar subindo o meu arquivo mp3 para uma pasta do dropobox online e também não funcionou mesmo usando o link de compartilhamento que não precisa fazer login na conta dropox.

data:
          entity_id: media_player.musics
          media_content_id: https://meudominio.duckdns.org:8123/local/mp3/campainha.mp3
          media_content_type: 'music'

Desde já agradeço!