# Une solution complète de récupération des données Eau, Gaz et Electricite

**URL:** <https://forum.hacf.fr/t/une-solution-complete-de-recuperation-des-donnees-eau-gaz-et-electricite/6507>\
**Category:** Vos Projets\
**Created:** [Octobre 3, 2021, 9:28 UTC](https://forum.hacf.fr/t/une-solution-complete-de-recuperation-des-donnees-eau-gaz-et-electricite/6507 "2021-10-03T09:28:01Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![Pbranly](https://forum.hacf.fr/user_avatar/forum.hacf.fr/pbranly/32/1757_2.png) [@Pbranly](https://forum.hacf.fr/u/Pbranly)\
**Post date:** [Octobre 3, 2021, 9:28 UTC](https://forum.hacf.fr/t/une-solution-complete-de-recuperation-des-donnees-eau-gaz-et-electricite/6507/1 "2021-10-03T09:28:02Z")

</div>

Bonjour a tous

Introduction:

Ce post est la compilation en un seul système de la récupération de :

- 
  - La consommation d’eau

- 
  - La consommation de gaz

- 
  - La consommation électrique

**Contraintes:**

Mes 2 compteurs Linky et Gazpar sont situés à l’extérieur dans 2 niches normalisés scellées dans un mur de mon domicile . Le tableau électrique se situe à l’intérieur quasiment au même niveau que les compteurs extérieurs.

La télesignalisation du Linky passe au travers d’un trou de faible diamètre réalisé avec une mèche longue. Elle utilise le module décrit dans l’épousât suivant :

> [@Mon module de téléinformation (TIC) wifi vers MQTT pour compteur linky et autres](https://forum.hacf.fr/t/mon-module-de-teleinformation-tic-wifi-vers-mqtt-pour-compteur-linky-et-autres/4679):
>
> Bonjour à tous Depuis quelques temps (en fait la tout première version date d’au moins 6 ans^^) je récupère mes informations de consommation depuis mon compteur électrique grâce à la prise TIC et des modules à base d’arduino. Ca me permet d’avoir des jolis graphes et histogrammes pour voir la consommation instantannée / jour / semaine / mois, etc… avec des cards dans Home Assistant, ou dans Grafana que j’utilise aussi. Au fil du temps j’ai essayé de faire des modules deplus en plus propres et…

La télé signalisation du Gazpar passe par une l’utilisation d’un couple émetteur récepteur 433 MHz type télécommande . On trouvera la description de cette réalisation dans le post :

> [@Récupération Telesignalisation GAZPAR](https://forum.hacf.fr/t/recuperation-telesignalisation-gazpar/5930):
>
> Bonjour a tous Introduction: Possesseur d’un compteur Linky et d’un compteur Gazpar, je voulais récupérer les informations de télé signalisation disponibles sur leurs prises TIC. Si il existe pas mal de tutos traitant du Linky, il n’en n’est pas de même concernant le Gazpar. Contraintes: Mes 2 compteurs Linky et Gazpar sont situés à l’extérieur dans 2 niches normalisés scellées dans un mur de mon domicile . Le tableau électrique se situe à l’intérieur quasiment au même niveau que les compt…

Nota : pour ceux qui sont déjà équipés zigbee, j’ai vu une solution basée sur la récupération d’un interrupteur à pile IKEA. La portée doit cependant est plus faible.

La télé signalisation du compteur à eau est décrite dans le chapitre suivant.

**Principe de comptage des impulsions du compteur d’eau:**

Le compteur installé est de type Diehl Metering model 6250. Il comporte l’indication en petit « Ti » qui signifie comptage inductif.Une option fort chère existe sur le marché.

 ![image](https://forum.hacf.fr/uploads/default/original/2X/8/8d9394744c411b10b2e9d37eda72987e7c4f8af1.jpeg)

J’ai donc cherché les capteurs indicatifs capables reconnaître le passage de la ½ couronne métallique.

 ![image](https://forum.hacf.fr/uploads/default/original/2X/a/ab30ded780c1d14297c835073f98276f450ee40d.jpeg)

Mon choix s’est porté sur le modèle LJ18A3-8-Z/BX-5V qui peut fonctionner jusqu’à une tension aussi basse que 5 V et à une distance de détection de 4 mm environ

Je ne peux pas faire la description détaillée des composants nécessaires car ils dépendent pour beaucoup des composants déjà disponibles et de ce qu’on trouve dans les magasins de bricolage. Néanmoins il faut respecter plusieurs règles :

- 
  - L’ensemble ne doit apporter aucune modification au compteur existant dont on est pas propriétaire

- 
  - L’ensemble doit pouvoir être démontable rapidement

- 
  - Il doit toujours permettre la rotation du compteur, la lecture de son index.

- 
  - Enfin le réglage de axes verticaux et horizontaux doit être possible.

Si quelqu’un se lance dans la même réalisation avec le même compteur et dispose d’une imprimante 3D, je suis preneur !  
Lien pièce de fixation compteur : https ://www.thingiverse.com/thing:5418699

La photo ci-dessous montre l’ensemble réalisé :

 ![image](https://forum.hacf.fr/uploads/default/original/2X/1/19a077c83d69026e497d5715cf534cb65685fddf.jpeg)

**Branchement côté ESP32 :**

Le modèle utilisé fonctionne jusqu’à 5 Volts mais la tension de sortie est également de 5V. Il faut donc prévoir un abaisseur de tension 3,3 V. Cela se fait simplement en optimisants les resistances autour du capteur de facon a avoir environ 3.3 V

**Boîte complète comprenant l’ensemble :**

J’aurais pu utiliser d’une part un ESP plus petit, d’autre part ajouter la gestion du Linky en ESPHOME à l’ESP en plus de l’eau et du gaz. J’ai préféré garder une solution basée sur l’utilisation du teleinfokit qui envoi ses données en MQTT.

J’ai également séparé l’alimentation de l’ESP (eau + gaz) et teleinfokit ne connaissant pas la consommation en crête des 2 modules.

A ce sujet, j’avais au départ utilisé des alimentations 220/5 V trouvable chez un fournisseur allemand bien connu. Ces alimentation sont mortes après seulement quelques jours d’utilisation. Je me suis donc tourné vers la riche récupération du circuit imprimé de chargeur clone d’iPhone.

Le schéma ci dessous décrit le système complet. L’ensemble a été réalisé sur plaque epoxy type veroboard. Attention le schéma reprend la référence des alimentations de mauvaise qualité .

[

 ![eau et gaz test_schéma](https://forum.hacf.fr/uploads/default/original/2X/0/0ba889b1a18270e36b4e8a447d8d6016f7228e9d.jpeg)  
]

Les photos suivantes montrent comment tout rentre au chausse pied dans le boîtier

 ![image](https://forum.hacf.fr/uploads/default/original/2X/f/f5abcc2717b9799aafd9737a966ac16cadf09234.jpeg)

 ![image](https://forum.hacf.fr/uploads/default/original/2X/1/1f1df90daab4db145c5f2aa9839e787c401eb3b3.jpeg)

Les leds rouges renseignent sur la présence de l’alimentation

La led bleu émet un flash de 0,5s à chaque tour du compteur ( = 1 litre)

La led jaune émet un flash de 0,5s à chaque impulsion du compteur gaz ( = 10 litres)

La led verte émet un flash de 0,5s provenant d’un sensor de Home Assistant ( origine MQTT)

**Programme ESPHOME :**

```auto
substitutions:
  name: eau-gaz-electricite

esphome:
  name: ${name}
  platform: ESP32
  board: esp-wrover-kit

wifi:
  networks:
  - ssid: !secret SSID_ext
    password: !secret wifi_password
  - ssid: !secret SSID
    password: !secret wifi_password
# reboot_timeout: 15min
  reboot_timeout: 0s

# Optional manual IP
  manual_ip:
    static_ip: 192.168.1.62
    gateway: 192.168.1.1
    subnet: 255.255.255.0  
# Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "eau Fallback Hotspot"
    password: !secret wifi_fallback_password

captive_portal:

# Enable logging
logger:
  baud_rate: 0
  level: INFO
# level: DEBUG
  
# Enable Home Assistant API
api:
  password: !secret home_assistant_password
  
ota:
  password: !secret ota_password
  
web_server:
  port: 80
  
time:
  - platform: homeassistant
    id: homeassistant_time
    
# reset a minuit des sensors et transfert vers le sensor veille
    on_time:
      - seconds: 57
        minutes: 59
        hours: 23
        then:  

          - pulse_meter.set_total_pulses:
              id: capteur_inductif_eau_pulse
              value: 0

          - pulse_meter.set_total_pulses:
              id: gazpar
              value: 0  

# Definition des GPIOs servant aux Leds d'activite eau, gaz et electricite 
output:
# Eau
  - platform: gpio
    pin: GPIO15
    id: output_blue

# Gazpar
  - platform: gpio
    pin: GPIO16
    id: output_yellow
# Linky
  - platform: gpio
    pin: GPIO17
    id: output_green
    
    
# déclaration des sensors numérique

sensor:
  - platform: wifi_signal
    name: "WiFi Signal Sensor"
    update_interval: 60s
    unit_of_measurement: dB
    accuracy_decimals: 0
    force_update: false
    icon: mdi:wifi
  - platform: uptime
    id: uptime_seconds
    name: "Uptime Sensor"
    update_interval: 60s
    unit_of_measurement: s
    accuracy_decimals: 0
    force_update: false
    icon: mdi:timer
 
    
  
########### EAU ##################################################################################  
# Debit detecteur compteur d´eau
  - platform: pulse_meter
    id: capteur_inductif_eau_pulse
    pin: 
      number: GPIO25
      mode: INPUT_PULLUP
    name: "Debit compteur d'eau"
    unit_of_measurement: "l/mn"
    icon: mdi:water
    internal_filter: 200ms

#########################
# Consommation Totale d'Eau Jour
    total:
      name: "Compteur Eau Jour"
      icon: mdi:water
      device_class: water   
      unit_of_measurement: 'L'
      accuracy_decimals: 0
      filters:
        - multiply: 1 # (pour resrer en l)
      id: compteur_eau_jour
      
#########################
 ######################### 
# Consommation eau du jour en m3
  - platform: template
    name: "Compteur eau Jour m3"
    lambda: |-
      return id(compteur_eau_jour).state * 0.001;
    device_class: water
    unit_of_measurement: "m³"
    accuracy_decimals: 3 
    id: compteur_eau_jour_m3
    state_class: total_increasing

########### EAU ############################################################################### 

########### GAZ ###############################################################################
# Consommation gaz
  - platform: pulse_meter
    id: gazpar
    pin:
      number: GPIO26
# mode: INPUT_PULLDOWN ########################################################################################################################################
    unit_of_measurement: "l/mn"
    icon: mdi:gas
    internal_filter: 100ms
    name: "Debit Gazpar TIC"
    state_class: measurement
    filters:
       - multiply: 10 # (pour avoir des l/min)

      
#########################
# Consommation Total gaz Jour
    total:
      unit_of_measurement: "m³"
      name: 'Gazpar Gaz Jour'
      filters:
        - multiply: 0.01 # (pour avoir des m3)
      accuracy_decimals: 3
      icon: mdi:fire
      id: gazpar_gaz_jour
      device_class: "gas"
      
      
######################### 
# Puissance Total gaz du jour
  - platform: template
    name: "Gazpar Puissance Gaz Jour"
    lambda: |-
      return id(gazpar_gaz_jour).state * 10.01;
    device_class: energy
    unit_of_measurement: "kWh"
    accuracy_decimals: 3 
    id: gazpar_puissance_gaz_jour
    state_class: total_increasing
    
   
########### GAZ ###############################################################################

##################################################################################################################################################################
#Report Consommation electrique depuis teleinfokit vers Led verte
# Consommation electricité depuis teleinfokit linky
  - platform: homeassistant
    name: "Index Linky kWh"
    entity_id: sensor.linky_index
    accuracy_decimals: 3
 
    on_value:
      then:
       - output.turn_on: output_green
       - delay: 0.5s
       - output.turn_off: output_green

    
binary_sensor:

# Statut de l'ESP
  - platform: status
    name: "Eau, Gaz et Electricite (Statut)" 
    
# etat du capteur Inductif compteur eau brut     
  - platform: gpio
    pin:
      number: GPIO05
      mode: INPUT_PULLUP
    name: "Capteur Inductif eau"
    device_class: window 
# Report Consommation eau vers Led bleue    
# on_state:
    on_press:
      then:
       - output.turn_on: output_blue
       - delay: 0.5s
       - output.turn_off: output_blue
       
# etat du capteur Inductif compteur eau pulse 500ms   
  - platform: gpio
    pin:
      number: GPIO25
      mode: INPUT_PULLUP
      inverted: true
    name: "Capteur Inductif eau pulse"
    device_class: window 

       
# etat du TIC Gazpar brut    
  - platform: gpio
    pin:
      number: GPIO26
      inverted: true
    name: "Capteur TIC Gazpar"
    device_class: window
    # Report Consommation eau vers Led jaune
    on_press:
      then:
       - output.turn_on: output_yellow
       - delay: 0.5s
       - output.turn_off: output_yellow
    
switch:
  - platform: restart
    name: "${name} reboot"

text_sensor:
  - platform: template
    name: ${name} - Uptime
    update_interval: 60s
    icon: mdi:clock-start
    lambda: |-
      int seconds = (id(uptime_seconds).state);
      int days = seconds / (24 * 3600);
      seconds = seconds % (24 * 3600);
      int hours = seconds / 3600;
      seconds = seconds % 3600;
      int minutes = seconds / 60;
      seconds = seconds % 60;
      if ( days ) {
        return { (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
      } else if ( hours ) {
        return { (String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
      } else if ( minutes ) {
        return { (String(minutes) +"m "+ String(seconds) +"s").c_str() };
      } else {
        return { (String(seconds) +"s").c_str() };
      }
      
################################################################################################      

    

 
    

```

**Conclusion** :

A la date de rédaction de ce post, l’ensemble fonctionne parfaitement.

Je reste à votre disposition pour tout complément d’information

Edit 20211022 : refonte du code + simplifications electroniques  
Edit 20221028: ajout lien fabrication support plastique compteur  
Edit 20221028: mise a jour code

---

_[View the full topic](https://forum.hacf.fr/t/une-solution-complete-de-recuperation-des-donnees-eau-gaz-et-electricite/6507)._
