Ajuda para automaçao

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/

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.

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/

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

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?

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:

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

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

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

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

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

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

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.

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

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:

@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á.


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


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