Automação Led Gateway


(Bruno Melo) #1

Boa noite caros membros. Sou novo este tipo de automação e precisava da vossa ajuda… não percebo nada de programação mas tirei este exemplo de automação mas não esta a funcionar. Seria possível alguém intendido na matéria para dar uma ajuda? Muito obrigado desde já.

  - alias: Modo de luz de presença
trigger:
  - platform: time
    at: '21:50'
action:
  - service: light.turn_on
    data_template:
      entity_id: light.gateway_light_7811dcb38555
      brightness: 20

(Rodolfo) #2

Tens a formatação mal feita.
Tenta assim:

  - alias: Modo de luz de presença
    trigger:
      - platform: time
        at: '21:50'
    action:
      - service: light.turn_on
        data_template:
          entity_id: light.gateway_light_7811dcb38555
          brightness: 20

Caso ainda não funcione reporta qual o erro que dá.


(Bruno Melo) #3

Ainda não está a funcionar e desculpa a minha ignorância mas também não sei onde ir ver os erros. Se for na opção "verificar configuração está tudo ok. Mas já agora sem querer abusar da ajuda (que vou pedir com frequência até entender da matéria) o que eu queria mesmo era quando abrisse a porta da rua que tem um sensor de porta e janela da xiaomi acendesse o led do gateway por 2 mim, será que era pedir muito forneceres esse código??? Ficaria muito agradecido. Já agora desde que configurei o gateway no HA deixei de ter essa funcão na app mi home e nem consigo ter acesso ao led. Sabes do que poderia ser???
Desculpa o testamento. cumps


(Rodolfo) #4

Primeiro que tudo, já tens o sensor de porta a aparecer nos entities do Home Assistant?
Para veres isso clicas no Home Assistant ca em baixo do lado esquerdo onde diz
Ferramentas de Programaço depois clicas em <> e na entity aparece te o nome do sensor?


(Bruno Melo) #5

Sim, Já aparece o sensor da porta de entrada. Assim como o sensor de movimentos, cubo magico, interruptor, 3 lampadas yeelight e o led do gateway.


(Rodolfo) #6
#teste bruno.
  - alias: liga luz gateway
    initial_state: true
    trigger:
      platform: state
      entity_id: COLOCA AQUI O ENTITY DO TEU SENSOR DE PORTA
      to: 'on'
    action:
      - service: light.turn_on
        data_template:
          entity_id: COLOCA AQUI O ENTITY DO TEU GATEWAY
          brightness: 20
          color_name: blue

(Bruno Melo) #7

Nem sei como agradecer, esta mesmo a funcionar. Mas gostava de ter só mais 2 ajustes se não te importares. queria que o led so acendesse entre as 19h e as 7.30 da manha por um período de 2 mim sempre que se abre a porta. Será que me poderias adiantar essa informação??? este código também é valido para o sensor de movimento??? mais uma vez muito obrigado.


(Rodolfo) #8
#teste bruno.
  - alias: liga luz gateway
    initial_state: true
    trigger:
      platform: state
      entity_id: COLOCA AQUI O ENTITY DO TEU SENSOR DE PORTA
      to: 'on'
	  for:
        minutes: 2
    condition:
      condition: time
      after: '19:00:00'
      before: '07:30:00'
    action:
      - service: light.turn_on
        data_template:
          entity_id: COLOCA AQUI O ENTITY DO TEU GATEWAY
          brightness: 20
          color_name: blue

(Bruno Melo) #9

Muito obrigado Rodolfo, amanhã já vou testar… Forte abraço.


(Bruno Melo) #10

Bom dia Rodolfo, esse código não está a funcionar. Já tentei alargar o horário para despistar mas continua a não funcionar. Será que podias dar mais uma vista de olhos?
Forte abraço e obrigado


(Rodolfo) #11

Verifica se tens a plataforma time configurada no teu configuration.yam


(Bruno Melo) #12

Boas caro Rodolfo, já integrei a hora e data no home assistent. Mas a hora tanto UTC como a “normal” têm 1 hora de atraso. É normal isso acontecer? Já descobri o que está a aconteceu, está a fazer o efeito contrário, ou seja só acende o led 2 mim após a abertura da porta. Mas não sei como resolver a situação. Muito obrigado pela atenção. :sleepy:Cumps.


(jpm) #13

Boa tarde @maxcalavera, pegando no código que o @RodolfoVieira te indicou será mais facil explicar o que se passa do que andares sempre a perguntar, até porque convem perceber para poderes fazer tudo o que no futuro queiras:

#teste bruno.
#Nome da automação
  - alias: liga luz gateway
#estado inicial quando arrancas com o HA
    initial_state: true
#trigger aka o que despoleta esta automação
    trigger:
#plataforma, neste caso é state porque é o estado do sensor da porta da entrada que vai mudar de "off" para "on" (de fechado para aberto)
      platform: state
#o nome do sensor, entidade, device, etc que queres monitorizar para despoletar os eventos
      entity_id: COLOCA AQUI O ENTITY DO TEU SENSOR DE PORTA
#no caso da plataforma estado passa dum estado para o outro, cada entidade tem um estado diferente, no caso dos sensores de porta são on-off, mas se for o estado dum device tracker será home-away
      to: 'on'
#O "lapso" para o que pediste, neste caso o @RodolfoVieira indica que o estado tem de se manter por 2 minutos, não é o que queres (a porta aberta 2 minutos) 
	  for:
        minutes: 2
#Ok, temos o sensor no estado que pretendes, mas queres mais uma condição, só entre as 19h e as 07h30, pode ser desde anoitecer até amanhecer, pode ser só se a porta for aberta e o sensor de lux indicar um valor inferior a 10lux...o que quiseres
    condition:
      condition: time
      after: '19:00:00'
      before: '07:30:00'
#O resto deves ter percebido
#Então o que queremos fazer? uma acção, despoletar um evento, ligar algo, desligar algo, avisar alguem, mudar o estado duma variavel, etc
    action:
#qual é o serviço? light, notification, device_tracker, ha_restart, etc podes "automatizar" o que quiseres
#neste caso ligar led (a entidade é do tipo light e queres mudar o estado para on)
      - service: light.turn_on
        data_template:
#entity_id (em quem queres efetuar esta acção?)
          entity_id: COLOCA AQUI O ENTITY DO TEU GATEWAY
#estas duas são propriedades dos LED's, mas não existem em switch ou outras)
          brightness: 20
          color_name: blue

Relativamente ao que queres (ligar por 2 minutos) só tens duas formas de o fazer:

  • 2 automações, a primeira que te deram e outra para desligar sendo que neste caso o trigger será o estado da luz ter passado para on, e passado 2minutos a acção é turn_off

  • Outra uma automação que corre um script e esse sim tem duas linhas com isto:

  - delay:
          seconds: 10

Basicamente tens de perceber o que cada “cenário” representa em termos de decomposição de acções:
1 a porta abriu e o sensor passou para “aberto”
2 mas é entre as 19h e as 07h30?
3 ligar a luz
4 contar 2 minutos
5 mandar desligar a luz

Mas mesmo neste caso podemos aumentar a complexidade até aos 1000% (a porta ficou aberta? a porta foi fechada? A porta foi aberta nos últimos 2 minutos? a luz já estava acessa? é inverno (provavelmente queres a luz a partir das18h), etc etc)

Vai vendo exemplos, vai perguntando e tenta perceber como aceder aos logs e como interpretar.

BV à Comunidade Portuguesa do HA.


(Bruno Melo) #14

Boa tarde jpm, comecei agora nestas andanças e também pretendia entender um pouco da matéria mas estou a ver que não é fácil. então o que eu pretendo com esta automação é: na porta da rua tenho um sensor de porta e janela e o gateway numa tomada perto dessa mesma porta. O que gostava de automatizar era o led do gateway está apagado e quando eu abrisse a porta num determinado período (por exemplo 19h - 7 da manhã) o led acendesse por 2 mim para iluminar o caminho e depois ao fechar a porta o led se desligasse ao fim desse tempo automaticamente…
Não sei se me fiz entender…
Muito obrigado pela ajuda.


(Rodolfo) #15
#teste bruno.
  - alias: liga luz gateway
    initial_state: true
    trigger:
      platform: state
      entity_id: COLOCA AQUI O ENTITY DO TEU SENSOR DE PORTA
      to: 'on'
    condition:
      condition: time
      after: '19:00:00'
      before: '07:30:00'
    action:
      - service: light.turn_on
        data_template:
          entity_id: COLOCA AQUI O ENTITY DO TEU GATEWAY
          brightness: 100
          color_name: blue


#teste bruno.
  - alias: desliga luz gateway
    initial_state: true
    trigger:
      platform: state
      entity_id: COLOCA AQUI O ENTITY DO TEU SENSOR DE PORTA
      to: 'off'
	  for:
        minutes: 2
    action:
      - service: light.turn_off
        data_template:
          entity_id: COLOCA AQUI O ENTITY DO TEU GATEWAY

(Bruno Melo) #16

Boas, agora obtenho este erro.

Configuração inválidaVERIFICAR A CONFIGURAÇÃO

Invalid config for [automation]: [for] is an invalid option for [automation]. Check: automation->for. (See /config/configuration.yaml, line 83). Please check the docs at https://home-assistant.io/components/automation/

na linha 83 tenho isto:

83: group: !include groups.yaml
84: automation: !include automations.yaml
85: script: !include scripts.yaml

obrigado


(Rodolfo) #17

Cola aqui no https://hastebin.com/ tudo o que tens dentro do teu automations.yaml guarda e manda o link


(Bruno Melo) #18

https://hastebin.com/coponizebo.bash


(Rodolfo) #19

a inha 24 desse link que é o “for” tem que estar por baixo do “to” tal como te mostrei na automação acima

#teste bruno.
  - alias: desliga luz gateway
    initial_state: true
    trigger:
      platform: state
      entity_id: COLOCA AQUI O ENTITY DO TEU SENSOR DE PORTA
      to: 'off'
	  for:
        minutes: 2
    action:
      - service: light.turn_off
        data_template:
          entity_id: COLOCA AQUI O ENTITY DO TEU GATEWAY

(Bruno Melo) #20

vou ter de instalar tudo de novo. apaguei todos os ficheiros e continua a dar erros…