# Pre-requisito para correr antes da automação

**URL:** https://forum.cpha.pt/t/pre-requisito-para-correr-antes-da-automacao/1515
**Category:** Dúvidas
**Created:** [7 Dezembro , 2018 17:33 UTC](https://forum.cpha.pt/t/pre-requisito-para-correr-antes-da-automacao/1515 "2018-12-07T17:33:31Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![dpjrodrigues](https://forum.cpha.pt/letter_avatar_proxy/v4/letter/d/f1d935/32.png) [@dpjrodrigues](https://forum.cpha.pt/u/dpjrodrigues)
#### Post date: [7 Dezembro , 2018 17:33 UTC](https://forum.cpha.pt/t/pre-requisito-para-correr-antes-da-automacao/1515/1 "2018-12-07T17:33:31Z")

</div>

Boas,

Existe alguma maneira de forçar o update de certos sensores depois do trigger da automação para que as condições (`conditions:`) sejam validadas com o estado actualizado?  
O problema que tenho é que por vezes a automação não é accionada porque o sensor que uso nas condições não estava actualizado.

Não queria estar a por scan interval de poucos segundos nos sensores que uso na nas condições da automação porque só numa % muito reduzida do tempo (é que preciso deles actualizados, i.e. quando a automação é despoletada).  
Já tentei fazer uma automação auxiliar com o mesmo trigger so para forçar o update mas não funcionou porque não consigo dizer há automação principal para correr depois da auxiliar

Até acho que o próprio HA devia forçar o update de cada state que é usado nas condições da automação… estou a dizer isto e se calhar até faz 🙂 e eu estou a fazer algo de errado.

Obrigado,  
Diogo

---

<div class="post-metadata">

### Author: ![j\_assuncao](https://forum.cpha.pt/user_avatar/forum.cpha.pt/j_assuncao/32/3_2.png) [@j\_assuncao](https://forum.cpha.pt/u/j_assuncao)
#### Post date: [7 Dezembro , 2018 18:06 UTC](https://forum.cpha.pt/t/pre-requisito-para-correr-antes-da-automacao/1515/2 "2018-12-07T18:06:49Z")

</div>

Se não mostrares o código que estás a utilizar será muito difícil dar uma resposta…

---

<div class="post-metadata">

### Author: ![dpjrodrigues](https://forum.cpha.pt/letter_avatar_proxy/v4/letter/d/f1d935/32.png) [@dpjrodrigues](https://forum.cpha.pt/u/dpjrodrigues)
#### Post date: [7 Dezembro , 2018 21:53 UTC](https://forum.cpha.pt/t/pre-requisito-para-correr-antes-da-automacao/1515/3 "2018-12-07T21:53:40Z")

</div>

Esta a tentar melhorar a automação da box vodafone apagar ou ligar a TV que já tinha publicado no outro [topico](https://forum.cpha.pt/t/como-configurar-o-component-mediaroom-para-boxes-vodafone-e-meo-excepto-boxes-4k/90/164), mas para que fique mesmo bullet proof

Como sabemos as box’s passam por vezes para standby e depois playing quando fazemos algumas operações nos menus ou zapping, por isso a ideia seria melhorar o scripts para cobrir todos os cenários.  
No meu caso a minha TV tem ligação Net mas não tem qualquer integração oficial com o HA por isso estou só a usar o device\_tracker.ping para saber se está ligada (`home`) ou desligada (`not_home`) e a ideia passava por exemplo por dizer que se a TV já está ligada então não é preciso correr a action (evitando um power Off errado… visto que o on e off é o mesmo comando).

O código em baixo em teoria resultaria mas em operações rápidas o `device_tracker.tv_livingroom` pode não estar actualizado e como disse acima não me parece nada eficiente mudar o `scan_interval` para 1seg só para que isto funcione como esperado. O que queria saber é se é possível forçar o update do `device_tracker.tv_livingroom` imediatamente antes da automação para que ela despolete a acção de modo mais fidedigno.

```
#Automacao para ligar a tv quando a box e ligada.      
- alias: Automacao box on tv on
  initial_state: true
  trigger:
    - platform: state
      entity_id: media_player.mediaroom_1921681152
      to: 'playing'
  condition: 
    - condition: template
      value_template: '{{ states.sensor.TVBox_standby_rate_last_min.state | float > 10 }}'  
    - condition: state
      entity_id: device_tracker.tv_livingroom
      state: 'not_home'      
  action:
    - service: switch.broadlink_send_packet_192_168_1_164
      data:
        packet:
        - 'JgBIAAABKJQVEBMSEzcTEhMSExETEhQREzcTNxMSEzYUNhQ2EzcTNhQRFBETEhM3ExISExMRFBEUNhM3EzcTERQ2FDYTNxM2FAANBQ=='
```

---

<div class="post-metadata">

### Author: ![RodolfoVieira](https://forum.cpha.pt/user_avatar/forum.cpha.pt/rodolfovieira/32/14633_2.png) [@RodolfoVieira](https://forum.cpha.pt/u/RodolfoVieira)
#### Post date: [7 Dezembro , 2018 22:19 UTC](https://forum.cpha.pt/t/pre-requisito-para-correr-antes-da-automacao/1515/4 "2018-12-07T22:19:08Z")

</div>

@dpjrodrigues porque nao ligas um wemos, na tua tv com o firmware tasmota e usas o comando LWT para saber se ela esta ou não ligada? é como eu uso e funciona muito bem.

---

<div class="post-metadata">

### Author: ![dpjrodrigues](https://forum.cpha.pt/letter_avatar_proxy/v4/letter/d/f1d935/32.png) [@dpjrodrigues](https://forum.cpha.pt/u/dpjrodrigues)
#### Post date: [8 Dezembro , 2018 22:53 UTC](https://forum.cpha.pt/t/pre-requisito-para-correr-antes-da-automacao/1515/5 "2018-12-08T22:53:36Z")

</div>

Obrigado @RodolfoVieira. Essa é uma area muito nova para mim ainda 🙂 mas lá chegarei…  
Para me iniciar encomendei uns sonoffs (que já chegaram) mas os CTT fizeram o favor de perder o USB to TTL ☹… e depois ainda o marcaram como entregue só para ver se pegava.

De qualquer modo (e independentemente deste caso) acho que faz mais sentido que qualquer que seja a entidade usada dentro de uma automação, (i.e. depois to trigger) seja actualizada antes de ser trabalhada (seja dentro do `conditions:` ou `action:`'s).  
Qual a utilidade de usar como base para fazer algo, uma entidade que pode não estar actualizada?

Obrigado,  
Diogo

---

<div class="post-metadata">

### Author: ![RodolfoVieira](https://forum.cpha.pt/user_avatar/forum.cpha.pt/rodolfovieira/32/14633_2.png) [@RodolfoVieira](https://forum.cpha.pt/u/RodolfoVieira)
#### Post date: [8 Dezembro , 2018 23:38 UTC](https://forum.cpha.pt/t/pre-requisito-para-correr-antes-da-automacao/1515/6 "2018-12-08T23:38:01Z")

</div>

@dpjrodrigues confesso que estou com alguma dificuldade em entender a tua dificuldade.  
Não estou a conseguir compreender onde queres chegar.  
Podes ser mais específico?

---

<div class="post-metadata">

### Author: ![dpjrodrigues](https://forum.cpha.pt/letter_avatar_proxy/v4/letter/d/f1d935/32.png) [@dpjrodrigues](https://forum.cpha.pt/u/dpjrodrigues)
#### Post date: [9 Dezembro , 2018 00:21 UTC](https://forum.cpha.pt/t/pre-requisito-para-correr-antes-da-automacao/1515/7 "2018-12-09T00:21:42Z")

</div>

Ok @RodolfoVieira. Pegando no exemplo dummy em baixo vou descrever os passos que achava que deveriam acontecer:

**1.** Quando `sensor.trigger_exemplo` muda o estado para “on” a automação é chamada  
**2.** _Antes de validar as condições que estão por baixo de `condition:` faz update ao estado das entidades que lá são usadas, neste caso apenas o `sensor.condition_exemplo` para garantir que está a usar informação actual._  
**3.** Valida as condições em `condition:` i.e. se o `sensor.condition_exemplo` tem o estado “on”  
_3a._ se sim corre a `action:`  
_3b._ se não, não faz nada.

❗ **O que não me parece que está a acontecer é o passo 2… ou seja a condição pode estar a ser validada tendo com base um estado antigo e não actual.**

```
- alias: exemplo
  initial_state: true
  trigger:
    - platform: state
      entity_id: sensor.trigger_exemplo
      to: 'on'
  condition: 
    - condition: state
      entity_id: sensor.condition_exemplo
      state: 'on'      
  action:
    .......
```

---

<div class="post-metadata">

### Author: ![RodolfoVieira](https://forum.cpha.pt/user_avatar/forum.cpha.pt/rodolfovieira/32/14633_2.png) [@RodolfoVieira](https://forum.cpha.pt/u/RodolfoVieira)
#### Post date: [9 Dezembro , 2018 11:00 UTC](https://forum.cpha.pt/t/pre-requisito-para-correr-antes-da-automacao/1515/8 "2018-12-09T11:00:36Z")

</div>

Em um modo geral, os estados são actualizados automaticamente de forma até rápida, claro que depende sempre de vários factores associados.  
E nem sempre é obrigatório usares um condition, em alguns casos um template no trigger poderá resolver.  
Olhando bem para o teu primeiro post, eu próprio tive alguma dificuldade em fazer o que tencionas, funcionava e não funciona… acabei por desistir abandonando esse “projecto”, hoje não me ralo se a box está ou não ligada ou em standby, fica sempre ligada e jogo apenas com o estado da tv do modo que te falei acima usando o lwt.

---

<div class="post-metadata">

### Author: ![system](https://forum.cpha.pt/user_avatar/forum.cpha.pt/system/32/2_2.png) [@system](https://forum.cpha.pt/u/system)
#### Post date: [9 Março , 2019 11:15 UTC](https://forum.cpha.pt/t/pre-requisito-para-correr-antes-da-automacao/1515/9 "2019-03-09T11:15:07Z")

</div>

Este tópico foi automaticamente fechado 90 dias após a última resposta. Novas respostas não são permitidas.
