Créer un délai sur un binary.sensor

Bonjour,

J’ai un capteur de mouvement sur une tablette, un binary.sensor on/off

Je souhaiterai faire en sorte que ce capteur soit off (si il est off pendant 10 minutes)
pour se faire j’utilise un Template avec les option delay_off et pourquoi pas delay_on
(peut être ce n’est pas la meilleure solution ?)

mais j’ai beau essayé de nombreuses façons, soit je me retrouve avec une erreur de de delay (template error) soit avec un nouveau sensor.binary en 'unknow"

Voici ma partie unknow :

template:          

  - binary_sensor:
      - name: "capteur_presence"
        delay_off:
            minutes: 10
        value_template: >-
          {{ states("binary_sensor.motion_active") }}

J’au essayé aussi avec ce value_template :

value_template: >-
        {{ is_state('binary_sensor.motion_active', 'off) }}
binary_sensor:
  - platform: template
    sensors:
      capteur_presence:        
        delay_off:
          minutes: 10
        delay_on:
          seconds: 15
        value_template: >-
          {{ states("binary_sensor.motion_active") }}

Avez-vous une idée ?

Merci

Bonjour,
ton but c’est de quoi faire avec ton capteur de mouvement ?
dans une automatisation , tu peu le paramétré.

platform: state
entity_id:
  - binary_sensor.0x54ef4410005a8bba_occupancy
to: "off"
for:
  hours: 0
  minutes: 10
  seconds: 0

En fait j’aimerais avoir la même chose que le capteur initial : un on et un off
mais
avec un delay de fonctionnement

Nouveau capteur :

ON (capteur initial on pendant 15s consécutives au moins)
OFF (capteur initial off pendant 10 minutes consécutives au moins)

C’est juste pour de l’information (personne là ON ou pas là OFF) et mon capteur est trop sensible à mon gout d’où l’idée d’y ajouter une condition de temps, il faut un certain temps sur ON pour qu’il affiche vraiment ON et de même en OFF

J’ai bien pensé à une automation mais il faut une action et vu que mon but est d’avoir un capteur on/off je ne voit pas trop comment m’y prendre

Tu peu essayer ce template.

template:          
  - binary_sensor:
      - name: "Capteur Présence"
        state: "{{ states('binary_sensor.motion_active') }}"
        delay_on: '00:00:15'
        delay_off: '00:10:00'

le temps pour le delay est au format 00:10:00 et pas minutes: 10.

edit:
j’ai modifier le template.

Un grand merci, tu m’as mis sur la piste

ce code a fonctionné pour moi :

binary_sensor:
  - platform: template
    sensors:
      capteur_presence:    
        delay_on: '00:00:15'
        delay_off: '00:10:00'
        value_template: >-
          {{ states("binary_sensor.motion_active") }}
          

Tu as utiliser l’ancien format de template, le template que j’ai fais est identique mais c’est la nouvelle façon. Un jour ou l’autre tu devra passer au nouveau format, car l’ancien sera supprimer. Autant le faire maintenant, c’est mon point de vue :wink:

Citation
This format still works but is no longer recommended. Use modern configuration.

Oui tu as raison mais le nouveau ne fonctionne pas, il n’aime pas mon state, je vais continuer à chercher un peu !

le state comme telle passe pas ?
j’ai tester chez moi, et c’est passer.

pas comme ca

{{ states("binary_sensor.motion_active") }}

des ' au lieu de "

T’es un boss ! Un grand merci pour ton aide et ta patience :slight_smile:

Je relance ce sujet car mon problème est identique à la différence que j’utilise un input_number pour la valeur de délai et que ça ne fonctionne pas…

J’ai un template pour un binary sensor qui est défini ainsi :

- binary_sensor:
  - name: "Aération"
    state: >
      {{ states('sensor.opened_windows') | int > 2 }}

Ce binary sensor sert à déclencher des actions lorsque plus de 2 fenêtres sont ouvertes (mode aération).

J’ai aussi un input_number.delai_aeration qui me permet de définir au bout de combien de temps je souhaite que ce mode aération soit désactivé après la fermeture des fenêtres.

J’ai donc tenté ceci qui ne fonctionne pas car delay_off n’acceptent pas le templating :

- binary_sensor:
  - name: "Aération"
    state: >
      {{ states('sensor.opened_windows') | int > 2 }}
    delay_off:
      minutes: "{{ states('input_number.delai_aeration') | float }}"

Est-ce que quelqu’un a une idée ou une autre façon de définir mon binary_sensor.aeration ? Parce que je ne trouve pas de solution correcte.

Merci beaucoup !