[Article] Gestion de sa consommation d'eau

Salut,

Sur mon compteur gianola 1L, j’ai mis comme time out : 100s pour le pulse-meter afin d’avoir un résultat (5s c’est trop court pour le gianola)

Contrairement au compteur a effet Hall qui donne plusieurs impulsions par litre (entre 25 et 30), le compteur gianola ne donne des impulsions qu’a chaque litres.

Exemple si le débit est de 1 l/mm et que le robinet est ouvert sur 30s, le compteur fournira 0 impulsion, donc débit 0 l/mm.

Alors que le compteur a effet Hall aura lui envoyé des impulsions et donc esp pourra calculer le débit.

Le gianola est très bien pour le comptage, mais pour avoir un calcul de débit instantanée <1l/mm c’est pas assez précis.
Le gianola 0,25/mm est certainement mieux.

Voici ce que j’obtiens :

2 « J'aime »

Merci pour ce retour et tes explications.
Je comprends pour le débit et l’usage/1h donc que ce n’est pas possible avec un compteur à 1 L/impulsion.
Qu’en est-il du log des derniers tirages ? Est ce que l’on ne peut pas allonger le délai pour malgré tout tracer les tirages même si c’est moins précis ?

Par ailleurs je vais essayer d’afficher une petite « animation » me permettant de voir quand j’ai un tirage d’eau (quelque soit son volume/débit)

Pour le débit, tu peux avoir une valeur mais qui ne sera pas vraiment de l’instantané.

Pour le ratio usage comme tu peux le voir j’ai une valeur qui est un peu plus fiable car réalisé pour 1h de tirage.

Le tirage me permet de voir si j’ai une fuite permanente, car dans ce cas il ne retombe jamais a zéro.

Pour mon alerte fuite, je me base sur une conso moyenne jour. Si elle dépasse je reçois un message.

1 « J'aime »

Bonjour, j’ai suivi le très bon tuto, d’ailleurs un grand merci pour ce site.
j’ai un compteur 0.25L/imp. sur un ESP8266 mini et tout fonctionnait bien jusqu’à quelques jours.
j’ai le débit d’eau qui s’affole dans HA sans aucune raison.
le compteur ne bouge pas, le totaliseur dans HA non plus…
auriez vous une piste ?

merci d’avance.

Hello tout le monde,

Depuis la dernière version de ESPHome, le comptage d’eau s’est mis à dysfonctionner. Dans mon code initial, j’utilisai 1 seul port (GPIO25) pour à la fois le calcul du débit et de la consommation. Je me suis aperçu qu’en utilisant non pas 1 mais 2 ports en entrée et connectés ensembles (GPIO25 pour débit et GPIO26 pour consommation), il n’y avait plus de problèmes.
Je conseille donc de faire cela.

J’ai modifié l’article en conséquence et proposé une évolution du code.

N’hésitez pas à me faire vos retours.

Salut

Si j’ai bien compris, tu as attribué un GPIO pour le débit et un autre GPIO pour la consommation dans la programmation de ESP.
Mais sur ESP, tu as donc branché comment ?

Hello,
Effectivement.
J’ai juste relié entre eux les 2 ports (ils sont à côté, ça tombe bien). Ils sont ensuite connectés à un des fils du compteur comme l’était le port GPIO25 seul.
Dans le code, on n’a plus à mettre allow_other_uses = true dans la définition de chaque sensor du coup puisque chaque sensor a son port.

Salut @Argonaute

Je viens de faire la modification sur ESP32 qui gère mes compteurs. Je vais observer le comportement.

J’ai un Shelly uni, que j’ai passé sous ESPHOME, je n’ai pas fait la modification, car je n’ai pas de GPIO de libre (sur un Shelly les gpio peu nombreux). Mais jusqu’à présent, je n’ai rien remarqué.

Quels genre de dysfonctionnement ?

Hello,
Ok. Après la dernière mise à jour de ESPHome, le débit fonctionnait mais plus la consommation.

J’ai suivi le tuto en utilisant les 2 GPIOs. J’ai fait un Y sur le câble qui vient au GPIO et le débit me sort des variations fantômes en permanence. J’ai tenté de remettre sur un seul port GPIO avec le paramètre allow_other_uses: true.
Mais cela reste pareil.
La conso elle fonctionne parfaitement.
Je ne sais pas trop quoi tester.

Étonnant, le problème doit venir d’ailleurs du coup :

  • câble trop long
  • Mauvaise alimentation. En essayer une autre
  • Perturbation électro magnétique : utiliser un câble blindé si besoin, éloigner de sources qui pourraient perturber.
  • pb de masse
  • pb d’ESP

Tu peux aussi rajouter une résistance pull up (10k entre gpio et VCC) ou pull down mais normalement l’esp l’intègre et ce n’est pas nécessaire.

Quel compteur d’eau utilises tu ?
As tu le pb sans le câble ? Avec le câble non relié au compteur ?

Je vais tenter le remplacement d’alim ce soir.
Pour le câble trop long, l’impact devrait être vrai aussi pour la partie comptage d’eau non ?
Pareil pour les perturbations électro magnétiques.
Pour le pb d’ESP, j’ai fait la manip de mettre sur le même GPIO et ça perdure. Je ne vois pas pourquoi sauf si j’ai un pb de code :

esphome:
  name: espbt
  friendly_name: Esp BT

esp32:
  board: esp32dev
  framework:
    type: esp-idf

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "GlmXYrzLcLWZtbopXBMjAkIj5RuWUFw9v25PkQUmG4I="

ota:
- platform: esphome
  password: "9fbd425d4b5e463ae36f8fe47dc2d462"


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: 192.168.2.70
    gateway: 192.168.2.1
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp-Bt Fallback Hotspot"
    password: "o4DTobaYEdLA"

captive_portal:
  
web_server:

esp32_ble_tracker:

sensor:
  - platform: atc_mithermometer
    mac_address: "A4:C1:38:DB:AA:2F"
    temperature:
      name: "ATC Temperature SDJ"
    humidity:
      name: "ATC Humidity SDJ"
    battery_level:
      name: "ATC Battery-Level SDJ"
    battery_voltage:
      name: "ATC Battery-Voltage SDJ"
    signal_strength:
      name: "ATC Signal SDJ"
  - platform: atc_mithermometer
    mac_address: "A4:C1:38:8E:0A:6A"
    temperature:
      name: "ATC Temperature couloir"
    humidity:
      name: "ATC Humidity couloir"
    battery_level:
      name: "ATC Battery-Level couloir"
    battery_voltage:
      name: "ATC Battery-Voltage couloir"
    signal_strength:
      name: "ATC Signal couloir"
  - platform: atc_mithermometer
    mac_address: "A4:C1:38:94:D1:55"
    temperature:
      name: "ATC Temperature cuisine"
    humidity:
      name: "ATC Humidity cuisine"
    battery_level:
      name: "ATC Battery-Level cuisine"
    battery_voltage:
      name: "ATC Battery-Voltage cuisine"
    signal_strength:
      name: "ATC Signal cuisine"
  - platform: atc_mithermometer
    mac_address: "A4:C1:38:F1:6F:C2"
    temperature:
      name: "ATC Temperature suite amis"
    humidity:
      name: "ATC Humidity suite amis"
    battery_level:
      name: "ATC Battery-Level suite amis"
    battery_voltage:
      name: "ATC Battery-Voltage suite amis"
    signal_strength:
      name: "ATC Signal suite amis"
  - platform: xiaomi_lywsdcgq
    mac_address: "4C:65:A8:D2:2D:B6"
    temperature:
      name: "Baie Température"
    humidity:
      name: "Baie Humidité"
    battery_level:
      name: "Baie Battery Level"
  - platform: dht
    pin: GPIO21
    model: DHT22
    temperature:
      name: "Cellier Temperature"
    humidity:
      name: "Cellier Humidité"
    update_interval: 60s
  # Débit d'eau instantané (0 après 10s)
  - platform: pulse_meter
    name: "Debit eau froide"
    pin:
      number: GPIO26
      inverted: true
      allow_other_uses: true
      mode:
        input: true
        pullup: true
    internal_filter: 100ms
    icon: mdi:water
    timeout: 5s
    unit_of_measurement: 'l/mn'

  - platform: template
    name: "Compteur Litres Debug"
    lambda: |-
      return id(ef_compteur_litres);
    update_interval: 10s

    # Comptage en m³
  - platform: template
    name: "Consommation eau froide"
    id: ef_compteur_m3
    unit_of_measurement: 'm³'
    accuracy_decimals: 5
    state_class: total_increasing
    device_class: water 
    lambda: |-
      return id(ef_compteur_litres) / 1000.0;
    update_interval: never

globals:
  # Variable interne pour compter nombre litres
  - id: ef_compteur_litres
    type: float
    initial_value: "0"

binary_sensor:
  # comptage du nombre de litres : 1 impulsion ajoute 0.25
  - platform: gpio
    id: ef_pulse
    name: pulsations
    pin:
      number: GPIO26
      allow_other_uses: true
      mode: INPUT_PULLUP
      inverted: True
    filters:
      - delayed_on: 50ms
      - delayed_off: 50ms 
    on_press:
      then:
        - lambda: |-
            id(ef_compteur_litres) += 1;
        - component.update: ef_compteur_m3

switch:
  # Switch permettant de redémarrer ESP
  - platform: restart
    name: "esp_eau_reboot"

Mon compteur d’eau est le gianola 1L/imp.
Il fonctionne parfaitement depuis longtemps. Je l’utilisais avec le GCE Ecodevice sans souci depuis plusieurs années.

Pour la résistance de pull up, j’y ai pensé. Peut-être que l’ESP a un souci à ce niveau là. Je peux essayer.
Je vais tester aussi en virant le câble. Je te dis.
Merci en tout cas de prendre le temps de regarder mon souci. :grinning:

EDIT :
Je viens de tester en débancher les câbles (les 2 du coup) et plus de perturbations ni d’implusions.
Je pense en effet que c’est un souci de pull up car j’ai souvenir de voir le binary sensor pulsation rester allumé.

Je vois aussi une différence dans le paramétrage avec :

  filters:
      - delayed_on: 50ms
      - delayed_off: 50ms 

Ce paramétrage pour éviter les soucis de « bounce » qui pourraient se retrouver sur le sensor de débit du coup.
Je pense qu’il faut que je tente la résistance de pull up. Je vais voir si j’ai le temps ce midi.

1 « J'aime »

N’hésite pas à tester en simulant les impulsions en faisant contact à la main, avec les 2 fils, sans le compteur. Cela permettra d’éliminer un pb de compteur (et économiser l’eau). Teste en mettant un câble court, en changeant l’emplacement de l’ESP, etc

Effectivement les paramètres Delayed_xx permettent de supprimer un pb de rebond. A tester dans un second temps.

Alors j’ai changé l’alim le câble d’alim et déplacé le boitier. C’était mieux (nettement) mais pas encore parfait. Du coup, je viens de rajouter une résistance de pullup et là, ça a l’air parfait. J’attends ce soir de voir les valeurs mais ça me semble prometteur. Probablement que mon ESP a un souci avec sa résistance interne de pullup.
Merci pour le coup de main !

1 « J'aime »

Bon ce n’est toujours pas parfait. Je vais tenter de raccorder avec un câble très court. A suivre.

Salut

Quelques mois plus tard, est-ce que ceux qui ont un compteur giaonola sont toujours contents ?

Sur Domadoo, les avis sont mitigés.

Merci

Salut,

J’ai deux compteurs gianola impulsion 1l ,raccordé sur des ESP32 depuis environ 2 ans et j’ai pas de souci.

J’ai pas eu cette impression…

Salut

Le miens est reparti chez CGE quelques jours avant la fin de la garantie.
Il était fiable dans la mesure mais parfois il se bloquait. J’ai d’abord cru que c’était le capteur, mais physiquement les aiguilles ne bougeaient même plus.
Ça repartait en faisant couler un peu d’eau en sens inverse.
Pourtant monté en horizontal, derrière la filtration, mais au bout du 4eme démontage j’en ai eu marre.

Donc avis plus que mitigé !

Un appareil défectueux ça peut arriver, pour l’instant pas de souci dans mon cas.

J’utilise les mêmes compteurs a titre professionnel et j’ai pas de problème sur le compteur.

Les soucis que j’ai eu c’est sur l’émetteur et au bout de 3 a 4 ans.

Les seules compteurs qui ont bloqué, c’est au bout de plusieurs années et monté sans filtre par manque de place.

@pascal_ha : oui tu as raison desolé. J’etais pourtant persuadé d’avoir lu 2 avis qui indiquaient que l’impulsion du compteur ne tournait plus au bout de quelques mois.

Autant pour moi