Automação com sensor movimento

Ao acender as lâmpadas fora dos horários que estão na automação, ou seja durante o dia. Se eu ligar as lâmpadas com o cubo por exemplo elas ao fim de X tempo desligam-se sozinhas o que não era suposto acontecer. Imagina que chego a casa ao meio dia e tenho as cortinas fechadas e acendo as lâmpadas com o cubo, passados uns minutos que ainda não consegui desifrar o tempo (mas rondará os 5 a 10 mim) elas desligam-se sozinhas sem ninguém ordenar nada… Na automação do cubo não tenho definido qualquer horário.

Coloca la aqui as automações do cubo…

Aqui está a minha automação para o cubo. De salientar que me esqueci de dizer que se as ligar no home assistant acontece o mesmo.

  - alias: Cubo 90 graus
    trigger:
      platform: event
      event_type: cube_action
      event_data:
        entity_id: binary_sensor.cube_158d00027984b3
        action_type: flip90
    action:
    - service: light.turn_on
      entity_id: group.sala
      data:
          brightness: 255
          kelvin: 6500


  - alias: Cubo 180 graus
    trigger:
      platform: event
      event_type: cube_action
      event_data:
        entity_id: binary_sensor.cube_158d00027984b3
        action_type: flip180
    action:
    - service: light.turn_on
      entity_id: group.sala
      data:
          brightness: 150
          kelvin: 3000


  - alias: Cubo All OFF
    trigger:
      platform: event
      event_type: cube_action
      event_data:
        entity_id: binary_sensor.cube_158d00027984b3
        action_type: shake_air
    action:
    - service: light.turn_off
      entity_id: group.sala
    - service: light.turn_off
      entity_id: light.yeelight_rgb_7811dce0fe41


  - alias: Cubo Move
    trigger:
      platform: event
      event_type: cube_action
      event_data:
        entity_id: binary_sensor.cube_158d00027984b3
        action_type: move
    action:
    - service: light.turn_on
      entity_id: group.sala
      data:
          brightness: 150
          color_name: orangered


  - alias: Cubo 2 batidas
    trigger:
      platform: event
      event_type: cube_action
      event_data:
        entity_id: binary_sensor.cube_158d00027984b3
        action_type: tap_twice
    action:
    - service: light.turn_on
      entity_id: group.sala
      data:
          brightness: 100
          color_name: cornflowerblue

Só ainda não consegui a automação “rotate” para aumentar diminuir o brilho das lâmpadas.
Mas ainda não desisti…

Ok, e elas desligam-se ao fim de 10 min correcto?

Sim. Embora que as vezes acho que é em menos tempo… Desculpa mas ainda não tive tempo para testar os tempos… Mas em média é mais ou menos por aí… Muito obrigado pela ajuda.

O problema que tens com o cubo, tem a ver com o facto de teres as automações a serem activadas (trigger) pelo sensor de movimento. Quando ligas as luzes pelo cubo e te mexes, ou paras de te mexer, activas as automações que tens para as luzes da sala.

Como solução, sugiro que tentes passar o trigger para dentro das condition e como trigger uses o seguinte:

trigger:
      - platform: time
        seconds: seconds: '/5'

Isto ira fazer com que a cada 5 segundos o HA teste as condições. Não sei se ira funcionar mas não custa tentar.

@maxcalavera estiver a pensar em uma forma também de evitar isso caso a solução do Jorge não funcione.
Que não é nada mais nada menos que criar um input_boolen…
Como já te disse isso acontece, porque tens uma automação que te manda desligar as luzes passado 10 seg.

Então o que deves fazer?
Exemplo de uma automação tua já modificada.

   - alias: Sala OFF 19h30-20h30
     trigger:
       platform: state
       entity_id: binary_sensor.motion_sensor_158d0001f9d417
       from: 'on'
       to: 'off'
       for:
         minutes: 10
     condition:
        condition: state
        entity_id: input_boolean.gruposala
        state: 'off'
     action:
       - service: light.turn_off
         entity_id: group.sala
       - service: light.turn_off
         entity_id: binary_sensor.motion_sensor_158d0001f9d417 

Aqui a alteração que fiz foi adicionar o:

 condition:
   condition: state
   entity_id: input_boolean.gruposala
   state: 'off'

Agora na parte do cubo vais adicionar:

input_boolean:

  gruposala:
    name: gruposala
    initial: 'off'

Isto é como se fosse um switch escondido que vai estar off de inicio…isto vai fazer com que a automação de exemplo acima funcione normalmente.

Agora vamos ás automações do cubo já com as alterações:

  - alias: Cubo 90 graus
    trigger:
      platform: event
      event_type: cube_action
      event_data:
        entity_id: binary_sensor.cube_158d00027984b3
        action_type: flip90
    action:
    - service: light.turn_on
      entity_id: group.sala
      data:
          brightness: 255
          kelvin: 6500
    - service: input_boolean.turn_on
      entity_id: input_boolean.gruposala

Aqui adicionei o:

- service: input_boolean.turn_on
  entity_id: input_boolean.gruposala

Isto vai fazer que quando movas o cubo para os 90 graus…no final da ação ele vai por o tal input_boolean (switch escondido activado), coisa que… a tal primeira automação que falei acima… já nao vai desligar as lampadas pois a condição lá atrás diz que so passa para a ação se a condição estiver off… coisa que o cubo nao deu essa ordem.

Depois temos esta automação, também do cubo já com as devidas alterações:

- alias: Cubo All OFF
   trigger:
     platform: event
     event_type: cube_action
     event_data:
       entity_id: binary_sensor.cube_158d00027984b3
       action_type: shake_air
   condition:
     condition: state
     entity_id: input_boolean.gruposala
     state: 'on'
   action:
   - service: light.turn_off
     entity_id: group.sala
   - service: light.turn_off
     entity_id: light.yeelight_rgb_7811dce0fe41

Aqui caso tenhas entendido coloquei uma condição para que se o input_boolean tiver ON que sim que estará,vai então fazer a ação correctamente que é desligar o que tu queres.

Testa e diz se funcionou…

Também tenho esse problema, vou testar isso também. Embora que já tinha pensado noutra solução. Como tenho um botão switch estava a pensar programar esse mesmo para ligar/desligar as automações dentro dos horários das automacões. Podendo assim usar o cubo. Muito obrigado pelas vossas sugestões. Logo que possa já testo e dou feedback.

@RodolfoVieira já consegui integrar as alterações que sugeriste. vou agora testar.
Só não consegui na seguinte automação, por favor podes dar uma vista de olhos???
Eu acho que o problema desta automação está na identificação das lâmpadas uma vez que nesta não uso um grupo de lâmpadas mas sim 2 lâmpadas de zonas diferentes e com cores e brilhos diferentes.

  - alias: Mudar fraldas ON
    initial_state: true
    trigger:
      platform: state
      entity_id: binary_sensor.motion_sensor_158d0001f9d417
      from: 'off'
      to: 'on'
    condition:
    - condition: time
      after: '22:30:00'
      before: '06:50:00'
    - condition: numeric_state
      entity_id: sensor.illumination_158d0001f9d417
      below: 10
    action:
      - service: light.turn_on
        entity_id: light.yeelight_rgb_7811dc6b98cb
        data:
          brightness: 75
          color_name: green
      - service: light.turn_on
        entity_id: light.yeelight_rgb_7811dce0fe41
        data:
          brightness: 100
          color_name: red
      - service: light.turn_on
        data:
          entity_id: binary_sensor.motion_sensor_158d0001f9d417
      - service: light.turn_off
        entity_id: light.yeelight_rgb_7811dc6b9b10
  - alias: Mudar fraldas OFF
    trigger:
      platform: state
      entity_id: binary_sensor.motion_sensor_158d0001f9d417
      from: 'on'
      to: 'off'
      for:
        minutes: 4
    condition:
      - condition: state
        entity_id: input_boolean.light.yeelight_rgb_7811dce0fe41
        state: 'off'
      - condition: state
        entity_id: input_boolean.light.yeelight_rgb_7811dc6b9b10
        state: 'off'
    action:
      - service: light.turn_off
        entity_id: light.yeelight_rgb_7811dc6b98cb
      - service: light.turn_off
        entity_id: light.yeelight_rgb_7811dce0fe41
      - service: light.turn_off
        entity_id: light.yeelight_rgb_7811dc6b9b10
      - service: light.turn_off
        data:
          entity_id: binary_sensor.motion_sensor_158d0001f9d417

o erro é este:
Configuração inválida
Invalid config for [automation]: Entity ID input_boolean.light.yeelight_rgb_7811dce0fe41 is an invalid entity id for dictionary value @ data[‘condition’][0][‘entity_id’]. Got None
extra keys not allowed @ data[‘condition’][0][‘state’]. Got None
not a valid value for dictionary value @ data[‘condition’][0][‘condition’]. Got None. (See /config/configuration.yaml, line 104). Please check the docs at https://home-assistant.io/components/automation/

Já fiz alguma pesquisa mas não consigo dar a volta.
Muito obrigado pelo tempo que me têm dedicado a tentar resolver estes problemas.

Isto aqui nao sao input_booleans:

 condition:
      - condition: state
        entity_id: input_boolean.light.yeelight_rgb_7811dce0fe41
        state: 'off'
      - condition: state
        entity_id: input_boolean.light.yeelight_rgb_7811dc6b9b10
        state: 'off'

hum. ok. no entanto as lampadas continuam a desligar-se. não consigo perceber o porquê…
:disappointed_relieved:

coloca no hastebin.com toda a configuracao que tens das automacoes que tens para desligar as luzes… e a configuracao do cubo.

https://hastebin.com/utunuvicet.cs

Feito, mas desfiz o que me sugeriste, pois a hora das automações não estavam a disparar por isso tive de repor as configurações iniciais. Durante a tarde fiz um teste. Desliguei as automações da sala e deixei as luzes acesas e não se apagaram durante a tarde, por isso deve de ser algo com as automações. Se calhar a melhor forma de contornar isso é criar 2 automações com o botão da xiaomi para quando quiser usar o cubo desligar as automações e outra paa voltar a ligar. As automações do cubo não desliguei.

Esse parece-me ser o caminho a seguir. Crias um input_bolean com um manual/automático. Quando queres ser tu a controlar colocas em manual e desliga as automações, quando queres as automações colocas em automático.

@maxcalavera tenho quase a certeza que o que fiz funciona… mas isso que mandaste como já é o que tinhas anteriomente e não o que eu pedi…assim não dá para dar mais uma vista de olhos.
Mas faz isso que disseste e o que o Jorge concordou… se no teu cenário for o melhor não vejo porque não.

Boas pessoal, queria desligar as minhas lâmpadas quando a iluminação envolvente ultrapassasse os 15 lx. Mas nem sequer aparece nas automações. Será que tenho alguma coisa mal no código?

  - alias: Desligar luz above 15 lx
    initial_state: true
    trigger:
      platform: state
      entity_id: binary_sensor.motion_sensor_158d0001f9d417
      to: 'off'
      for: 
        minutes: 1
    condition:
    - condition: time
      after: '17:00:00'
      before: '22:30:00'
    - condition: numeric_state
      entity_id: sensor.illumination_158d0001f9d417
      above: 15
    action:
      - service: light.turn_off
        entity_id: light.yeelight_rgb_7811dc6b98cb
        entity_id: light.yeelight_rgb_7811dc6b9b10

Não terás Alias repetido com outra automação?

@rodolfoVieira, obrigado pela sugestão. Já consegui ultrapassar o problema (que não era problema nenhum) simplesmente o hassio não queria reiniciar, mas depois de muito insistir lá reiniciou e depois de um teste muito rápido parece estar tudo a funcionar nas horas… Hihihihihihi muito obrigado pela atenção disponibilizada. Cumps. Forte abraço.

Olá malta, tenho seguinte código:

    - alias: Iluminação Closet ON
      trigger:
        - platform: state
          entity_id: binary_sensor.motion_sensor_158d00046604ee
          to: 'on'
      condition:
        - condition: numeric_state
          entity_id: sensor.illumination_158d00046604ee
          below: 10
      action:
        service: switch.turn_on
        entity_id: switch.luz_closet
    - alias: Iluminação Closet OFF
      trigger:
        - platform: state
          entity_id: binary_sensor.motion_sensor_158d00046604ee
          to: 'off'
          for:
            seconds: 30
      action:
        service: switch.turn_off
        entity_id: switch.luz_closet

Funciona tudo bem, exceto o facto de que ele acaba por demorar cerca de 2:30 min para desligar e não os 30 seg que estão programados.

Alguma sugestão?

Isso está correcto, 30 segundos da automação + 2 minutos que o sensor leva a mudar de estado depois de deixar de haver movimento.


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade