ESPHome / sonde de niveau d’eau

Bonjour

J’ai une cuve enterrée de 3000L qui récupère les eaux de pluie et qui sert à arroser mon jardin.

Je souhaite mettre un dispositif qui me permettrait de connaître le niveau d’eau dans la cuve

Je pense à un dispositif sous esphome.

Sur Ali express j’ai vu cette sonde

Pensez vous qu’un câblage sur un esp 8266 ou un esp32 serait possible ? Comment ?

Par ailleurs la sonde existe en plusieurs modèles (0-20mA ou 0-5V ou 0-10v) laquelle serait nécessaire ?

Merci pour tout aide bienvenue.

Bon dimanche

ça aurait été pratique de poster le lien de la sonde pour t’aider

sinon il existe aussi des sondes de distance HC-SR04
image
https://amzn.eu/d/2byTlGm

1 « J'aime »

J’ai pris celle-ci, moins de souci en milieu humide https://fr.aliexpress.com/item/1005003068432992.html?spm=a2g0o.productlist.main.3.4a32154bYWY7nI&algo_pvid=67d284a0-846a-4453-85bc-8d9f9c4ef254&algo_exp_id=67d284a0-846a-4453-85bc-8d9f9c4ef254-1&pdp_npi=4%40dis!EUR!2.58!2.58!!!2.77!2.77!%40211b812f17239773479797067eb63f!12000025071693832!sea!FR!734097723!X&curPageLogUid=t0YBqrdX0V8i&utparam-url=scene%3Asearch|query_from%3A

C’est une sonde par capteur de pression, a mon avis bien plus fiable à long terme que les trucs ultrason… (j’aime pas le truc ultrason… professionnellement j’ai déjà trop perdu de temps a cause de cette technologie)
Si tu veux brancher sur un ESP le plus simple c’est de prendre en sortie 0-5V avec derrière un pont diviseur pour adapter au niveau de l’entrée analogique.
Si tu as de la distance entre le capteur et l’ESP (plus de 50m je dirais), un sortie 4-20mA est moins sensible aux perturbations, et dans ce cas pareil il suffit d’une résistance pour adapter (mais tu perds un peu en echelle de mesure de l’ADC de l’ESP)

A titre perso j’ai un capteur de ce type dans une cuve de 48m3 (environ 2.6m de hauteur d’eau) qui fonctionne sans soucis depuis plus de 30 ans… mais c’était sans doute pas un modèle chinois à 30€ (mais ça ne veut rien dire…)

Attention cependant avec ce type de capteur, pour fonctionne ils ont besoin d’une prise de pression atmospherique. Celle-ci se fait généralement par un petit capillaire intégré au câble.
Il faut donc que l’extimité du câble soit libre, à pression atmosphérique, dans un endroit à l’abri de l’humidité et de la poussière/pollutions/etc…

bonjour,

professionnel dans le métier de l’eau. nous utilisons ce type de sonde sur les réservoirs. ce matériels est très fiable. je ne connais pas la fiabilité de cette marque.

pensez a mettre un parafoudre entre la sonde et l’esp pour protéger l’installation lors d’orage.
(sonde au sol qui baigne dans une cuve ) certaines sondes en sont équipées par défaut suivant la marque, a vérifier sur la doc technique.

comme dit plus haut attention a bien laisser le capillaire de la sonde a l’air libre ne pas le pincer ou le percer, sinon la valeur de la sonde sera fausse.
faire attention a ce que de l’eau ne puisse pas rentré ds le capillaire et redescende dans la sonde ce qui la mettrai H.S.

faire une boite de raccordement le mieux est hors de la cuve si possible ou dessus du niveau de la surverse de votre cuve; avec le capillaire dans la boite de raccordement ou directement au tableau si possible suivant la longueur de câble.

1 « J'aime »

Si ça peut t’aider…
https:/forum.hacf.fr/t/controler-niveau-recuperateur-deau-de-pluie/23181

Bonjour

Merci

J’ai effectivement testé cette solution mais elle ne fonctionne pas car le capteur ultrason est placé au bout d’un tuyau de 40mm de diamètre et de 120cm de longueur. Comme l’ultra son est émis selon un angle donne il « rebondit » à environ 60/70cm ce qui n’est pas bon. (Il s’agit d’une cuve de 3000l enterrée)

Suite aux autres messages (et je remercie tout le monde pour vos réponses) j’ai opté pour la sonde de pression chinoise.

Je vais essayer de me débrouiller avec les différents tuto dispo.

Merci à tous je vous tiendrai informé du résultat !

Bonsoir

j’ai recu ma son de pression TL 136 (4-20mA en 0-2m) et mon convertisseur INA219

sachant que lorsquela sonde n’est pas immergée j’aiune tension de 3.332mA et à 100 cm d’immersion (la hauteur de ma cuve) j’ai une tension de 10.682mA je peux calculer la hauteur d’eau dans ma cuve (et demain en deduire le litrage)

le code sous espHome:

substitutions:
  name: esphome-web-19934b
  friendly_name: gestion-niveau-cuve

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  min_version: 2024.6.0
  name_add_mac_suffix: false
  project:
    name: esphome.web
    version: dev

esp8266:
  board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "*****************"

ota:
  - platform: esphome
    password: "*******"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  use_address: 192.168.1.234
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Gestion-Cuve-Exterieur HOTSPOT"
    password: !secret ap_password

# Example configuration entry
i2c:
  sda: GPIO05 #d1
  scl: GPIO04 #d2
  scan: true
  id: bus_a

sensor:
  - platform: ina219 #https://community.home-assistant.io/t/esphome-water-level-sensor/126504/482
    address: 0x40
    shunt_resistance: 0.1 ohm
    current:
      name: "INA219 Current"
      id: raw_current
      filters:
        - multiply: 1000  # conversion to mA
      unit_of_measurement: mA
    bus_voltage:
      name: "INA219 Bus Voltage"
    shunt_voltage:
      name: "INA219 Shunt Voltage"
      filters:
        - multiply: 1000  # conversion to mV
      unit_of_measurement: mV
    max_voltage: 26.0V
    max_current: 3.2A
    update_interval: 10s

#  - platform: template
#    name: Water gauge
#    unit_of_measurement: cm
#    accuracy_decimals: 0
#    update_interval: 10s
#    filters:
#      - sliding_window_moving_average:
#          window_size: 10
#          send_every: 5
#    lambda: |-
#      auto current = id(raw_current).state;
#      return 100 * current / 2;  // Sensor: 4-20 mA, factor 100 to cm convert, range=2m

  - platform: template
    name: Water gauge 
    unit_of_measurement: cm
    accuracy_decimals: 0
    update_interval: 10s
    filters:
      - skip_initial: 3
    lambda: |-
      auto current = (id(raw_current).state - 3.332) / 0.07127273 ;
      return current;  // Sensor: 4-20 mA, factor 100 to cm convert, range=2m      

captive_portal:  

dashboard_import:
  package_import_url: github://esphome/example-configs/esphome-web/esp8266.yaml@main
  import_full_config: true

# To have a "next url" for improv serial
web_server:





1 « J'aime »

Bonjour

J’ai un projet similaire en tête pourrais tu partager ton schéma de câblage STP ?

Est ce que depuis Août cela donne satisfaction sur tes mesures ?

Bonjour,

j’ai également ce projet, comme @Mulinet j’ai testé avec ultrason (sonde A01NYUB), et cela ne fonctionne pas dans mon cas (puits de 7m de fond et 0,8m de diamètre) à ca cause de l’angle trop large.

D’ailleurs, pour ceux qui voudrait avoir cablage et code pour ce capteur jettez un oeil ici

je m’interesse donc à ce type sonde barométrique en alternative.

j’ai trouvé cela sur le net:

est-ce que c’est ton cablage @Mulinet

Merci

Bonjour à tous

Il faut que je prenne le temps

Le câblage est vraiment simple et c’est bien celui ci que j’ai mis en œuvre (il faut une alimentation dédiée)

Voici mon code esphome :

substitutions:
  name: esphome-web-19934b
  friendly_name: gestion-niveau-cuve

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  min_version: 2024.6.0
  name_add_mac_suffix: false
  project:
    name: esphome.web
    version: dev

esp8266:
  board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "***"

ota:
  - platform: esphome
    password: "***"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  use_address: 192.168.1.234
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Gestion-Cuve-Exterieur HOTSPOT"
    password: !secret ap_password

# Example configuration entry
i2c:
  sda: GPIO05 #d1
  scl: GPIO04 #d2
  scan: true
  id: bus_a

sensor:
  - platform: ina219 #https://community.home-assistant.io/t/esphome-water-level-sensor/126504/482
    address: 0x40
    shunt_resistance: 0.1 ohm
    current:
      name: "INA219 Current"
      id: raw_current
      filters:
        - multiply: 1000  # conversion to mA
      unit_of_measurement: mA
    bus_voltage:
      name: "INA219 Bus Voltage"
    shunt_voltage:
      name: "INA219 Shunt Voltage"
      filters:
        - multiply: 1000  # conversion to mV
      unit_of_measurement: mV
    max_voltage: 26.0V
    max_current: 3.2A
    update_interval: 10s

#  - platform: template
#    name: Water gauge
#    unit_of_measurement: cm
#    accuracy_decimals: 0
#    update_interval: 10s
#    filters:
#      - sliding_window_moving_average:
#          window_size: 10
#          send_every: 5
#    lambda: |-
#      auto current = id(raw_current).state;
#      return 100 * current / 2;  // Sensor: 4-20 mA, factor 100 to cm convert, range=2m

  - platform: template
    name: Water gauge 
    unit_of_measurement: cm
    accuracy_decimals: 0
    update_interval: 10s
    filters:
      - skip_initial: 3
    lambda: |-
      auto current = (id(raw_current).state - 3.332) / 0.07127273 ;
      return current;  // Sensor: 4-20 mA, factor 100 to cm convert, range=2m      

captive_portal:  

dashboard_import:
  package_import_url: github://esphome/example-configs/esphome-web/esp8266.yaml@main
  import_full_config: true

# To have a "next url" for improv serial
web_server:

A adapter selon la longueur de la sonde.

Perso pour trouver les bonnes valeurs de la formule j’ai plongé la sonde dans la piscine, j’ai mesurer le niveau d’eau et j’ai adapté jusqu’a trouver la bonne valeur.

Ensuite j’ai vérifié avec différents niveaux

top merci, ça laissera le temps au matos d’arrivé du pays du soleil levant :wink:

du cou c’est bien une sonde 4-20 mA / 24V que tu as ?

Pour le convertisseur : Capteur d'alimentation en courant continu bidirectionnel, technologie d'installation bricolage, surveillance de l'alimentation, 3V-5V, IIC, I2C, INA219 - AliExpress 502

pour la sonde 4-20mA en 12-32v longueur 0-2m : Capteur de niveau TL-136 Transmetteur de niveau de liquide Détecteur de capteur de niveau d'eau Sortie 12-32VDC 4-20mA Capteur de niveau de liquide - AliExpress 1420

Merci, je vais patir sur un autre model de sonde, car le puits fait 7m50 de profondeur, avec environ 3/4m d’eau max, je vais prendre une 10m, car si j’ai bien compris il y’a un capilaire dans la gaine, pour avoir la pression atmospherique (qui doit doit etre hors d’eau et à l’abris de l’humiditée), cela me permettra de mettre le capilaire dans le boitier de racoredement IP67

J’ai vue qu’il existe des sonde avec des range de mesure de 5m et 10m de cable, mais c’est bien plus cher qu’une 10m/10m, j’espère juste que ça restera assez precis quand même (j’aimerais avoir 1cm de precision)

Je confirme la présence du petit tuyau à laisser à l’air libre

1 « J'aime »

Je de viens d’en trouver une 5/10m pas beaucoup plus cher :slight_smile:

question, chez toi le capilair, il est dans la cuve ou tu l’as sortis à l’air libre ?

Il est dans la cuve environ 50cm au dessus du niveau max

1 « J'aime »

Mais pas dans un boitier étanche ? J’ai lu que si de l’eau rentrait dedant, ça pouvait tuer la sonde, mon puits etant fermé ( comme une cuve) j’avais peur de la condensation et je comptait le mettre dans un boitier ip67.

je ne l’ai pas fait, mais vu ce que tu dis il faudrait que j’y pense

1 « J'aime »