Bonjour,
Je bloque depuis plusieurs jours sur le trigger d’une automatisation.
Le for: « 00;00:30 » ne fonctionne pas.
Je souhaite que l’automatisation ne se déclenche que si l’une des conditions est maintenu pendant 30 secondes ou plus.
J’ai cherché du coté de l’indentation mais rien n’y fait …
- id: '202124051933'
alias: G2_SOS
description: ''
trigger:
- platform: template
value_template: "{% if (is_state('sensor.automower_state_status', '14'))
or (is_state('sensor.automower_state_status', '24'))
or (is_state('sensor.automower_state_status', '30'))
or (is_state('sensor.automower_state_status', '1038'))
%}true{% else %}false{% endif %}"
for: "00:00:30"
condition: []
action:
- service: notify.telegram
data:
-...
mode: single
Merci
Salut…
A lire la doc, il faut pas rajouter un truc du genre
for: "00:00:30"
on: true
Histoire de bien indiquer dans quelles conditions d’état les 30sec sont à prendre en compte
?
1 « J'aime »
Je ne suis pas sûr que la méthode que tu as choisi corresponde à ton besoin.
Avec ton code, ce n’est pas :
- si le capteur est à l’état
X
pendant 30 secondes
- ou si le capteur est à l’état
Y
pendant 30 secondes
- ou si le capteur est à l’état
Z
pendant 30 secondes
mais plutôt :
- si pendant 30 secondes, le capteur est à l’état
X
ou Y
ou Z
Dans le premier cas, si l’état du capteur passe de X
à Y
, la durée est remise à zéro alors que dans le second cas, la durée n’est pas remise à zéro sur le passage de X
à Y
(ou Z
)
Donc, pour reprendre tes dires :
je partirais plutôt sur des déclencheurs d’état et non un modèle :
automation:
trigger:
- platform: state
entity_id: sensor.automower_state_status
to: "14"
for:
seconds: "30"
- platform: state
entity_id: sensor.automower_state_status
to: "24"
for:
seconds: "30"
- platform: state
entity_id: sensor.automower_state_status
to: "30"
for:
seconds: "30"
condition: []
action:
- service: notify.telegram
data:
title: "*Titre*"
message: "Lorem ipsum"
Je pense que ça rejoint le commentaire de @Pulpy-Luke