{"id":3528,"date":"2024-09-01T18:55:53","date_gmt":"2024-09-01T16:55:53","guid":{"rendered":"https:\/\/domo.rem81.com\/?p=3528"},"modified":"2025-10-04T17:26:29","modified_gmt":"2025-10-04T15:26:29","slug":"ha-mesurer-la-consommation-deau-de-ma-piscine-avec-un-esp8266-et-esphome","status":"publish","type":"post","link":"https:\/\/domo.rem81.com\/index.php\/2024\/09\/01\/ha-mesurer-la-consommation-deau-de-ma-piscine-avec-un-esp8266-et-esphome\/","title":{"rendered":"HA-Mesurer la consommation d\u2019eau de ma piscine avec un ESP8266 et ESPHome"},"content":{"rendered":"\n\n\n\n<h1 class=\"wp-block-heading\">Intro<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Dans cet article, je vous propose de d\u00e9couvrir un projet que j\u2019ai r\u00e9cemment mis en place pour surveiller la consommation d\u2019eau de ma piscine : un compteur d\u2019eau connect\u00e9 bas\u00e9 sur un ESP8266 (Wemos D1 Mini) et programm\u00e9 avec ESPHome. Ce petit dispositif me permet de suivre en temps r\u00e9el le d\u00e9bit d\u2019eau (en litres par minute) et le volume total consomm\u00e9 (en m\u00b3), directement depuis mon interface Home Assistant. Voici comment j\u2019ai proc\u00e9d\u00e9, avec le code complet et quelques explications pour vous aider \u00e0 reproduire ce projet chez vous !<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Pourquoi ce projet ?<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">En tant que passionn\u00e9 de domotique, j\u2019aime avoir un contr\u00f4le pr\u00e9cis sur les ressources de ma maison, y compris l\u2019eau utilis\u00e9e pour ma piscine. Que ce soit pour d\u00e9tecter une fuite, surveiller le remplissage ou simplement mieux g\u00e9rer ma consommation, ce compteur connect\u00e9 est une solution \u00e9conomique et efficace. Avec un capteur de d\u00e9bit d\u2019eau (mod\u00e8le USS-HS43TI), un ESP8266, et la puissance d\u2019ESPHome, j\u2019ai pu int\u00e9grer ces donn\u00e9es directement dans Home Assistant pour une visualisation et des automatisations simplifi\u00e9es.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Le mat\u00e9riel utilis\u00e9<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ESP8266 Wemos D1 Mini<\/strong> : Une petite carte compacte et abordable, parfaite pour les projets IoT.<\/li>\n\n\n\n<li><strong>Capteur de d\u00e9bit d\u2019eau USS-HS43TI<\/strong> : Ce capteur g\u00e9n\u00e8re des impulsions proportionnelles au d\u00e9bit d\u2019eau (8 impulsions par litre par minute, soit 477 Hz pour 1 litre).<a href=\"https:\/\/fr.aliexpress.com\/item\/4001114237345.html?spm=a2g0o.order_list.order_list_main.5.2b2f5e5bqBZrJQ&amp;gatewayAdapt=glo2fra\" data-type=\"link\" data-id=\"https:\/\/fr.aliexpress.com\/item\/4001114237345.html?spm=a2g0o.order_list.order_list_main.5.2b2f5e5bqBZrJQ&amp;gatewayAdapt=glo2fra\" target=\"_blank\" rel=\"noreferrer noopener\"> Ali Express<\/a><\/li>\n\n\n\n<li><strong>Quelques c\u00e2bles<\/strong> pour connecter le capteur \u00e0 la carte.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"299\" height=\"320\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/Capture-decran-du-2025-04-04-18-48-41.png\" alt=\"\" class=\"wp-image-3533\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/Capture-decran-du-2025-04-04-18-48-41.png 299w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/Capture-decran-du-2025-04-04-18-48-41-280x300.png 280w\" sizes=\"auto, (max-width: 299px) 100vw, 299px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Prendre une version 5 Vcc<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00e2blage :<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Prendre une alimentation ext\u00e9rieure \u00e0 l&rsquo;ESP sinon risque de le cramer, comme celle ci par exemple:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"460\" height=\"331\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2024\/09\/image-9.png\" alt=\"\" class=\"wp-image-4154\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2024\/09\/image-9.png 460w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2024\/09\/image-9-300x216.png 300w\" sizes=\"auto, (max-width: 460px) 100vw, 460px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Rouge: +5 VCC<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">jaune:  Signal connect\u00e9 au GPIO<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Noir: GND <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pr\u00e9voir un pont diviseur limitant la tension sur le GPIO (Max: 3.3V)<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Signal 5V ----&#091; R1 ]----+----&gt; GPIO ESP32 (3.3V max)\n                        |\n                       &#091; R2 ]\n                        |\n                       GND\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Choix des r\u00e9sistances<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">On applique la formule du pont diviseur :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"210\" height=\"48\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2024\/09\/image-6.png\" alt=\"\" class=\"wp-image-4151\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Vin = 5 V<\/li>\n\n\n\n<li>Vout \u2248 3,3 V<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udc49 Exemple pratique :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>R1 = 10 k\u03a9<\/li>\n\n\n\n<li>R2 = 20 k\u03a9<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Alors : <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"283\" height=\"67\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2024\/09\/image-7.png\" alt=\"\" class=\"wp-image-4152\"\/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Le code ESPHome<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Voici le programme complet que j\u2019ai utilis\u00e9 pour configurer mon ESP8266 avec ESPHome. Ce code est adapt\u00e9 \u00e0 mon r\u00e9seau local et \u00e0 mon capteur, mais vous pouvez facilement le modifier pour vos propres besoins.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La derni\u00e8re version est t\u00e9l\u00e9chargeable ici:  <a href=\"https:\/\/github.com\/remycrochon\/home-assistant\/blob\/master\/esphome\/esp173-compteur-eau-piscine.yaml\">https:\/\/github.com\/remycrochon\/home-assistant\/blob\/master\/esphome\/esp173-compteur-eau-piscine.yaml<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>substitutions:\n  device_name: esp173-cpt-eau-piscine\n  adress_ip: \"192.168.0.173\"\n  friendly_name: esp173\n  time_timezone: \"Europe\/Paris\"\n  \nesphome:\n  name: ${device_name}\nesp8266:\n  board: d1_mini\n  framework:\n    version: recommended  \n\n  \nwifi:\n  networks:\n    - ssid: !secret wifi\n      password: !secret mdpwifi\n  reboot_timeout: 5min\n  manual_ip:\n    static_ip: ${adress_ip}\n    gateway: 192.168.0.254\n    subnet: 255.255.255.0\n    dns1: 192.168.0.192\n    dns2: 192.168.0.37\n\n# Enable logging\nlogger:\n  level: INFO\n\n# Enable Home Assistant API\napi:\n\nota:\n  platform: esphome\n\nweb_server:\n  port: 80\n\nbinary_sensor:\n#Etat de la connection\n  - platform: status\n    name: \"${friendly_name}_Status\"\n\nsensor:\n  # USS-HS43TI\n  # F(Hz)= 8*flow rate(Q)(l\/min)\n  # 1L=477Hz,\n  # D4\n\n  - platform: pulse_meter\n    pin: RX\n    name: \"${friendly_name} Cpt Eau Piscine\"\n    unit_of_measurement: \"litre\/mn\"\n    icon: \"mdi:water\"\n\n    filters:\n      - lambda: return (x\/(8*60));\n    total:\n      name: \"${friendly_name} Cpt Eau Piscine Total\"\n      unit_of_measurement: \"m\u00b3\"\n      accuracy_decimals: 3\n      device_class: water\n      state_class: total_increasing\n      filters:\n        - lambda: return (x\/(8*60)\/1000);\n\n# Informations WI_FI\n  - platform: wifi_signal # Reports the WiFi signal strength\/RSSI in dB\n    name: \"${friendly_name} WiFi Signal dB\"\n    update_interval: 60s\n\n############### TEMPLATE  ######################\"\n# \n                    \nswitch:\n  - platform: restart\n    name: \"${friendly_name} Restart\"\n<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">Explications du code<\/h1>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Substitutions<\/strong> : J\u2019ai d\u00e9fini des variables comme le nom de l\u2019appareil (esp173-cpt-eau-piscine), son adresse IP statique (192.168.0.173), et un nom convivial (esp173) pour une meilleure lisibilit\u00e9 dans Home Assistant. Le fuseau horaire est r\u00e9gl\u00e9 sur Europe\/Paris.<\/li>\n\n\n\n<li><strong>Configuration de l\u2019ESP8266<\/strong> : J\u2019utilise une Wemos D1 Mini (board: d1_mini) avec la version recommand\u00e9e du framework ESPHome.<\/li>\n\n\n\n<li><strong>Connexion Wi-Fi<\/strong> : Le module se connecte \u00e0 mon r\u00e9seau Wi-Fi avec une IP statique pour \u00e9viter les conflits. Les identifiants Wi-Fi sont stock\u00e9s dans un fichier secrets.yaml (via !secret).<\/li>\n\n\n\n<li><strong>Capteur de d\u00e9bit<\/strong> :\n<ul class=\"wp-block-list\">\n<li>Le capteur USS-HS43TI est connect\u00e9 \u00e0 la broche RX (D4 sur la Wemos D1 Mini).<\/li>\n\n\n\n<li>J\u2019utilise le composant pulse_meter d\u2019ESPHome pour compter les impulsions g\u00e9n\u00e9r\u00e9es par le capteur.<\/li>\n\n\n\n<li>Le d\u00e9bit est calcul\u00e9 en litres par minute avec la formule x\/(8*60) (o\u00f9 x est le nombre d\u2019impulsions par seconde, 8 est le facteur du capteur, et 60 convertit les secondes en minutes).<\/li>\n\n\n\n<li>Le volume total (en m\u00b3) est obtenu avec x\/(8*60)\/1000 pour convertir les litres en m\u00e8tres cubes.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Autres capteurs et fonctionnalit\u00e9s<\/strong> :\n<ul class=\"wp-block-list\">\n<li>Un binary_sensor (status) me permet de v\u00e9rifier l\u2019\u00e9tat de la connexion de l\u2019ESP.<\/li>\n\n\n\n<li>Un capteur wifi_signal affiche la force du signal Wi-Fi en dB, mis \u00e0 jour toutes les 60 secondes.<\/li>\n\n\n\n<li>Un switch de red\u00e9marrage (restart) est ajout\u00e9 pour pouvoir red\u00e9marrer l\u2019ESP \u00e0 distance depuis Home Assistant.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Int\u00e9gration avec Home Assistant<\/strong> : Gr\u00e2ce au composant api, l\u2019ESP est automatiquement d\u00e9tect\u00e9 par Home Assistant. J\u2019ai aussi activ\u00e9 les mises \u00e0 jour OTA (ota) et un serveur web (web_server) pour acc\u00e9der \u00e0 l\u2019interface de l\u2019ESP via un navigateur.<\/li>\n<\/ol>\n\n\n\n<h1 class=\"wp-block-heading\">Int\u00e9gration dans Home Assistant<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Une fois le firmware t\u00e9l\u00e9vers\u00e9 sur l\u2019ESP8266 via ESPHome, l\u2019appareil est apparu automatiquement dans Home Assistant. J\u2019ai ensuite cr\u00e9\u00e9 un tableau de bord pour visualiser :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le d\u00e9bit instantan\u00e9 de l\u2019eau de la piscine (en litres par minute).<\/li>\n\n\n\n<li>Le volume total consomm\u00e9 (en m\u00b3), avec un historique pour suivre l\u2019\u00e9volution.<\/li>\n\n\n\n<li>La force du signal Wi-Fi, pour m\u2019assurer que l\u2019ESP reste bien connect\u00e9.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"409\" height=\"361\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image.png\" alt=\"\" class=\"wp-image-3536\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image.png 409w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/04\/image-300x265.png 300w\" sizes=\"auto, (max-width: 409px) 100vw, 409px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Ce que ce projet m\u2019apporte<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Ce compteur connect\u00e9 me permet de garder un \u0153il sur l\u2019eau utilis\u00e9e pour ma piscine, ce qui est particuli\u00e8rement utile pour d\u00e9tecter des anomalies (comme une fuite) ou pour mieux g\u00e9rer le remplissage. Les donn\u00e9es sont accessibles en temps r\u00e9el sur mon interface Home Assistant, et je peux m\u00eame configurer des notifications si le d\u00e9bit d\u00e9passe un certain seuil.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Conclusion<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous avez une piscine ou un autre syst\u00e8me \u00e0 surveiller, ce projet est un excellent moyen de vous initier \u00e0 ESPHome et \u00e0 la domotique DIY. Le mat\u00e9riel est abordable, et ESPHome rend la configuration accessible, m\u00eame pour les d\u00e9butants. N\u2019h\u00e9sitez pas \u00e0 adapter le code \u00e0 vos besoins et \u00e0 partager vos propres projets en commentaire !<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Liste des publications en lien avec cet article:<\/h1>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Filtration avec <a href=\"https:\/\/domo.rem81.com\/index.php\/2025\/03\/21\/ha-gestion-complete-dune-piscine-avec-esp32-et-esphome\/\" data-type=\"link\" data-id=\"https:\/\/domo.rem81.com\/index.php\/2025\/03\/21\/ha-gestion-complete-dune-piscine-avec-esp32-et-esphome\/\" target=\"_blank\" rel=\"noreferrer noopener\">ESPHome et ESP32<\/a><\/li>\n\n\n\n<li>Filtration avec \u00ab\u00a0<a href=\"https:\/\/domo.rem81.com\/index.php\/2022\/02\/02\/ha-gestion-piscine-1-filtration-avec-appdaemon-2\/\" target=\"_blank\" rel=\"noreferrer noopener\">AppDaemon\u00a0\u00bb<\/a><\/li>\n\n\n\n<li>Filtration avec \u00ab\u00a0<a href=\"https:\/\/domo.rem81.com\/index.php\/2021\/01\/20\/home-assistant-gestion-piscine-filtration-poolpump\/\" target=\"_blank\" rel=\"noreferrer noopener\">Pool Pump Manager<\/a>\u00ab\u00a0<\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2021\/02\/24\/home-assistant-gestion-piscine-2_mesure-de-puissance-electrique\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mesure de puissance \u00e9lectrique<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2021\/04\/02\/home-assistant-gestion-piscine-1_mise-a-niveau-automatique\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mise \u00e0 niveau automatique<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2021\/05\/11\/home-assistant-gestion-piscine-4_mesure-ph\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mesure du pH<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2021\/08\/14\/ha-gestion-piscine-5_regulation-du-ph\/\" target=\"_blank\" rel=\"noreferrer noopener\">R\u00e9gulation du Ph<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2021\/11\/30\/ha-gestion-piscine-6_mode-hors-gel\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mise Hors Gel<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2022\/05\/13\/ha-gestion-piscine-7_mesure-de-pression\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mesure de pression<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2025\/04\/04\/ha-mesurer-la-consommation-deau-de-ma-piscine-avec-un-esp8266-et-esphome\/\" data-type=\"link\" data-id=\"https:\/\/domo.rem81.com\/index.php\/2025\/04\/04\/ha-mesurer-la-consommation-deau-de-ma-piscine-avec-un-esp8266-et-esphome\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mesure consommation d&rsquo;eau<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2025\/04\/11\/ha-panneau-de-commande-pour-piscine-avec-un-esp32-openhasp-et-home-assistant\/\" data-type=\"link\" data-id=\"https:\/\/domo.rem81.com\/index.php\/2025\/04\/11\/ha-panneau-de-commande-pour-piscine-avec-un-esp32-openhasp-et-home-assistant\/\" target=\"_blank\" rel=\"noreferrer noopener\">Panneau de contr\u00f4le avec un ESP32<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2025\/04\/13\/ha-analyse-de-leau-de-piscine-avec-le-poollab-2-0-et-integration-dans-home-assistant\/\" data-type=\"link\" data-id=\"https:\/\/domo.rem81.com\/index.php\/2025\/04\/13\/ha-analyse-de-leau-de-piscine-avec-le-poollab-2-0-et-integration-dans-home-assistant\/\" target=\"_blank\" rel=\"noreferrer noopener\">Analyse de l&rsquo;eau avec PoolLAB2.0<\/a><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Intro Dans cet article, je vous propose de d\u00e9couvrir un projet que j\u2019ai r\u00e9cemment mis en place pour surveiller la consommation d\u2019eau de ma piscine : un compteur d\u2019eau connect\u00e9 &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[16,17,33],"class_list":["post-3528","post","type-post","status-publish","format-standard","hentry","category-homeassistant","tag-esp8266","tag-esphome","tag-piscine"],"_links":{"self":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/3528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/comments?post=3528"}],"version-history":[{"count":9,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/3528\/revisions"}],"predecessor-version":[{"id":4155,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/3528\/revisions\/4155"}],"wp:attachment":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/media?parent=3528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/categories?post=3528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/tags?post=3528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}