1) Créer un timer
Ne pas spécifier de délai. Cocher “Restaurer l’état et l’heure au démarrage de Home Assistant” pour éviter que le truc reste en marche pour l’éternité si il faut redémarrer HA.
2) Créer une automatisation
Trigger “Lorsque timer change d’état vers inactif” → couper le relais
Trigger “Lorsque timer change d’état depuis inactif” → activer le relais
Inutile de créer de multiples automatisations, il suffit de mettre tous les triggers en haut, leur donner des noms, en dessous mettre un Choice, “si l’automatisation a été trigger par le trigger_machin, faire ça.”
3) Créer une carte avec des boutons
Sur les boutons tu mets un call service qui met une durée dans le timer, il devient actif, l’automatisation active le relais, au bout du temps spécifié le timer expire, l’automatisation coupe le relais.
Tu peux mettre plusieurs boutons avec des durées différentes.
Tu peux afficher la durée restante du timer aussi.
À ma connaissance il n’est pas possible que le bouton précédemment cliqué reste dans une couleur qui indique son activation, mais bon ça n’a pas de sens ici puisque si tu cliques le bouton “1h” et que tu attends 30 min, il ne reste plus 1h ! Il vaut mieux afficher la durée restante.
Tu peux aussi mettre une durée dans le timer via une automatisation déclenchée par n’importe quoi. Par exemple j’ai un bouton à côté du sèche serviette : simple clic ou double clic → 1h ou 2h de sèche serviette activé. Simple clic si il est activé → désactiver. Tiens, je te mets le YAML
alias: RC Sèche serviette
description: ""
triggers:
- domain: mqtt
device_id: 63429f53fbec3ef47797aca23244a0c4
type: action
subtype: single
trigger: device
id: single
- domain: mqtt
device_id: 63429f53fbec3ef47797aca23244a0c4
type: action
subtype: double
trigger: device
id: double
- trigger: state
entity_id:
- timer.timer_seche_serviettes
to: idle
id: timer_idle
- trigger: state
entity_id:
- timer.timer_seche_serviettes
from: idle
id: timer_running
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- timer_idle
sequence:
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id: switch.tasmota_t4
- conditions:
- condition: trigger
id:
- timer_running
sequence:
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.tasmota_t4
- conditions:
- condition: trigger
id:
- single
sequence:
- if:
- condition: state
entity_id: timer.timer_seche_serviettes
state: active
then:
- sequence:
- action: timer.finish
metadata: {}
data: {}
target:
entity_id: timer.timer_seche_serviettes
else:
- action: timer.start
metadata: {}
data:
duration: "01:00:00"
target:
entity_id: timer.timer_seche_serviettes
- conditions:
- condition: trigger
id:
- double
sequence:
- action: timer.start
metadata: {}
data:
duration: "2:00:00"
target:
entity_id: timer.timer_seche_serviettes
mode: restart
Ah tiens phklrz a répondu en même temps, sympa cette carte !