Incrémenter compteur si 1 litre consommé

Bonjour,

Ayant récupérer depuis peu l’information du débitmètre de mon adoucisseur (post ici), je souhaiterais pourvoir savoir à l’avance quand il va se régénérer.

Cette info serait utile pour plusieurs raison, si on doit partir en vacances et que l’on souhaite agir sur la vanne d’alimentation d’eau générale, si elle est fermé l’adoucisseur va pas aimer… On pourrait automatiquement l’ouvrir le temps de la régénération (vanne motorisé), ou bien ne pas lancer de machine à laver ou lave vaisselle car l’eau ne sera pas adoucie durant le régénération.

Ayant un adoucisseur volumétrique avec en plus un forçage calendaire je sais qu’il va se régénérer tous les 3200 Litres consommé ou tous les 14 Jours, la première échéance atteinte déclenchera la régénération.

L’idées serait donc de stocker la consommation journalière dans un compteur ( 1 litre consommé = j’incrémente de + 1 le compteur) et ensuite de déclencher un capteur binaire tous les 3200 Litres consommée (via un automatisme) puis de réinitialiser le compteur à 0 lorsque 3200L sont atteint et ont recommence, dans un second temps je verrai pour le délais de 14 jours.

Comme source d’info, je pense utiliser le capteur utility_meter (sensor.eau_consommation_annee) comme référence, il s’incrémente en temps réelle comme le capteur journalier et je n’aura pas de problème à 0h00 lors de la réinitialisation puisque ce capteur s’initialisera tout les 365 jours.

J’ai donc :

  • Mon capteur débimètre d’eau : sensor.eau_consommation_annee
  • Mon compteur à incrementer : counter.compteur_regeneration_adoucisseur

Je pense que la solution se trouve du côté des templates mais je sèche sur la manière de quoi renseigner …

Un exemple d’automatisme qui ne marche pas :

alias: Adoucisseur - incrémentation Compteur Régénération
description: ''
trigger:
  - platform: template
    value_template: >-
      {{ states('sensor.esp_adoucisseur_consommation_eau_du_jour') | float + 1
      }}
condition: []
action:
  - service: counter.increment
    target:
      entity_id: counter.compteur_regeneration_adoucisseur
mode: single

Merci d’avance pour votre aide.

Ma configuration


System Health

version core-2021.5.5
installation_type Home Assistant OS
dev false
hassio true
docker true
virtualenv false
python_version 3.8.9
os_name Linux
os_version 5.4.109
arch x86_64
timezone Europe/Paris
Home Assistant Community Store
GitHub API ok
Github API Calls Remaining 5000
Installed Version 1.12.3
Stage running
Available Repositories 836
Installed Repositories 24
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 5.13
update_channel stable
supervisor_version supervisor-2021.04.3
docker_version 19.03.15
disk_total 28.8 GB
disk_used 22.8 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons File editor (5.3.1), Samba share (9.5.0), SSH & Web Terminal (8.2.3), AdGuard Home (4.1.6), Node-RED (9.1.2), Duck DNS (1.12.5), NGINX Home Assistant SSL proxy (3.0.1), Mosquitto broker (6.0.1), OpenZWave (0.9.1), MariaDB (2.3.0), ESPHome (1.18.0)
Lovelace
dashboards 5
resources 12
views 78
mode storage
___

Je pense que tu as dis ce qu’il faut mais que tu ne fais pas ce que tu dis…:innocent: :sweat_smile:

Tu devrais donc faire un utility_meter avec le cycle à l’année.

Ensuite, lorsque celui-ci passe au dessus de 3199 , tu bascules un booléen à Vrai et tu remets l’utility_meter à zéro avec le service correspondant.

Puis, tu fais une automatisation qui se déclenche sur le passage à Vrai du booléen et dans les actions tu mets tes actions ou tes scripts.

Enfin, en dernière action de ton automatisation, tu bascules ton booléen à Faux.

Est-ce bien la logique que tu voulais ?

Merci pour la réponse, effectivement j’arrive pas à faire ce que je dit look

C’est bien la logique que je veux, j’avais pas pensé à réinitialiser l’utility meter, ça évite un compteur mais mes connaissances sont très light niveau template…

J’ai donc explorer la piste de l’utility_meter, premier problème, pas de service reset dans HA, seulement calibrate, il aurait été retiré ?

Je tente alors avec calibrate et la aucun utility_meter n’apparait dans la liste, pas grave je passe en yaml et met en value 0 (identique a reset) et là c’est bien OK !

Voilà l’automatisme:

alias: Adoucisseur - Régénération Prévue
description: ''
trigger:
  - platform: template
    value_template: '{{ states(''sensor.eau_consommation_regeneration'') | int > 3199 }}'
condition: []
action:
  - service: input_boolean.turn_on
    target:
      entity_id: input_boolean.adoucisseur_regeneration_prevue
  - service: utility_meter.calibrate
    data:
      entity_id: sensor.eau_consommation_regeneration
      value: 0
mode: single

Merci pour la piste :slight_smile:

SERVICE UTILITY_METER.RESET

Reset the Utility Meter. All sensors tracking tariffs will be reset to 0.

Pour utiliser ce service, il faut définir au moins un tarif :+1:

Ok, je comprend mieux, inutile dans mon cas :wink: merci