Retarder la mise à jour d'un Template Binary Sensor

Bonjour à tous,

Pour déterminer la présence dans mes pièces, j’ai créé des templates binary_sensor qui utilisent mes media_players ainsi que mes capteurs de présence Aqara.

Voilà un exemple avec le binary_sensor.presence_playroom :

- platform: template
  sensors:
    presence_playroom:
      friendly_name: "Présence playroom"
      device_class: motion
      value_template: "{{ is_state('binary_sensor.mouvement_playroom', 'on') or is_state('binary_sensor.playstation_4', 'on') }}"

Et voici le code de mon binary_sensor.playstation_4 :

- platform: template
  sensors:
    playstation_4:
      friendly_name: Playstation 4
      device_class: power
      icon_template: mdi:sony-playstation
      value_template: "{{ not is_state('media_player.playstation_4', 'standby') and not is_state('media_player.playstation_4', 'unknown') }}"

Voilà mon problème :
Mes capteurs de mouvement Aqara mettent 1 minute 30 pour passer en state Off alors que mon binary_sensor.playstation_4 passe instantanément en state Off.

J’aimerai donc changer le value_template avec quelque chose du genre :

value_template: "{{ not is_state('media_player.playstation_4', 'standby') and not is_state('media_player.playstation_4', 'unknown') depuis 90 secondes }}"

Si c’est possible j’aimerai ne pas devoir passer par 2 automations pour passer mon binary_sensor en true & false.

Merci pour votre aide,
Lou_Juicy

J’ai relu plusieurs fois, mais je n’arrive pas à identifier le problème…

Ok pour le détecteur de mouvement qui fait que binary_sensor.presence_playroom reste 1m30 à true alors que potentiellement il n’y a plus personne dans la pièce (car la ps4 est éteinte).

Ok pour le fait que lorsque tu éteins ta ps4 binary_sensor.presence_playroom passe immédiatement à false (si pas de mouvement détecté).

Ce que je ne comprends : pourquoi ralentir la détection de présence sur la ps4 ?

C’est exactement ça !

Dans la théorie, c’est pour uniformiser tous mes binary_sensors utilisés pour la détection de présence avec un delay de minimum 1m30 (Qu’on pourra par la suite gérer avec un input_number).

Dans la pratique, aujourd’hui, lorsque j’éteins ma ps4, la lumière s’éteint, ensuite je me lève pour sortir de la pièce, la lumière se rallume puis se re-éteint après 1m30.

Est-ce que ça t’aide à voir un peu mieux mon problème ? :slight_smile: Merci de te retourner le cerveau pour me venir en aide en tout cas ! :+1:

Et comme je passe par un binary_sensor, j’ai toujours le « vrai » state de ma ps4 avec mon media_player !

Malheureusement, je ne pense pas que ce soit possible en Jinja2 car il n’existe pas de fonction d’attente (sleep, delay, wait).

Tu devrais utiliser une automatisation.

J’avais mal regardé la doc… :sleepy:

Ils ont tout prévus pour ! Il faut utiliser delay_off !

Du coup mon template ressemble à ça !

playstation_4:
  friendly_name: Playstation 4
  device_class: power
  icon_template: mdi:sony-playstation
  value_template: "{{ not is_state('media_player.playstation_4', 'standby') and not is_state('media_player.playstation_4', 'unknown') }}"
  delay_off:
    seconds: 90
1 J'aime

:+1:

Je ne l’avais jamais remarquée également !

Problème résolu.