Vérifier l'évolution entre deux heures

via une automation, comment feriez vous pour mémoriser la valeur d’un compteur à une heure donnée et ensuite la comparer X heures plus tard pour générer une notification si un delta apparait entre les deux valeurs?
j’ai deux compteurs d’eau et je souhaite, comme je l’avais fait sous domoticz, verifier l’absence de consommation entre 1h00 et 5 h00 du matin, pour la détection des micro fuites.

Ma configuration


System Health

version core-2021.3.4
installation_type Home Assistant Supervised
dev false
hassio true
docker true
virtualenv false
python_version 3.8.7
os_name Linux
os_version 4.15.0-140-generic
arch x86_64
timezone Europe/Paris
Home Assistant Community Store
GitHub API ok
Github API Calls Remaining 4478
Installed Version 1.11.3
Stage running
Available Repositories 849
Installed Repositories 51
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Hass.io
host_os Ubuntu 18.04.5 LTS
update_channel stable
supervisor_version supervisor-2021.03.9
docker_version 20.10.5
disk_total 109.0 GB
disk_used 28.3 GB
healthy failed to load: Unhealthy
supported failed to load: Unsupported
supervisor_api ok
version_api ok
installed_addons File editor (5.2.0), Visual Studio Code (3.3.0), AppDaemon 4 (0.5.1), SSH & Web Terminal (8.1.1), Samba Backup (4.2), Samba share (9.3.1), InfluxDB (4.0.4), Log Viewer (0.9.1), Check Home Assistant configuration (3.6.0)
Lovelace
dashboards 1
resources 24
views 25
mode yaml

Soit à 1h sauvegarder la date/heure du dernier changement de l’entité ( exemple ici :Calcul intervalle de temps en jour pour notification - #4 par Clemalex) jusqu’à 5h (en activant une automatisation qui se déclenche sur changement d’état)

Sinon passer par un nombre (input_number) ou un capteur (template sensor) que tu écrit à 1h puis un doublon à 5h et enfin un dernier pour avoir le delta :

  • input_number.consommation_1h
  • input_number.consommation_5h
  • input_number.consommation_delta

Le dernier n’est pas obligatoire car on peux imaginer une notification à la place seulement si le delta est différent de zéro.

Je ferais la une et la deux…:innocent:

je ne pense jamais à créer des input_number ou sensors, j’ai toujours le reflexe de penser variable.
Merci pour tes suggestions Clemalex
voici ce que cela donne

##################################################################################
##################################################################################
##################################################################################
 #  _____ _   _ _____  _    _ _______   _   _ _    _ __  __ ____  ______ _____  
 # |_   _| \ | |  __ \| |  | |__   __| | \ | | |  | |  \/  |  _ \|  ____|  __ \ 
 #   | | |  \| | |__) | |  | |  | |    |  \| | |  | | \  / | |_) | |__  | |__) |
 #   | | | . ` |  ___/| |  | |  | |    | . ` | |  | | |\/| |  _ <|  __| |  _  / 
 #  _| |_| |\  | |    | |__| |  | |    | |\  | |__| | |  | | |_) | |____| | \ \ 
 # |_____|_| \_|_|     \____/   |_|    |_| \_|\____/|_|  |_|____/|______|_|  \_\
input_number:
# https://www.home-assistant.io/integrations/input_number/
##################################################################################
  eau_froide_1h:
    name: eau froide 1h
    initial: 0
    min: 0
    max: 9999999999
    mode: box
##################################################################################
##################################################################################
##################################################################################
 #          _    _ _______ ____  __  __       _______ _____ ____  _   _  _____ 
 #     /\  | |  | |__   __/ __ \|  \/  |   /\|__   __|_   _/ __ \| \ | |/ ____|
 #    /  \ | |  | |  | | | |  | | \  / |  /  \  | |    | || |  | |  \| | (___  
 #   / /\ \| |  | |  | | | |  | | |\/| | / /\ \ | |    | || |  | | . ` |\___ \ 
 #  / ____ \ |__| |  | | | |__| | |  | |/ ____ \| |   _| || |__| | |\  |____) |
 # /_/    \_\____/   |_|  \____/|_|  |_/_/    \_\_|  |_____\____/|_| \_|_____/ 
automation:
# https://www.home-assistant.io/integrations/automation/
##################################################################################
 
- id: "index eau 1h00"
  alias: index eau 1h00
  trigger:
    platform: time
    at: '01:00:00'
  action:
  -  service: input_number.set_value
     data_template:
       entity_id: input_number.eau_froide_1h
       value: "{{ states.sensor.compteur_eau_froide.state | float }}" 
       
- id: "notification fuite eau froide"
  alias: "notification fuite eau froide"
  trigger:  
    platform: time # https://www.home-assistant.io/docs/automation/trigger/#time-pattern-trigger
    at:
      - "05:40:00"
  condition:
  - condition: template 
    value_template: > 
      {{states.sensor.compteur_eau_froide.state | float > states.input_number.eau_froide_1h.state | float }}

  action:           
    - service: notify.HA
      data_template:
        message: "fuite d'eau froide détectée de {{(states.sensor.compteur_eau_froide.state | float - states.input_number.eau_froide_1h.state | float)*1000}} litre(s)"


2 « J'aime »