# \[TUTORIEL\] Connaitre la capacité restante de sa cuve eau de pluie

**URL:** <https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272>\
**Category:** Tutoriels\
**Created:** [Avril 21, 2021, 9:11 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272 "2021-04-21T21:11:26Z")\
**Posts on this page:** 20\
**Page:** 7

<div class="post-metadata">

**Author:** ![GBoulvin](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/gboulvin/32/10006_2.png) [@GBoulvin](https://community.gladysassistant.com/u/GBoulvin)\
**Post date:** [Novembre 20, 2022, 9:27 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/121 "2022-11-20T09:27:22Z")

</div>

As-tu essayé de reconfigurer l’intégration MQTT dans Gladys ?  
Simplement, changer le mot de passe puis faire ‹&nbsp;enregistrer&nbsp;›.  
Regarde ensuite l’état du container…

---

<div class="post-metadata">

**Author:** ![Doudy](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/doudy/32/10536_2.png) [@Doudy](https://community.gladysassistant.com/u/Doudy)\
**Post date:** [Novembre 26, 2022, 7:42 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/122 "2022-11-26T07:42:13Z")

</div>

> [@GBoulvin](#):
>
> Je l’ai fait mais en utilisant un Arduino (je ne connaissais pas les wemos à l’époque).  
> Dans ton cas, il faudrait mieux les laisser indépendants…

OK merci pour l’info

---

<div class="post-metadata">

**Author:** ![Doudy](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/doudy/32/10536_2.png) [@Doudy](https://community.gladysassistant.com/u/Doudy)\
**Post date:** [Novembre 26, 2022, 7:43 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/123 "2022-11-26T07:43:45Z")

</div>

> [@GBoulvin](#):
>
> As-tu essayé de reconfigurer l’intégration MQTT dans Gladys ?  
> Simplement, changer le mot de passe puis faire ‹ enregistrer ›.  
> Regarde ensuite l’état du container…

J’ai un ami qui est passé et il a constaté que mosquitto était installé 2x  
C’était l’origine du problème !  
😉

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Novembre 26, 2022, 3:44 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/124 "2022-11-26T15:44:19Z")

</div>

T’en a un pour zigbee2mqtt donc normal 😐

Faudrai en dire en peu plus.

---

<div class="post-metadata">

**Author:** ![Doudy](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/doudy/32/10536_2.png) [@Doudy](https://community.gladysassistant.com/u/Doudy)\
**Post date:** [Novembre 27, 2022, 7:03 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/125 "2022-11-27T07:03:51Z")

</div>

> [@VonOx](#):
>
> Faudrai en dire en peu plus.

Oui zigbee2mqtt mais également MQTT(Mosquitto)  
 ![Capture](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/f/f7ca6aa91553db7d7931a4c2efab2c7bdbb2561e.png)  
D’après mon ami j’avais également installé mosquitto une 2ème fois. C’était là le problème.  
En supprimant un des deux Mosquitto plus de soucis !

---

<div class="post-metadata">

**Author:** ![jerome](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jerome/32/7030_2.png) [@jerome](https://community.gladysassistant.com/u/jerome)\
**Post date:** [Novembre 27, 2022, 2:39 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/126 "2022-11-27T14:39:06Z")

</div>

Du coup c’est fonctionnel ou pas ? tu as bien une remontée des infos

---

<div class="post-metadata">

**Author:** ![Doudy](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/doudy/32/10536_2.png) [@Doudy](https://community.gladysassistant.com/u/Doudy)\
**Post date:** [Novembre 28, 2022, 7:10 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/127 "2022-11-28T07:10:30Z")

</div>

Oui c’est fonctionnel  
Merci à tous  
😉

---

<div class="post-metadata">

**Author:** ![Tornes](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/t/258eb7/32.png) [@Tornes](https://community.gladysassistant.com/u/Tornes)\
**Post date:** [Septembre 19, 2023, 11:01 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/128 "2023-09-19T11:01:43Z")

</div>

Bonjour a tous,

je me suis lancé mais apres plusieurs essai j’ai toujours ca dans le moniteur serie :

ets Jan 8 2013,rst cause:4, boot mode:(3,6)  
12:58:34.798 →   
12:58:34.798 → wdt reset  
12:58:34.798 → load 0x4010f000, len 3424, room 16  
12:58:34.798 → tail 0  
12:58:34.798 → chksum 0x2e  
12:58:34.798 → load 0x3fff20b8, len 40, room 8  
12:58:34.798 → tail 0  
12:58:34.798 → chksum 0x2b  
12:58:34.798 → csum 0x2b  
12:58:34.798 → v000456d0  
12:58:34.798 → ~ld  
12:58:34.892 → ⸮a⸮n⸮r⸮⸮n|⸮l⸮l`bbrl⸮nb⸮nl`⸮rl⸮l⸮⸮

j’ai bien vu le post 84, j’ai fait la modif sur le code avec le while (!serial) mais ca n’a rien changé, seul mettre l’initialisation des broches en commentaire me connecte bien au wifi et mqtt mais du coup ca ne calcul rien lol

merci d’avance

---

<div class="post-metadata">

**Author:** ![jerome](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jerome/32/7030_2.png) [@jerome](https://community.gladysassistant.com/u/jerome)\
**Post date:** [Septembre 19, 2023, 7:51 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/129 "2023-09-19T19:51:31Z")

</div>

Salut @Tornes

Tu as quoi comme carte ? une D1 mini ?

---

<div class="post-metadata">

**Author:** ![Tornes](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/t/258eb7/32.png) [@Tornes](https://community.gladysassistant.com/u/Tornes)\
**Post date:** [Septembre 19, 2023, 8:11 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/130 "2023-09-19T20:11:53Z")

</div>

oui c’est bien ca, je viens d’arriver a un resultat en modifiant le code comme ceci :

> [@](#):
>
> //Création des objets  
> WiFiClient espClient;  
> PubSubClient mqttclient(espClient);
> 
> void setup() {
> 
> /\* Initialise le port serie \*/
> 
> Serial.begin(115200); //Facultatif pour le debug  
> while (! Serial){  
> delay(1);  
> /\* Initialise les broches \*/
> 
> pinMode(TRIGGER\_PIN, OUTPUT);  
> digitalWrite(TRIGGER\_PIN, LOW); // La broche TRIGGER doit être à LOW au repos  
> pinMode(ECHO\_PIN, INPUT);  
> }  
> setup\_wifi(); //On se connecte au réseau wifi  
> mqttclient.setServer(mqtt\_server, 1883); //Configuration de la connexion au serveur MQTT  
> }

seulement la valeur renvoyé est toujours de 100 peu importe l’eloigement du capteur 😕 j’ai bien verifie les broche sont bien au bon endroit (D6 et D7)

Ps: si je prenais le code donne en 1 poste ça ne fonctionnait pas 😕

---

<div class="post-metadata">

**Author:** ![jerome](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jerome/32/7030_2.png) [@jerome](https://community.gladysassistant.com/u/jerome)\
**Post date:** [Septembre 19, 2023, 8:15 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/131 "2023-09-19T20:15:50Z")

</div>

Ou tu vois un résultat de 100 ?

T’as capture du moniteur de série n’affiche rien. Tu as bien flashé ta carte car j’ai l’impression qu’elle n’est pas reconnu.

---

<div class="post-metadata">

**Author:** ![Tornes](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/t/258eb7/32.png) [@Tornes](https://community.gladysassistant.com/u/Tornes)\
**Post date:** [Septembre 19, 2023, 8:17 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/132 "2023-09-19T20:17:21Z")

</div>

le resultat je le vois dans mqtt explorer.

je suppose que oui etant donné que le moniteur affiche bien wifi/mqtt ok et que j’ai des remonté mqtt dans le bon topic

EDIT : j’ai essaye different type de carte sans succes avec le code donné en premier page en revanche avec celui de Doudy ca fonctionne simplement j’ai toujours la meme valeur 😕

---

<div class="post-metadata">

**Author:** ![jerome](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jerome/32/7030_2.png) [@jerome](https://community.gladysassistant.com/u/jerome)\
**Post date:** [Septembre 19, 2023, 8:31 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/133 "2023-09-19T20:31:56Z")

</div>

Tu peux copier l’integralité du code en utilisant les balises stp pour regarder

---

<div class="post-metadata">

**Author:** ![Tornes](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/t/258eb7/32.png) [@Tornes](https://community.gladysassistant.com/u/Tornes)\
**Post date:** [Septembre 19, 2023, 8:34 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/134 "2023-09-19T20:34:11Z")

</div>

Voici :

```auto
#include <ESP8266WiFi.h>
#include <PubSubClient.h>

/* WIFI */
#define wifi_ssid "XXX" // votre ssid wifi
#define wifi_password "XXX" // votre mot de passe wifi

/* MQTT */
#define mqtt_server "XXXXX"
#define mqtt_user nullptr // username
#define mqtt_password nullptr // mot de passe MQTT
#define gladys_topic "gladys/master/device/mqtt:jardin:capteur-ultrason/feature/mqtt: jardin:capteur-ultrason:quantite/state"
#define mqtt_cuve "mqtt:jardin:capteur-ultrason" //Topic capteur cuve

/* Buffer qui permet de décoder les messages MQTT reçus */

char message_buff[100];
long lastMsg = 0; //Horodatage du dernier message publié sur MQTT
long lastRecu = 0;
bool debug = false; //Affiche sur la console si True

/* Constantes pour les broches */
const byte TRIGGER_PIN = 7; // Broche TRIGGER
const byte ECHO_PIN = 6; // Broche ECHO

/* Constantes pour le timeout */
const unsigned long MEASURE_TIMEOUT = 25000UL; // 25ms = ~8m à 340m/s

/* Vitesse du son dans l'air en mm/us */
const float SOUND_SPEED = 340.0 / 1000;

//Création des objets
WiFiClient espClient;
PubSubClient mqttclient(espClient);

void setup() {

/* Initialise le port serie */

Serial.begin(115200); //Facultatif pour le debug
while (! Serial){
delay(1);
/* Initialise les broches */

pinMode(TRIGGER_PIN, OUTPUT);
digitalWrite(TRIGGER_PIN, LOW); // La broche TRIGGER doit être à LOW au repos
pinMode(ECHO_PIN, INPUT);
}
setup_wifi(); //On se connecte au réseau wifi
mqttclient.setServer(mqtt_server, 1883); //Configuration de la connexion au serveur MQTT
}
void setup_wifi() {
  delay(10);
  Serial.println("\r\n\r\nxxxxxxxxxxx START xxxxxxxxxxxxxxx");
  Serial.print("Connexion à ");
  Serial.println(wifi_ssid);
  //WiFi.disconnect();
  //WiFi.mode(WIFI_STA);
  WiFi.begin(wifi_ssid, wifi_password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  
  Serial.println(".");
  Serial.print("Connexion WiFi établie ");
  Serial.print("=> Adresse IP : ");
  Serial.println(WiFi.localIP());
}

//Reconnexion
void reconnect() {
Serial.print("Test MQTT : ");  
Serial.print("=> Adresse IP : ");
Serial.println(mqtt_server);
  //Boucle jusqu'à obtenir une reconnexion
  while (!mqttclient.connected()) {
    Serial.print("Connexion au serveur MQTT...");
    if (mqttclient.connect("ESP8266Client", mqtt_user, mqtt_password)) {
      Serial.println("OK");
    } else {
      Serial.print("KO, erreur : ");
      Serial.print(mqttclient.state());
      Serial.println(" On attend 5 secondes avant de recommencer");
      delay(5000);
    }
  }
}

void loop() {

  if (!mqttclient.connected()) {
    reconnect();
  }
  mqttclient.loop();

  long now = millis();

  /*Envoi d'un message par minute*/

  if (now - lastMsg > 1000 * 60) {
    lastMsg = now;

    /* 1. Lance une mesure de distance en envoyant une impulsion HIGH de 10µs sur la broche TRIGGER */

    digitalWrite(TRIGGER_PIN, HIGH);
    delayMicroseconds(10);
    digitalWrite(TRIGGER_PIN, LOW);

    /* 2. Mesure le temps entre l'envoi de l'impulsion ultrasonique et son écho (si il existe) */

    long measure = pulseIn(ECHO_PIN, HIGH, MEASURE_TIMEOUT);

    /* 3. Calcul la distance à partir du temps mesuré */

    int distance_mm = measure / 2.0 * SOUND_SPEED;
    float c = 2600 - distance_mm; // TRES IMORTANT Remplacer 2000 par la hauteur de votre cuve
    c = c / 2600;
    c = c * 100;

    //Inutile d'aller plus loin si le capteur ne renvoi rien
    if ( isnan(c)) {
      Serial.println("Echec de lecture ! Verifiez votre capteur HRC-04");
      return;
    }

    if ( debug ) {
      Serial.print("Cuve : ");
      Serial.print(c);
    }
    mqttclient.publish(gladys_topic, String(c).c_str(), true); //Publie le % de la cuve sur le topic dans gladys
  }
}
```

---

<div class="post-metadata">

**Author:** ![jerome](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jerome/32/7030_2.png) [@jerome](https://community.gladysassistant.com/u/jerome)\
**Post date:** [Septembre 19, 2023, 8:48 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/135 "2023-09-19T20:48:49Z")

</div>

ça me parait bon.

Ton capteur à ultrasons tu l’as déjà testé sur un autre code par exemple pour une mesure ou autre voir si il est bien fonctionnel ?

---

<div class="post-metadata">

**Author:** ![Tornes](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/t/258eb7/32.png) [@Tornes](https://community.gladysassistant.com/u/Tornes)\
**Post date:** [Septembre 19, 2023, 8:52 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/136 "2023-09-19T20:52:29Z")

</div>

Non, c’est ce que je vais faire du coup histoire de valider son fonctionnement.

Merci en tout cas pour la vérification du code, cependant comment expliquer que j’ai eus a le modifier par rapport au tient ?

---

<div class="post-metadata">

**Author:** ![jerome](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jerome/32/7030_2.png) [@jerome](https://community.gladysassistant.com/u/jerome)\
**Post date:** [Septembre 19, 2023, 9:01 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/137 "2023-09-19T21:01:29Z")

</div>

En effet ce n’est pas logique. Il faudrait que je le test de nouveau sur une installation fraiche pour vérifier car je l’avais pas mal bidouillé à l’époque

Tu peux me confirmer qu’au niveau du moniteur de série tu as bien la connexion établie mais que après il t’affiche que cuve : 100 en boucle toutes les minutes

---

<div class="post-metadata">

**Author:** ![Tornes](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/t/258eb7/32.png) [@Tornes](https://community.gladysassistant.com/u/Tornes)\
**Post date:** [Septembre 20, 2023, 3:59 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/138 "2023-09-20T03:59:52Z")

</div>

Sur le moniteur il m’affiche connexion wifi établi, mqtt Ok mais c’est tout. Le 100 je le vois dans les message mqtt qu’il envoi.

---

<div class="post-metadata">

**Author:** ![jerome](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jerome/32/7030_2.png) [@jerome](https://community.gladysassistant.com/u/jerome)\
**Post date:** [Septembre 20, 2023, 7:59 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/139 "2023-09-20T19:59:52Z")

</div>

Tu devrais avoir ensuite «&nbsp;cuve : …&nbsp;» avec la valeur qui remonte de ton capteur. C’est pas normal.

> [@Doudy](#):
>
> ```auto
> if ( debug ) {
> Serial.print("Cuve : ");
> Serial.print(c);
> 
> ```

---

<div class="post-metadata">

**Author:** ![Tornes](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/t/258eb7/32.png) [@Tornes](https://community.gladysassistant.com/u/Tornes)\
**Post date:** [Septembre 21, 2023, 5:04 UTC](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272/140 "2023-09-21T05:04:40Z")

</div>

Ah oki … ton code est identique à celui posté en premier poste ?

[Page précédente](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272.md?page=6)

[Page suivante](https://community.gladysassistant.com/t/tutoriel-connaitre-la-capacite-restante-de-sa-cuve-eau-de-pluie/6272.md?page=8)
