Hello hello,
Merci beaucoup pour vos messages ! C’est top ce que vous avez fait 
Je me suis pas mal inspiré de ce que vous m’avez donné et ça ma aidé à faire ma propre version qui répond parfaitement à mon besoin.
Ca me donne ça sur HA :
Avec les notifications sur Smarphone :
Je vais donc tenter d’expliquer ce que j’ai fait, cela pourra peut-être, et je l’espère, en aider certains.
Ma problématique initiale était de détecter la fin d’un cycle de lavage de lave vaisselle. Due au fonctionnement de celui ci, je ne pouvais pas simplement détecter lorsque sa puissance instantanée passe à Zéro comme ce que je fais pour mon lave linge (raison expliqué plus haut). Le seul moyen que j’ai trouvé est de me référer aux différents cycles de puissance remonté par ma prise connectée, et de déterminer la fin du cyle de lavage au bout d’un certain nombre de cycle (voir photo premier post), cycle que j’appelerai front dans la suite. Je souhaitais aussi être averti très rapidement après la fin de mon lavage, la technique d’attendre que la machine soit à 0W pendant + de 30min pour ensuite être alerté ne me convenait pas totalement …
Voila comment fonctionne mon machin :
Mon seuil de puissance sera 5W, c’est à dire que lorsque la puissance du LV augmente et traverse ce seuil, ou que la puissance baisse et traverse ce seuil, je compterai cela comme un front (montant ou descendant). Au bout de 14 front dans mon cas, mon lavage est terminé.
Donc grossièrement :
1- Mon LV démarre, sa puissance consommée passe au dessus de 5W, un front est détecté, j’incrémente mon compteur de front via une automatisation
2- Le nombre de front est compris entre 1 et 13, le status de mon LV passe à “Running”
3- La puissance de mon LV va de nouveau passer en dessus de mon seuil de 5W, front descendant → incrémentation de mon compteur
4- Répétition jusqu’a ce que le dernier front soit détecté, passage du compteur à 14.
5- Le nombre de front n’est plus compris entre 1 et 13, ma machine passe à “Not Running”
6 - Une automatisation est déclenchée lorsque le status de la machine passe de “Running” à “Not Running”, cela déclenche une notification ainsi que le reset du compteur de front.
En prime, j’ai un compteur qui me donne la consommation d’énergie du cycle, ainsi que le coût en “€” du cycle.
Voila les codes associés aux différentes briques :
Un capteur binaire qui me donne le status de mon LV en fonction du compteur du nombre de front.
template:
binary_sensor:
- state: "
{% set cycle = states('counter.compteur_cycle_lave_vaisselle') %}
{% if cycle | int >= 1 and cycle | int <= 13-%}
on
{%- else -%}
off
{%- endif %}"
name: "Lavage en cours vaisselle"
unique_id: dishwasher_is_running
device_class: running
Deux sensors, un qui me donne le coût du dernier cycle de lavage, et un qui me donne son temps d’éxecution.
sensor:
- state: "
{% set price = 0.23 | float %}
{% set prix = states('sensor.conso_dernier_cycle_lave_vaisselle_kwh') | float * price %}
{{prix | round(2)}}
"
name: "Cout dernier cycle lave vaisselle"
unique_id: dishwashing_cost
unit_of_measurement: "€"
- state: "
{% set debut = as_local(state_attr('automation.lancement_lave_vaisselle', 'last_triggered')) %}
{% set fin = as_local(state_attr('automation.cycle_lave_vaisselle_termine', 'last_triggered')) %}
{% set time_now = as_local(now()) %}
{% if is_state('binary_sensor.lavage_en_cours_vaisselle', 'on') -%}
{% set secondes = (time_now-debut).total_seconds() | round | int%}
{%- else -%}
{% set secondes = (fin-debut).total_seconds() | round | int%}
{%- endif %}
{% set hour = (secondes / 3600) | float | round(0,'floor') %}
{% set min = ((secondes % 3600)/60) | float | round (0,'floor') %}
{% set sec = ((secondes % 3600)%60) | float | round (0,'floor') %}
{{ '%02i:%02i'%(hour, min) }}
"
name: "Duree dernier cycle lave vaisselle"
unique_id: dishwashing_time
Un sensor qui va me compter l’énergie totale consommée par mon LV en faisant une intégrale de la puissance instantannée :
sensor:
- platform: integration
name: energie_conso_lave_vaisselle_kwh
source: sensor.prise_nous_2_active_power
unit_prefix: k
method: left
round: 2
Issue de : Integration - Riemann sum integral - Home Assistant
Un utility_meter qui va me permettre de compter l’énergie consommée durant mon lavage, puis de remettre à zero au début du cycle suivant.
utility_meter:
conso_dernier_cycle_lave_vaisselle_kwh:
source: sensor.energie_conso_lave_vaisselle_kwh
unique_id: conso_dernier_cycle_lv
cycle: monthly
Issue de : Utility Meter - Home Assistant
Un compteur qui me permettra de compter mon nombre de front durant mon lavage.
counter:
compteur_cycle_lave_vaisselle:
name: "compteur_lave_vaisselle"
initial: 0
step: 1
Automatisation déclenchée au lancement d’un cycle de LV.
- id: '1694642123355'
alias: Lancement lave vaisselle
description: ''
trigger:
- platform: state
entity_id:
- binary_sensor.lavage_en_cours_vaisselle
from: 'off'
to: 'on'
condition: []
action:
- service: notify.mobile_app_iphone_de_XXX
data:
message: Lavage lancé ! ⚡️
title: Lave vaisselle
- service: utility_meter.calibrate
data:
value: '0'
target:
entity_id: sensor.conso_dernier_cycle_lave_vaisselle_kwh
mode: single
Automatisation déclenchée pour incrémenter le compteur de front.
- id: '1694637497215'
alias: 'Incrémentation cycle lave vaiselle '
description: ''
trigger:
- platform: numeric_state
entity_id: sensor.prise_nous_2_active_power
below: 5
- platform: numeric_state
entity_id: sensor.prise_nous_2_active_power
above: 5
condition: []
action:
- service: counter.increment
data: {}
target:
entity_id: counter.compteur_cycle_lave_vaisselle
mode: single
Automatisation déclenchée à la fin d’un cycle de LV.
- id: '1694642228875'
alias: Cycle lave vaisselle termine
description: ''
trigger:
- platform: state
entity_id:
- binary_sensor.lavage_en_cours_vaisselle
from: 'on'
to: 'off'
condition: []
action:
- service: notify.mobile_app_iphone_de_XXX
data:
title: Lave vaisselle
message: Lavage terminé ! ✅
- service: counter.reset
data: {}
target:
entity_id: counter.compteur_cycle_lave_vaisselle
mode: single
Jespère que ça pourra en aider quelque un, la limite de cette méthode est qu’il faut saisir manuellement le nombre de front d’un cycle de lavage. Dans mon cas j’utilise constamment le même cycle, ça ne me pose pas de soucis.
N’hésitez pas si vous avez des questions ou des remarques pour améliorer le système.
Enjoy,
Vic.