Ajuda para automaçao


(Bruno Fidalgo) #1

Boa tarde,

Gostaria de tentar fazer uma automação que me avise via telegram quando os dois telemóveis estivem fora de casa.
A 1ª tentativa que fiz ele avisava-me sempre que um saia e o que quero é que me avise somente se estiverem os dois fora.

- id: '1565830092957'
  alias: Aviso Ligar Alarmes
  condition: and
  condition:
  - condition: state
    entity_id: device_tracker.tlm_claudia_p10_lite
    from: home
    platform: state
    to: not_home
  condition:
  - condition: state
    entity_id: device_tracker.tml_bruno_p30_lite
    from: home
    platform: state
    to: not_home
  action:
  - data:
      message: Ligar os Alarmes
      title: '*Send a message*'
    service: notify.fidalgbf

Contudo quando vou validar a configuração surgem estes erros:

Invalid config for [automation]: extra keys not allowed @ data[‘condition’][0][‘from’]. Got None
extra keys not allowed @ data[‘condition’][0][‘platform’]. Got None
extra keys not allowed @ data[‘condition’][0][‘to’]. Got None
not a valid value for dictionary value @ data[‘condition’][0][‘condition’]. Got None
required key not provided @ data[‘trigger’]. Got None. (See /config/configuration.yaml, line 12). Please check the docs at https://home-assistant.io/components/automation/


(Jorge Assunção) #2

O erro que tens de usar duas vezes o condition:. A melhor maneira que tens para fazer isso é criares um grupo com ambos os telemóveis e depois a condição é o grupo estar not_home.


(Bruno Fidalgo) #3

Já vi alguns erros e já os emendei, agora tenho assim:

id: '1565830092957'
  alias: Aviso Ligar Alarmes
  condition: and
  conditions:
  - condition: state
    entity_id: device_tracker.tlm_claudia_p10_lite
    from: home
    platform: state
    to: not_home
  - condition: state
    entity_id: device_tracker.tml_bruno_p30_lite
    from: home
    platform: state
    to: not_home
  action:
  - data:
      message: Ligar os Alarmes
      title: '*Send a message*'
    service: notify.fidalgbf

Mais ainda surge este erro (agora é diferente)

Invalid config for [automation]: expected a dictionary @ data[‘condition’][0]. Got None
extra keys not allowed @ data[‘conditions’]. Got None
required key not provided @ data[‘trigger’]. Got None. (See /config/configuration.yaml, line 12). Please check the docs at https://home-assistant.io/components/automation/


(Bruno Fidalgo) #4

Essa maneira seria a mais fácil, contudo quer entender o que está mal para as próximas automações múltiplas correrem bem.


(Jorge Assunção) #5

Tens isso mal formatado, tens de respeitar as regras do YAML para isso validar. Depois de cada entrada leva dois espaços…

  alias: Aviso Ligar Alarmes
  condition: and
    conditions:
      - condition: state
        entity_id: device_tracker.tlm_claudia_p10_lite
        from: home
        platform: state
        to: not_home
      - condition: state
        entity_id: device_tracker.tml_bruno_p30_lite
        from: home
        platform: state
        to: not_home

P.S.: Estás a escrever as automações à mão ou usas o editor de automações do HA?


(Bruno Fidalgo) #6

Estou a fazer á mão.
Aplicando o teu codigo aparece-me este erro:
Error loading /config/configuration.yaml: mapping values are not allowed here
in “/config/automations.yaml”, line 94, column 15

a linha 94 é

conditions:


(Jorge Assunção) #7

as automações só aparecem com ID se forem feitas pelo editor de automações…

Experimenta assim:

  alias: Aviso Ligar Alarmes
  condition:
    - condition: state
      entity_id: device_tracker.tlm_claudia_p10_lite
      from: home
      platform: state
      to: not_home
    - condition: state
      entity_id: device_tracker.tml_bruno_p30_lite
      from: home
      platform: state
      to: not_home

(Bruno Fidalgo) #8

Sim é verdade, aproveitei a automação que fiz só para um tml.

Aplicando agora o teu código o erro aumentou:
Invalid config for [automation]: extra keys not allowed @ data[‘condition’][0][‘from’]. Got None
extra keys not allowed @ data[‘condition’][0][‘platform’]. Got None
extra keys not allowed @ data[‘condition’][0][‘to’]. Got None
not a valid value for dictionary value @ data[‘condition’][0][‘condition’]. Got None
required key not provided @ data[‘trigger’]. Got None. (See /config/configuration.yaml, line 12). Please check the docs at https://home-assistant.io/components/automation/

Contudo alterei a 2ª linha para conditions: e o erro é este:
Invalid config for [automation]: [conditions] is an invalid option for [automation]. Check: automation->conditions. (See /config/configuration.yaml, line 11). Please check the docs at https://home-assistant.io/components/automation/

linha 11: group: !include groups.yaml


(Jorge Assunção) #9

@Fidalgbf o código que te estou a dar é para substituíres a parte do conditions do teu, não é o código completo…


(Bruno Fidalgo) #10

e foi o que fiz.
actualmente o código está assim:

- id: '1565830092957'
  alias: Aviso Ligar Alarmes
  conditions:
    - condition: state
      entity_id: device_tracker.tlm_claudia_p10_lite
      from: home
      platform: state
      to: not_home
    - condition: state
      entity_id: device_tracker.tml_bruno_p30_lite
      from: home
      platform: state
      to: not_home
  action:
  - data:
      message: Ligar os Alarmes
      title: '*Send a message*'
    service: notify.fidalgb

(Jorge Assunção) #11

Mas isso não tem trigger e o action está mal formatado…


(Bruno Fidalgo) #12

Este era o que tinha anteriormente, contudo ele avisa-me quando sai um deles e o que eu queria era quando saímos os dois.

alias: Aviso 
  trigger:
  - entity_id: device_tracker.tml_bruno_p30_lite
    from: home
    platform: state
    to: not_home
  - entity_id: device_tracker.tlm_claudia_p10_lite
    from: home
    platform: state
    to: not_home
  condition: []
  action:
  - service: notify.fidalgbf
    data:
      title: '*Send a message*'
      message: Ligar Alarme

(Jorge Assunção) #13

Então faz como te disse inicialmente, cria um grupo com os dois telemóveis e depois usas só uma condição para ler o grupo.


(Bruno Fidalgo) #14

mas não é possível fazer de outra forma?
Queria mesmo aprender


(Jorge Assunção) #15

A criação de grupos é o mais simples e fácil. Sempre que quiseres adicionar ou remover um equipamento mexes apenas no grupo e a automação mantêm-se. Mas se quiseres aprender podes começar por isto:


(Rodolfo) #16

@Fidalgbf para tirares algumas ideias tens aqui neste link várias configurações de users da comunidade.
Algumas coisas poderão já ter mudado, mas a base está lá.