Contrôler le niveau d'eau dans un puisard

Hello,

Je cherche à contrôler le niveau d’eau de mon puisard afin d’être alerté quand le niveau atteint un seuil critique. L’histoire d’éviter de retrouver le sous sol inondé :smiley:

J’ai actuellement placé un capteur de fuite aqara mais la fiabilité n’est pas la. Il est régulièrement déconnecté. Du coup, quand il pleut, je ne sais jamais s’il fonctionne ou pas.

J’ai vu que certains utilisaient des capteurs à ultrason mais je n’ai aucune idée des branchements à réaliser et pas certain que cela soit étanche.

Si vous avez des idées ou des retours d’expériences, je suis preneur.

Merci

Salut,

Si ton capteur de fuite est en ZIgbee et que le puisard assez loin de ton réseau ça n’aide pas beaucoup.

Un capteur ultrasons ça peut marcher, mais il aura besoin d’une surface pour que le son rebondisse, ce qui n’est pas le cas de l’eau… J’ai déjà vu des gens qui avaient réglé ça avec une flotteur juste sous le capteur.
Tu ne trouves rien sur google ou youtube, c’est sur que des exemples existent.

il me semble que @SeByDocKy à fait une video la dessus avec son puisard :wink: c’est uen référence sur Youtube e-2-nomy - YouTube

Si le capteur aqara est limite en réseau, peut-être qu’un routeur permettrai de solutionner ton problème sinon pour mesurer une hauteur d’eau, tu vas trouver les capteurs ultrason et les capteurs de pression immergée mais a mon avis ton besoin est bien plus simple avec un capteur de niveau à flotteur. Ca coute quelques euros et le contact passe en position ouverte lorsque le niveau d’eau déclenche le flotteur.

Par exemple

C’est clair que si le but c’est de détecter un seul niveau seuil, c’est le plus simple et efficate…

2 « J'aime »

Merci pour vos retours, je vais regarder ça de plus près.

Moi aussi, j’ai eu ce problème d’eau qui monte dans la cave.
J’avais trouvé ce système avec deux sondes (niveau haut et bas).
h-tronic
Les sondes sont efficaces. Dès que l’eau entre en contact avec les 2 électrodes, ça déclenche.
Le système cité ci-dessus n’est pas intégrable dans HA (quoi que avec les petits génies qui trainent sur ce forum …).
Mais je pense qu’il devrait y avoir moyen de développer un système similaire avec une carte ESP8266 ou ESP32 en wifi et peut-être même en zigbee en utilisant ce type de sonde.


Il faut que le liquide soit conducteur. C’est en effet lui qui ferme le circuit de détection (contact entre les 2 électrodes)
Pas de pièces mobiles, si l’eau n’est pas crasseuse, c’est très fiable et facile à entretenir.

@+ Guy

Oui ce n’est pas trop compliqué à faire avec ce genre de capteur et avec EspHome c’est assez vite fait et directement intégré dans HA.
Même un ESP8266 type ESP01 à 1,5€ peut te le faire.

1 « J'aime »

Si cela peux aider j’ai déjà réfléchi à une solution mais pas encore appliquée pour contrôler le niveau d’une riviere. Un tube type evac PVC avec un bouchon percé en passoire au fond un autre en haut avec des évents sur le côté pour éviter la surpression et un capteur à ultrason qui mesure un flotteur indépendant dans le tube

Salut,
réalisé une surveillance de ma pompe de relevage pour mon sous sol, voici ce que cela donne au niveau de HA.


et voici le câblage.

et j’ai ça sur la page d’acceuil de HA,
puisard 3

Si cela peux t’aider :wink:

2 « J'aime »

C’est top !!
Tu surveilles le niveau d’eau à 2 niveaux et tu vérifies le déclenchement de ta pompe.

Le PZEM et l’ESP sont à l’extérieur ?

Je suis preneur de ton code sur l’esp :wink: esphome ?

Effectivement, j’ai deux flotteurs de surveillance avec message d’alerte pour chacun d’eux, j’ai aussi une alerte au cas ou les 220v ne serait plus présent sur la pompe et je compte aussi le nombre de fois ou la pompe s’est mise en route dans la journée.
l’ESP et le PMZ sont à l’intérieur puisque mon regard est au pied de l’entrée de mon sous sol, mais ou peux imaginer les mettre dans le regard dans une boite étanche et bien isolée avec du polystyrène.
J’ai préféré utiliser un module lilygo pour son alimentation par POE, cela garanti en plus une meilleure connexion que le wifi.
voici le code de l’ESP qui contient d’autres appareils (capteurs de température, témoins de lumière). Il n’est pas nettoyé parce-que j’ai testé plusieurs solutions:


esphome:
  name: lilygo
  platform: ESP32
  board: esp32dev

#wifi:
  #ssid: !secret wifi_ssid
  #password: !secret wifi_password


ethernet:
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  #clk_mode: GPIO0_OUT
  phy_addr: 0
  clk_mode: GPIO17_OUT
  power_pin: GPIO17
  manual_ip:
    static_ip: 192.168.1.100
    gateway: 192.168.1.1
    subnet: 255.255.255.0

logger:

api:

ota:

web_server:
  port: 80

esp32_ble_tracker:

uart:
  - id: ubus1
    tx_pin: GPIO1
    rx_pin: GPIO3
    baud_rate: 9600
    stop_bits: 1
  

time:
  - platform: homeassistant
    id: homeassistant_time  
    
    on_time:
      - seconds: 55
        minutes: 59
        hours: 23
        then:  
          - sensor.template.publish:
              id: template_lilygo_veille
              state: !lambda return id(lilygo_puissance_du_jour).state;
              
      - seconds: /10
        then:
          - sensor.template.publish:
              id: template_lilygo_veille
              state: !lambda return id(template_lilygo_veille).state;
  
sensor:

#  - platform: ultrasonic
#    id: ultrasonic_sensor_lilygo
#    trigger_pin: GPIO16
#    echo_pin: GPIO4
#    name: "Niveau de l'eau en cm"
#    pulse_time: 15us
#    unit_of_measurement : "cm"
#    timeout: 4m
#    update_interval: 1s
#    filters:
#    - lambda: return x*100;
#    - filter_out: nan
# voir ligne 205 ajout flotteur_2 à la place

    

  - platform: xiaomi_lywsd03mmc # ou xiaomi_lywsdcgq gros rond ou Xiaomi_LYWSD02 capteur rectangulaire de température et d'humidité ou  Xiaomi_CGG1 un rond (écran e-ink) de ClearGrass
    mac_address: A4:C1:38:28:31:D5
    bindkey: "5d7825fc88b3e2d9b6807c1e1d391980"
    temperature:
      name: "LilyGo_Xiaomi_1 Temperature"
    humidity:
      name: "LilyGo_Xiaomi_1 Humidité"
    battery_level:
      name: "LilyGo_Xiaomi_1 Niveau Batterie"
      
  - platform: xiaomi_lywsd03mmc
    mac_address: A4:C1:38:1B:19:3D
    bindkey: "a4bc78d2a90e648f1e178855be1e6cde"
    temperature:
      name: "LilyGo_Xiaomi_2 Temperature"
    humidity:
      name: "LilyGo_Xiaomi_2 Humidité"
    battery_level:
      name: "LilyGo_Xiaomi_2 Niveau Batterie"

    
  - platform: pzemac
    address: 1
    current:
      name: "lilygo_courant"
      accuracy_decimals: 1
    voltage:
      name: "lilygo_tension"
      accuracy_decimals: 1
    power:
      name: "lilygo_puissance"
      unit_of_measurement: W
      accuracy_decimals: 1
      id: lilygo_puissance
    frequency:
      name: "lilygo_frequence"
      unit_of_measurement: Hz
      accuracy_decimals: 1
    power_factor:
      name: "lilygo_facteur_puissance"
      accuracy_decimals: 2
      id: lilygo_facteur_puissance
    #energy:
      #name: "puisard_energy"
      #unit_of_measurement: Wh
      #accuracy_decimals: 1
      #id: puisard_energy
    update_interval: 10s

    
  #- platform: template
    #name: "puisard_puissance_cumulee"
    #unit_of_measurement: "kWh"
    #accuracy_decimals: 1
    #update_interval: 5s
    #icon: mdi:power
    #lambda: return (( (id(puisard_energy).state)/1000.0));
    
  - platform: total_daily_energy
    name: "lilygo_du_jour"
    power_id: lilygo_puissance
    unit_of_measurement: "Wh"
    #unit_of_measurement: "kWh"
    #accuracy_decimals: 1
    id: lilygo_puissance_du_jour
    #filters:
        # Multiplication factor from W to kW is 0.001
        #- multiply: 0.001
    icon: mdi:counter
    
  - platform: template
    name: "lilygo_veille"
    id: template_lilygo_veille
    unit_of_measurement: "Wh"
    accuracy_decimals: 1
    icon: mdi:power
    update_interval: 10s
    
  #- platform: template
    #name: "puisard_puissance_apparente"
    #id: puisard_puissance_apparente
    #unit_of_measurement: "VA"
    #accuracy_decimals: 1
    #update_interval: 10s
    #icon: mdi:power
    #lambda: return ( (id(puisard_puissance).state/id(puisard_facteur_puissance).state));
  
  #- platform: template
    #name: "puisard_puissance_reactive"
    #id: puisard_puissance_reactive
    #unit_of_measurement: "VAr"
    #accuracy_decimals: 1
    #update_interval: 10s
    #icon: mdi:power
    #lambda: return ( ((id(puisard_puissance_reactive).state)*sin(acos((id(puisard_facteur_puissance).state))) ) );  
    
  #- platform: wifi_signal
     #name: "lan_8720 WiFi Signal"
     #update_interval: 10s
    
  - platform: uptime
    name: "up_lilygo"
    id: uptime_sec 
 
switch:
  - platform: restart
    name: "lilygo_sensor Restart"
    
    
binary_sensor:
  - platform: status
    name: "lilygo_statut"  
    
  # Capteur binaire représentant
  # le flotteur de présence d'eau.
  - platform: gpio
    id: button
    name: lilygo Flotteur
    device_class: moisture
    pin:
      # Connecté à GPIO15
      number: GPIO02
      #mode: INPUT_PULLUP
      inverted: true

  - platform: gpio
    id: button_2
    name: lilygo Flotteur 2
    device_class: moisture
    pin:
      # Connecté à GPIO15
      number: GPIO04
      #mode: INPUT_PULLUP
      inverted: true

  - platform: gpio
    id: temoin_lumiere_jardin
    name: lilygo Temoin Lumière Jardin
    device_class: light
    pin:
      # Connecté à GPIO15
      number: GPIO32
      mode: INPUT_PULLUP
      inverted: true

  - platform: gpio
    id: temoin_lumiere_sous_sol
    name: lilygo Temoin Lumière Sous Sol
    device_class: light
    pin:
      # Connecté à GPIO15
      number: GPIO33
      mode: INPUT_PULLUP
      inverted: true
    
    
text_sensor:

  - platform: version
    name: lilygo ESPHome Version


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

    
    


    
    


1 « J'aime »

Une autre solution très facile à mettre en oeuvre est un flotteur couplé à un détecteur de contact de porte Xiaomi Aqara MCCGQ11LM qui remontera l’information par exemple via zigbee2mqtt.
Flotteur:
image
Contacteur:
image
Pour connecter le flotteur, il faut ouvrir le contacteur Aqara, dessouder le reed switch et souder les fils du flotteur à la place:

Ensuite il n’y a plus qu’à monitorer le changement d’état du contacteur dans HA :slightly_smiling_face:

4 « J'aime »

salut,
j’ai un projet similaire.
Peux-tu me donner la ref de tes floteurs stp ?
ils sont étanches ?
dans l’idée , je voudrais le long d’une tige immergée, mettre 4 ou 5 capteurs pour calculer des niveaux.

Cela va nécessiter plusieurs capteurs, a mon avis il vaut mieux remonter une seule valeur, on trouve pleins de montages avec des capteurs de pression ou de distance. A priori le premier est plus fiable.

Sinon une autre idée de hack, serait d’utiliser un capteur de vibration aqara. Celui-ci permet de mesurer un angle qui serait repris sur un flotteur monté sur un pivot.
Bien sûr ce système est plus simple a mettre en place pour des différences de niveaux d’eau limitées, mais avec un système de renvoi on peut aussi l’imaginer pour un puit ou une citerne.

en effet, je suis dans la phase ou j’étudie un peu toutes les possibilités avant d’entrer dans la réalisation.

c’est eux là et oui ils sont étanche.

ok merci
la sortie du cable sur le dessus est noyé dans de la résine ou de la colle pour faire l’étanchéité ?

Je ne sais plus trop, mais au pire si tu crains que l’étanchéité ne soit pas bonne tu peux ajouter de la résine au pied du flotteur, mais franchement c’est inutile.

1 « J'aime »