# Flow debimeter avec ESP32

**URL:** <https://forum.hacf.fr/t/flow-debimeter-avec-esp32/11656>\
**Category:** Entraide Home Assistant\
**Created:** [Juin 6, 2022, 7:39 UTC](https://forum.hacf.fr/t/flow-debimeter-avec-esp32/11656 "2022-06-06T19:39:24Z")\
**Posts on this page:** 1\
**Showing post:** 22

<div class="post-metadata">

**Author:** ![pascal\_ha](https://forum.hacf.fr/user_avatar/forum.hacf.fr/pascal_ha/32/10823_2.png) [@pascal\_ha](https://forum.hacf.fr/u/pascal_ha)\
**Post date:** [Janvier 7, 2024, 7:28 UTC](https://forum.hacf.fr/t/flow-debimeter-avec-esp32/11656/22 "2024-01-07T19:28:34Z")

</div>

normalement si tu n’a pas de tirage d’eau au bout d’une minute tu devrais avoir 0 l/mm

Pour mon compteur, Je me suis inspirée de ce sujet : [Une solution complète de récupération des données Eau, Gaz et Electricite](https://forum.hacf.fr/t/une-solution-complete-de-recuperation-des-donnees-eau-gaz-et-electricite/6507)

Mais tu as aussi cet article de Argonaute :

> **[Gestion de la consommation d'eau avec Home Assistant](https://www.hacf.fr/gestion-eau/)**
>
> Maîtriser sa consommation d'eau est essentielle dans le contexte actuel. Cet article présente des solutions pour mettre en place un compteur connecté, afficher ses consommations d'eau et coûts associés dans Home Assistant, et enfin détecter les...

voici mon code, Je me sert de pulse-meter pour avoir l’information de débit l/mm, mais pour le comptage je me sert du binary\_sensor, car j’utilise un compteur à impulsion (1L par impulsion) et pas un compteur à effet hall.

J’utilise ce code avec un shelly uni, il faudra adapté les GPIO pour ton Esp

> **mon code**
>
> ```yaml
> esphome:
> name: shelly-uni 
> 
> esp8266:
> board: esp01_1m
> 
> # Enable logging
> logger:
> 
> # Enable Home Assistant API
> api:
> encryption:
> key: !secret api_key
> 
> ota:
> password: !secret ota_password 
> 
> # Enable Web server (optional).
> web_server:
> port: 80
> auth:
> username: !secret auth_login
> password: !secret auth_password
> 
> # Wifi Config
> wifi:
> ssid: !secret wifi_ssid
> password: !secret wifi_password
>   
> # ...
> manual_ip:
> # Set this to the IP of the ESP
> static_ip: !secret ip_su1
> # Set this to the IP address of the router. Often ends with .1
> gateway: !secret ip_gateway
> # The subnet of the network. 255.255.255.0 works for most home networks.
> subnet: 255.255.255.0  
> 
> # Enable fallback hotspot (captive portal) in case wifi connection fails
> ap:
> ssid: "Shelly-Uni Fallback Hotspot" #!secret ap_ssid_su1  
> password: !secret ap_password_su1 
> 
> captive_portal:
> 
> ##########################
> # Device Specific Config
> ##########################
> 
> # Name device mask
> substitutions:
> 
> friendly_name1: "Sensor ECS"
> friendly_name2: "Compteur ECS"
> 
> globals:
>     
> - id: ecs_pulse_counter
> type: float #Le counter n'est pas integer car il sert aussi pour la division m3
> initial_value: "0" 
> 
> #################
> # Binary Sensor #
> #################
> 
> # Binary sensor utilisé pour comptage des impulsions et Totalisateur
> binary_sensor:
> 
> - platform: gpio
> pin:
> number: GPIO13
> allow_other_uses: true
> mode: INPUT_PULLUP
> inverted: True
> filters:
> - delayed_on: 50ms
> - delayed_off: 50ms 
> name: "${friendly_name1} counter state"
> id: ecs_counter_state
> 
> on_press:
> then: 
> - lambda: |-
> // increment le compteur ECS puis publish mqtt
> id(ecs_pulse_counter) += 1;
> id(ecs_counter_pulse).publish_state(id(ecs_pulse_counter));
> id(ecs_counter_l).publish_state(id(ecs_pulse_counter)/1);
> id(ecs_counter_m3).publish_state(id(ecs_pulse_counter)/1000);
> 
>    
> ####################################
> # Sensors with general information.
> ####################################
> sensor:
> 
> # Débit d'eau instantané l/mm (0 après 10s)
> # Ne pas utiliser pour comptage (comptage erroné)
> - platform: pulse_meter
> name: "${friendly_name1} pulse"
> id: pulse_id_ecs
> pin:
> number: GPIO13
> allow_other_uses: true
> inverted: true
> mode:
> input: true
> pullup: true
> internal_filter: 500ms    
> icon: mdi:water
> timeout: 300s
> unit_of_measurement: 'L/mn'
> filters:
> - multiply: 1
> 
> # Comptage impulsion  
> - platform: template
> name: "${friendly_name2} counter pulse"
> id: ecs_counter_pulse
> unit_of_measurement: ''
> accuracy_decimals: 0 # Précision en entiers
> icon: "mdi:counter"
> #update_interval: 5s # Mise à jour sur changement de valeur
> 
>  
> # Comptage litres 
> - platform: template
> name: "${friendly_name2} counter l"
> id: ecs_counter_l
> unit_of_measurement: 'L'
> accuracy_decimals: 0 # Précision en entiers
> state_class: total_increasing    
> device_class: water
> 
> # Comptage m³ (utilisé pour le compteur services HA)
> - platform: template
> name: "${friendly_name2} counter m3"
> id: ecs_counter_m3
> unit_of_measurement: 'm³'
> accuracy_decimals: 3 # Précision en entiers
> state_class: total_increasing
> device_class: water    
>       
> ############Pour Flash shelly uni -- Tasmota --- Esphome-- mode OTA
> # https://ghost.canaletto.fr/flasher-un-shelly-1-avec-esphome/
> # http://shellyip/ota?url=http://dl.dasker.eu/firmware/mg2tasmota-ShellyUni.zip   
> 
> ```

---

_[View the full topic](https://forum.hacf.fr/t/flow-debimeter-avec-esp32/11656)._
