Créer un minuteur pour prise connectée

Bonjour à toutes et à tous,

Je cherche à créer un minuteur, sous forme de carte Lovelace, qui permettrait d’éteindre une prise connectée une fois que ce dernier atteint 0.
En détails voici les fonctions que j’aimerais avoir :
Pouvoir facilement sélectionner la durée du minuteur
Lancer le minuteur
Une fois le minuteur à 0 la prise liée s’éteint (une prise Tradfri).
Cela me permettrait, en y branchant un ventilateur, de l’éteindre automatiquement au bout de quelques temps la nuit par exemple.

Quelqu’un a-t-il une idée de comment je pourrais réaliser cela ?

Merci par avance :blush:

Salut

C’est pas très compliqué, c’est justement l’exemple de la doc officielle ‹ control a timer from frontend › :

Merci de ta réponse mais dans cet exemple la durée est fixée dans le fichier configuration. Je voudrais savoir comment faire pour pouvoir la modifier facilement par exemple depuis une carte lovelace ?

Depuis Lovelace, ce n’est pas possible d’attaquer directement le minuteur (timer).

Tu peux passer par des inputs (datetime, number) pour la définition des heures, minutes et secondes, puis appeler via un script et/ou automatisation le seul service qui te permet de jouer nativement avec la durée timer.start (relire la documentation pour comprendre comment).

Peux être également, au lieu d’un script, un python_script.

Comprends tu ou veux-tu un exemple ?

Salut, je veux bien un exemple, je ne comprends pas tout :smiley:

Oui le plus simple c’est definir un input_number pour forcer le temps de duration au lancement :

Par exemple

input_number:
  sleep:
    name: sleep
    initial: 45
    min: 15
    max: 120
    step: 15
    mode: slider

input_boolean:
  sleep:
    name: sleep
    initial: off

timer:
  sleep:
    name: sleep

automation:
  - alias: Timer start
    trigger:
      platform: state
      entity_id: input_boolean.sleep
      to: 'on'
    action:
      service: timer.start
      entity_id: timer.sleep
      data_template:
        duration: "{{ states('input_number.sleep') | int * 60 }}"

  - alias: Timer cancel
    trigger:
      platform: state
      entity_id: input_boolean.sleep
      to: 'off'
    action:
      service: timer.cancel
      entity_id: timer.sleep

  - alias: Timer stop
    trigger:
      platform: event
      event_type: timer.finished
      event_data:
        entity_id: timer.sleep
    action:
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.sleep
    - service: remote.turn_off
      entity_id: remote.livingroom

Ensuite l’affichage, c’est juste l’ajout de l’input_number et de l’automation dans une card

1 « J'aime »

On peux faire des truc sympa :

2 « J'aime »