Automação liga e desliga luzes aleatoriamente ( Férias )

Fala Galera,
Está começando as férias da criançada e muita gente vai viaja neste período.
Eu estava procurando uma automação para acender e apagar minhas luzes aleatoriamente durante o período da noite para simular que tem gente em casa.

Acho que é legal ter esta automação, para quando viajar a luz acende e apaga sozinha, principalmente as luzes de frente da casa.

A condição é que acenda apenas no período da noite, entre as 19h até 01:15 da madrugada e só execute se estiver apagada, pois como o gatilho vai executar a cada 30 minutos, e como o tempo é randomico, pode ser que já esteja ligada:

condition:
condition: and
conditions:
- condition: time
after: ‘19:00:00’
before: ‘01:15:00’
- condition: state
entity_id: light.luz_frente_casa
state: ‘off’

A ideia do código é a cada 30 minutos ele vai iniciar o gatilho, e se a condição for no horário estipulado e a luz estiver apagada, ele vai pedir para ligar a luz, entretanto antes de ligar existe um delay que vai variar de 3 até 9 minutos para ligar a luz, assim a luz não vai ligar sempre no mesmo horário:

- delay: '00:{{ (range(3, 9)|random|int) }}:{{ (range(1, 59)|random|int) }}'

E após acender ele vai ficar um tempo randomico (aleatorio) ligada, também não vai desligar no mesmo horário vai ficar ligada no máximo 1h e 50min e no mínimo 30 minutos, por causa deste delay para desligar:

- delay: '{{ (range(0, 1)|random|int) }}:{{ (range(30, 50)|random|int) }}:{{ (range(1, 59)|random|int) }}'

O Código comecei a testar completo:

  • alias: ‘luz_frente_casa’
    trigger:
    • platform: time_pattern
      minutes: ‘/30’
      condition:
      condition: and
      conditions:
      • condition: time
        after: ‘19:00:00’
        before: ‘01:15:00’
      • condition: state
        entity_id: light.luz_frente_casa
        state: ‘off’
        action:
    • delay: ‘00:{{ (range(3, 9)|random|int) }}:{{ (range(1, 59)|random|int) }}’
    • service: light.turn_on
      entity_id:
      • light.luz_frente_casa
    • delay: ‘{{ (range(0, 1)|random|int) }}:{{ (range(30, 50)|random|int) }}:{{ (range(1, 59)|random|int) }}’
    • service: light.turn_off
      entity_id:
      • light.luz_frente_casa

Você tem alguma automação neste estilo?
Tem como fazer ligar a TV também é bacana para “dizer” que tem gente em casa!

Valeu ! Abraço!

1 Like