# Binary.sensor avec delay

**URL:** <https://forum.hacf.fr/t/binary-sensor-avec-delay/42999>\
**Category:** Entraide Home Assistant\
**Tags:** sensor\
**Created:** [Juin 5, 2024, 1:43 UTC](https://forum.hacf.fr/t/binary-sensor-avec-delay/42999 "2024-06-05T13:43:42Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![matthieuC](https://forum.hacf.fr/user_avatar/forum.hacf.fr/matthieuc/32/45392_2.png) [@matthieuC](https://forum.hacf.fr/u/matthieuC)\
**Post date:** [Juin 5, 2024, 1:43 UTC](https://forum.hacf.fr/t/binary-sensor-avec-delay/42999/1 "2024-06-05T13:43:43Z")

</div>

Bonjour,

J’ai mis une prise sur ma machine à laver, afin de suivre sa consommation électrique. Le but ici est de détecter quand ma machine est terminé, et de recevoir une notification sur mon téléphone.

D’aprés le suivi que j’ai, je peux me baser sur le fait que si la consommation est supérieur a 10W pendant au moins 10min (pour éviter d’avoir des fausses alertes), alors mon sensor serait ON  
inversement, si la conso est inférieur a 10W pendant au moins 10min, alors mon sensor serait OFF.

Grâce a ceci, je pourrais faire ensuite une automatisation pour m’envoyer une notification, mais aussi faire une vignette pour mon dashboard.

Rien de bien compliqué jusque là 🙂  
mais, je galère un peu sur la mise en place ☹

J’ai ajouté ceci dans mon configuration.yaml

```auto
template:
  - binary_sensor:
      - name: "Statut Lave-linge"
        unique_id: "binary_sensor_Statut_Lave-linge"
        state: >
          {{ states('sensor.lave_linge_consommation_actuelle')|float > 10 }}
        delay_on: '00:10:00'
        delay_off: '00:10:00'

```

Le soucis est que l’état de mon sensor reste sur unknown.

Si j’enlève les delay, par contre tout fonctionne bien !

Il me semblais avoir lu qu’il fallait faire comme ceci sur un autre poste sur le forum, mais ça ne semble pas fonctionner chez moi ☹

J’imagine que quelqu’un ici dois avoir la solution 🙂

Merci par avance pour votre aide !  
merci

salutations

## Ma configuration

* * *

## System Information

| version | core-2024.5.5 |
| --- | --- |
| installation\_type | Home Assistant OS |
| dev | false |
| hassio | true |
| docker | true |
| user | root |
| virtualenv | false |
| python\_version | 3.12.2 |
| os\_name | Linux |
| os\_version | 6.6.29-haos |
| arch | x86\_64 |
| timezone | Europe/Paris |
| config\_dir | /config |

> **Home Assistant Community Store**
>
> | GitHub API | ok |
> | --- | --- |
> | GitHub Content | ok |
> | GitHub Web | ok |
> | GitHub API Calls Remaining | 5000 |
> | Installed Version | 1.34.0 |
> | Stage | running |
> | Available Repositories | 1393 |
> | Downloaded Repositories | 5 |
> | HACS Data | ok |

> **Home Assistant Cloud**
>
> | logged\_in | false |
> | --- | --- |
> | can\_reach\_cert\_server | ok |
> | can\_reach\_cloud\_auth | ok |
> | can\_reach\_cloud | ok |

> **Home Assistant Supervisor**
>
> | host\_os | Home Assistant OS 12.3 |
> | --- | --- |
> | update\_channel | stable |
> | supervisor\_version | supervisor-2024.05.1 |
> | agent\_version | 1.6.0 |
> | docker\_version | 25.0.5 |
> | disk\_total | 30.8 GB |
> | disk\_used | 3.9 GB |
> | healthy | true |
> | supported | true |
> | board | ova |
> | supervisor\_api | ok |
> | version\_api | ok |
> | installed\_addons | Terminal & SSH (9.14.0), File editor (5.8.0), Matter Server (6.0.0) |

> **Dashboards**
>
> | dashboards | 4 |
> | --- | --- |
> | resources | 3 |
> | views | 7 |
> | mode | storage |

> **Recorder**
>
> | oldest\_recorder\_run | 30 mai 2024 à 10:51 |
> | --- | --- |
> | current\_recorder\_run | 5 juin 2024 à 15:34 |
> | estimated\_db\_size | 20.76 MiB |
> | database\_engine | sqlite |
> | database\_version | 3.44.2 |

> **Sonoff**
>
> | version | 3.7.3 (e240aaf) |
> | --- | --- |
> | cloud\_online | 23 / 35 |
> | local\_online | 17 / 17 |

\_\_\_

---

<div class="post-metadata">

**Author:** ![Giga77](https://forum.hacf.fr/user_avatar/forum.hacf.fr/giga77/32/113727_2.png) [@Giga77](https://forum.hacf.fr/u/Giga77)\
**Post date:** [Juin 5, 2024, 2:09 UTC](https://forum.hacf.fr/t/binary-sensor-avec-delay/42999/2 "2024-06-05T14:09:40Z")

</div>

Salut

Tu te compliques la vie, il y a les blueprints!

[![Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.](https://forum.hacf.fr/uploads/default/original/3X/1/a/1a129e306bc6a339cf8a2b9222553254a1909b6f.svg)](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgist.github.com%2Fsbyx%2F6d8344d3575c9865657ac51915684696)

Sinon essaie ça :

```auto
template:
  - binary_sensor:
      - name: "Statut Lave-linge"
        unique_id: "binary_sensor_Statut_Lave-linge"
        state: >
          {{ (states('sensor.lave_linge_consommation_actuelle')|float(0)) > 10 }}
        delay_on: '00:10:00'
        delay_off: '00:10:00'

```

---

<div class="post-metadata">

**Author:** ![Gilles2](https://forum.hacf.fr/user_avatar/forum.hacf.fr/gilles2/32/52382_2.png) [@Gilles2](https://forum.hacf.fr/u/Gilles2)\
**Post date:** [Juin 5, 2024, 4:49 UTC](https://forum.hacf.fr/t/binary-sensor-avec-delay/42999/3 "2024-06-05T16:49:44Z")

</div>

Il y a de nombreuses discussion sur le sujet.  
Par exemple, je te conseille la lecture de ce sujet:  
[Obtenir le temps d’utilisation d’un appareil électrique sur une période donnée - Home Assistant - Tutoriels & Partages / Intégration - Home Assistant Communauté Francophone (hacf.fr)](https://forum.hacf.fr/t/obtenir-le-temps-dutilisation-dun-appareil-electrique-sur-une-periode-donnee/18130/21)

---

<div class="post-metadata">

**Author:** ![barto\_95](https://forum.hacf.fr/user_avatar/forum.hacf.fr/barto_95/32/172_2.png) [@barto\_95](https://forum.hacf.fr/u/barto_95)\
**Post date:** [Juin 5, 2024, 5:04 UTC](https://forum.hacf.fr/t/binary-sensor-avec-delay/42999/4 "2024-06-05T17:04:40Z")

</div>

Sinon utiliser le trigger avec la notion de «&nbsp;temps&nbsp;» :

 ![CleanShot 2024-06-05 at 18.56.02](https://forum.hacf.fr/uploads/default/original/3X/9/5/951b3c1761f027690d51fef2ea4bea0837af0cdd.jpeg)

et ajouter une condition qui pourrait être une tranche horaire ou un imput boolean que tu crées grâce au helper depuis l’interface web de HA qui s’active (par une autre automation) si par exemple, tu dépasses le seuil de 10w

exemple

machine démarre dépasse les 10W de conso, l’automatisation détecte la conso au-dessus de 10W et donc active l’input-boolean = ON et quand ta machine descend en dessous de 10W pendant 10 min alors l’autre automatisation détecte et va vérifier si la condition input\_boolean = ON, alors, je notifie que la machine est terminée

---

<div class="post-metadata">

**Author:** ![Gilles2](https://forum.hacf.fr/user_avatar/forum.hacf.fr/gilles2/32/52382_2.png) [@Gilles2](https://forum.hacf.fr/u/Gilles2)\
**Post date:** [Juin 5, 2024, 5:20 UTC](https://forum.hacf.fr/t/binary-sensor-avec-delay/42999/5 "2024-06-05T17:20:19Z")

</div>

Oui, 2 ou 3 automatisations est le plus simple.  
Ci-dessous ce que j’ai pour la charge de ma voiture, y compris les notifications de fin et de consommation.

Automatisation n°1:

```auto
- id: '1681401623013'
  alias: 'Charge voiture : 1 - Start'
  description: Charge voiture start
  trigger:
  - platform: numeric_state
    entity_id: sensor.tz3000_2putqrmw_ts011f_active_power_2
    above: 2000
    for:
      hours: 0
      minutes: 1
      seconds: 0
  condition:
  - condition: state
    entity_id: input_boolean.charge_voiture_cycle
    state: 'off'
  action:
  - service: utility_meter.calibrate
    data:
      value: '0'
    target:
      entity_id: sensor.charge_voiture_power_cycle
  - service: input_boolean.turn_on
    data: {}
    target:
      entity_id: input_boolean.charge_voiture_cycle
  mode: single

```

Automatisation n°2:

```auto
- id: '1681401766283'
  alias: 'Charge voiture : 2 - Fin'
  description: Charge voiture Fin
  trigger:
  - platform: numeric_state
    entity_id: sensor.tz3000_2putqrmw_ts011f_active_power_2
    below: 10
    for:
      hours: 0
      minutes: 5
      seconds: 0
  condition:
  - condition: state
    entity_id: input_boolean.charge_voiture_cycle
    state: 'on'
  action:
  mode: restart

```

Automatisation n°3:

```auto
- id: '1681401962227'
  alias: 'Charge voiture : 3 - Fin, notifications'
  description: Charge voiture Fin, notifications
  trigger:
  - platform: numeric_state
    entity_id: sensor.tz3000_2putqrmw_ts011f_active_power_2
    below: 10
    for:
      hours: 0
      minutes: 10
      seconds: 0
  condition:
  - condition: state
    entity_id: input_boolean.charge_voiture_cycle
    state: 'on'
  action:
  - service: input_boolean.turn_off
    data: {}
    target:
      entity_id: input_boolean.charge_voiture_cycle
  - service: notify.mobile_app_sm_s906b
    data:
      title: Charge voiture terminée
      message: La charge s'est déroulée de {{ ((state_attr('automation.charge_voiture_start_2','last_triggered'))
        | as_local).strftime("%Hh%M") }} à {{ now().strftime("%Hh%M") }}, coût {{
        ((states('sensor.charge_voiture_power_cycle') | float(default=0) * float(states('input_number.prix_du_kwh_d_electricite')))) |
        round(2) }}€
  - service: persistent_notification.create
    data:
      title: Charge voiture terminée
      message: "La charge s'est déroulée de {{ ((state_attr('automation.charge_voiture_start_2','last_triggered'))
        | as_local).strftime(\"%Hh%M\") }} à {{ now().strftime(\"%Hh%M\") }} \nDurée
        {{ float((((state_attr('automation.charge_voiture_fin','last_triggered'))
        - (state_attr('automation.charge_voiture_start_2','last_triggered'))).seconds
        / 3600 )) | int }}h {{float(((((state_attr('automation.charge_voiture_fin','last_triggered'))
        - (state_attr('automation.charge_voiture_start_2','last_triggered'))).seconds
        % 3600 )/60 ))| round(0) }}min \nLe cycle a consommé {{ states('sensor.charge_voiture_power_cycle')
        }}kWh, soit {{ ((states('sensor.charge_voiture_power_cycle') | float(default=0)
        * float(states('input_number.prix_du_kwh_d_electricite')))) | round(2) }}€\n"
  - continue_on_error: true
    service: notify.consommations
    data:
      message: '{{ now().strftime("%d/%m/%Y") }} ; Voiture ; {{ ((state_attr(''automation.charge_voiture_start_2'',''last_triggered''))
        | as_local).strftime("%Hh%M") }} - {{ now().strftime("%Hh%M") }} ; {{ (((state_attr(''automation.charge_voiture_fin'',''last_triggered''))
        - (state_attr(''automation.charge_voiture_start_2'',''last_triggered''))).seconds
        / 3600 )| int }}h{{((((state_attr(''automation.charge_voiture_fin'',''last_triggered''))
        - (state_attr(''automation.charge_voiture_start_2'',''last_triggered''))).seconds
        % 3600 )/60 )| round }}m ; {{ states(''sensor.charge_voiture_power_cycle'')
        }}kWh ; {{ ((states(''sensor.charge_voiture_power_cycle'') | float(default=0)
        * float(states(''input_number.prix_du_kwh_d_electricite'')))) | round(2)
        }} EUR'
  mode: single

```

---

<div class="post-metadata">

**Author:** ![barto\_95](https://forum.hacf.fr/user_avatar/forum.hacf.fr/barto_95/32/172_2.png) [@barto\_95](https://forum.hacf.fr/u/barto_95)\
**Post date:** [Juin 5, 2024, 5:28 UTC](https://forum.hacf.fr/t/binary-sensor-avec-delay/42999/6 "2024-06-05T17:28:46Z")

</div>

Voilà @matthieuC dans l’exemple de @Gilles2 il y a 3 automatisations distinctes

---

<div class="post-metadata">

**Author:** ![matthieuC](https://forum.hacf.fr/user_avatar/forum.hacf.fr/matthieuc/32/45392_2.png) [@matthieuC](https://forum.hacf.fr/u/matthieuC)\
**Post date:** [Juin 5, 2024, 8:46 UTC](https://forum.hacf.fr/t/binary-sensor-avec-delay/42999/7 "2024-06-05T20:46:22Z")

</div>

Merci bcp, avec toute cette docs et ces infos je devrais pouvoir me débrouiller 🙂  
je vais regarder mais ça devrais aller !

merci bcp pour votre aide et vos réponses !  
c’est grandement apprécié 🙂

merci

---

<div class="post-metadata">

**Author:** ![ddfdom](https://forum.hacf.fr/user_avatar/forum.hacf.fr/ddfdom/32/137369_2.png) [@ddfdom](https://forum.hacf.fr/u/ddfdom)\
**Post date:** [Juin 5, 2024, 9:28 UTC](https://forum.hacf.fr/t/binary-sensor-avec-delay/42999/8 "2024-06-05T21:28:49Z")

</div>

> [@barto\_95](#):
>
> machine démarre dépasse les 10W de conso, l’automatisation détecte la conso au-dessus de 10W et donc active l’input-boolean = ON et quand ta machine descend en dessous de 10W pendant 10 min alors l’autre automatisation détecte et va vérifier si la condition input\_boolean = ON, alors, je notifie que la machine est terminée

C’est exactement ainsi que j’ai procédé simple et efficace car ça permet de contrer les pics de consommation, il faut bien regarder comment se décompose un cycle type  
En gros j’ai un booléen que j’active lorsque le pic de consommation arrive et donc lorsque le pic vas se reproduire vu que le cycle est déjà sur on alors on ne notifie pas sinon à chaque pic tu as une notification et lorsque le cycle se termine tu repasses le booléen a off

---

<div class="post-metadata">

**Author:** ![ddfdom](https://forum.hacf.fr/user_avatar/forum.hacf.fr/ddfdom/32/137369_2.png) [@ddfdom](https://forum.hacf.fr/u/ddfdom)\
**Post date:** [Juin 5, 2024, 9:32 UTC](https://forum.hacf.fr/t/binary-sensor-avec-delay/42999/9 "2024-06-05T21:32:34Z")

</div>

Mes 2 automations

```yaml
alias: machine à laver démarrage
description: ""
trigger:
  - type: power
    platform: device
    device_id: 5a6124afb763bed7fa8c25aaa11097fc
    entity_id: d4e6585c93459d3e50e96ee6821d661a
    domain: sensor
    above: 500
    for:
      hours: 0
      minutes: 0
      seconds: 20
condition:
  - condition: state
    entity_id: input_boolean.machine_a_laver
    state: "off"
action:
  - service: notify.mobile_app_kb2003
    data:
      title: Machine à laver
      message: Cycle commencé "{{ states('sensor.date_short_et_heure') }}"
  - service: input_boolean.turn_on
    target:
      entity_id: input_boolean.machine_a_laver
    data: {}
mode: single

```

```yaml
alias: machine à laver fin de cycle
description: ""
trigger:
  - type: power
    platform: device
    device_id: 5a6124afb763bed7fa8c25aaa11097fc
    entity_id: d4e6585c93459d3e50e96ee6821d661a
    domain: sensor
    for:
      hours: 0
      minutes: 1
      seconds: 0
    below: 10
condition:
  - condition: state
    entity_id: input_boolean.machine_a_laver
    state: "on"
action:
  - service: notify.mobile_app_kb2003
    data:
      title: Machine à laver
      message: Cycle terminé "{{ states('sensor.date_short_et_heure') }}"
  - service: input_boolean.turn_off
    target:
      entity_id: input_boolean.machine_a_laver
    data: {}
mode: single

```
