Module MQTT consommation eau / compteur eau

Tags: #<Tag:0x00007fa7a74b88f8> #<Tag:0x00007fa7a74b8790>

Juste pour les personnes intéressées par la récupération de votre consommation d’eau, j’ai réalisé un capteur MQTT qui permet d’avoir la consommation en cours et la détection de fuite.

Vous trouverez sa description sur https://fumeebleue.fr/esp-watermeter/

4 J'aimes

Hello,

Je suis le fil. Très intéressé !

Bonjour,
Sujet qui m’intéresse tout particulièrement !! Je vais suivre ça de près… Merci

Je me lance avec ton tuto car c’est exactement ce que je souhaitais !!!
Par contre pour la programmation, je vais :sob:

C’est un échec…
Je n’ai pas essayer ta méthode car je souhaiterai que le Wemos fonctionne avec jMQTT pour récupérer les impulsion et qu’il contrôle aussi une électrovanne double commande (ouvert et fermer).

Je planche sur le sujet… mais je galère.

@PaTiTan, quelle est ta méthode ?

@tdouez , finalement je suis parti sur du classique pour la programmation du Wemos (espeasy mega) comme pour ma boite aux lettres.
Je suis passé par jMQTT pour l’envoi des informations impulsions et commandes.

Quand je vais atteindre le m3 d’eau utilisé comptabilisé par ce système, j’irai voir sur mon compteur principal si il y a un delta. si oui alors j’essairai ta méthode.
Mais dès les premières ligne j’ai été perdu par manque de connaissance dans la programmation…

Ton tuto est probablement très bien fait pour une personne ayant un minimum de connaissance mais avec une vidéo même sans commentaires m’aurai été d’une plus grande aide.

Pour mes équipement, j’ai un Gianola DN20 1imp/L, Wemos D1 mini pro, double relais octocoupleur, électrovanne DN20.
J’ai rajouter un système de filtration que la maison ne possedais pas (j’ai emménager depuis 2 ans).

Avant :
image

Après :
image

Résultat sur Jeedom :
image
En passant, encore gros merci à @ajja17orange pour l’envoi de l’information compteur réel sur le Wemos via widget :wink:

ps : oui j’ai aussi mis un capteur de lumière sur ce wemos^^

Bonjour,

Merci pour ton travail car c’est exactement ce que je cherchais!
Par contre j’ai eu un problème avec le wifi qui « reset » à chaque reboot car le pin est « LOW » au démarrage apparemment …
Je n’ai pas chercher plus loin pour le moment, j’ai juste désactivé le reset…

J’en ai profité pour faire des modifications pour contrôler une électrovanne avec un L298N par MQTT.
J’attend encore l’électrovanne mais je pense y être arrivé d’après mes premiers essais.
Ce n’est surement pas très « beau » mais bon :laughing:

Merci!

Alcyon71

Bonjour Tristan,

Merci, encore de ton super travail ! :wave: :wave: :wave:

Je suis en cours de mise en place avec un gioanola ca devrait bien se passer.

Concernant ton code, j’ai 2 petites questions .

  • J’ai essayé d’ajouter l’affichage de Current Date et startup Date le mois était décalé de -1… Apparemment dans une partie de ton code tu met bien un getMonth()+1 mais pas dans la fonction getDatewithDLS(). Est ce un oubli ou y a t il une raison ?
    De mon coté j’ai ajouté +1 et j’affiche sur la page le current_date et startup_date.

  • Concernant la gestion d’une coupure/reboot ESP comment les choses se passent t elles? Comment le gères tu? Je vais voir une fois en place mais apparemment le compteur « Historique impulsions sur 24h » repasse à 0 mais pas celui du nombre de litre/impulsion de la journée donc le principal n’est pas perdu :+1:

Je souhaite gérer un compteur totalisateur dans jeedom, je ne sais pas au final comment il est préférable de le gérer… Chaque jour à 0h02, ajouter à une variable jeedom la valeur la plus grande du nombre de litres de la veille?

Dernière petite chose pour la route :wink: en cas de petite fuite, genre robinet qui goute, chasse d’eau qui fuit. Sauf erreur ta détection de fuite ne fonctionnera pas car liée à un gros volume et pas à un débit continu. Je ne sais pas trop comment filtrer cela mais il y a sans doute une solution.

Merci encore pour ton travail et très intéressé aussi par tes solutions teleinfo linky. Mon principal problème étant l’absence d’alimentation et la distance avec mon compteur…

Pour la gestion de fuite type goutte à goutte, on peut vérifier l’absence de fuite à partir du moment où il n’y a pas de consommation depuis 6h (1 goutte par seconde pendant 6 heures représente 1L). Normalement, au cours des X derniers jours, il y a eu au moins une absence de fuite (période de 6h sans conso), donc on vérifie. S’il n’y pas eu d’absence de fuite, alors on envoie une alerte…

C’est bien le type de filtrage auquel je pensais mais mes connaissance en traitement des hsitriques de mesure jeedom dans les scénario est limité.
chercher une plage de Xh avec une conso = 0l… => Comment le traduire?
Sinon j’avais penser à:
chercher la durée max sans conso sur les dernières 24h. et comparer au temps de déclenchement souhaité.
Voilà ce que j’ai imaginé :
image
Mais bon, à voir…

Là, tu vas te spamer toutes les heures…

L’absence de conso sur 6h arrive en gros 1 à 2 fois max par jour si absence du domicile en journée et personne ne se lève la nuit pour boire ou aller aux toilettes.

Un scénario tourne toutes les minutes pour mettre à jour la variable de débit
image
Contenu de la formule tronquée
#[Cuisine][Compteur Eau][Index1000_Inst]#-lastBetween(#[Cuisine][Compteur Eau][Index1000_Inst]#,, -6 hour)

image
#[Cuisine][Compteur Eau][Debit 6h]# = variable(VolumeEau6h,0)

Un virtuel pour afficher les infos
image
image

L’historique de l’absence de fuite donne
image
Pas de conso depuis 6h lorsque c’est à « 1 »

Il me reste à vérifier si ce signal a au moins été actif durant les 3 derniers jours par exemple. Ainsi, en prouvant l’absence de fuite, s’il existe réellement une fuite, ça fuit depuis moins de 3 jours !

Pour une fuite inférieure à 1L/6h soit moins de 4L/jour, cela devient négligeable dans la conso quotidienne. Sinon, il faudrait mettre une alarme sur la conso lors d’une absence longue durée.

Le gestion de détection de fuite existe bien sur mon code avec deux types, détection sur un volume d’eau consommé et aussi la présence de consommation sur 24h? La grosse fuite d’eau est bien détectée et le fuite goutte à goutte est détectée au bout de 24h. En temps normal, il doit y avoir des non consommation d’eau sur le journée.

PS : je viens de créer un forum sur mon site www.fumeebleue.fr

@legeantvert, je vais vérifier mon code sur le gestion de l’heure …

Bonjour @legeantvert,
je viens de corriger le code pour la fonction getDatewithDLS avec le décalage d’une heure. Merci. Une version 1.02 sera bientôt dispo sur le Github.

Les compteurs "flow" et "volume" sont envoyés si le MQTT avec une persistance. Dès le démarrage du module, il reçoit systématiquement de la part du serveur MQTT les dernières valeurs de ces deux compteurs. Le reste est perdu notamment tout l'historique de la consommation sur 24h pour la détection de fuite.

Pour ton compteur Linky, je viens de publier une nouvelle version basé sur du LORA avec un supercondo. Plus besoin d’avoir une alim externe pour les longues distances… :slight_smile:

Tristan

Bonjour Tristan,

Merci pour ces retours et cette réactivité.
Je suis bloqué coté plomberie pour mettre en place mon compteur et tester. Il me faut des raccords pour modifier mon arrivée eau. Je suis en IDF et « confiné » ce n’est pas simple pour ce type de bricoles.

Je ne sais pas du coup si tu as prévu ou non d’afficher heure actuelle/démarrage?
image
Concernant le Linky, j’ai vu ton post avec la version Lora, je vais y songer mais cela fait une passerelle de plus, pour un seul périph… et sauf erreur les GW Lora c’est pas donné…
J’étais finalement plus parti sur une mesure par pince CT avec retour en wifi ou mysensors… une base openenergymonitor.com.
J’ai déjà Zwave, RFXCOM, zigbee, rflink, mysensors, bluetooth… Je ne suis plus à cela prêt :wink:
Christophe.

Salut Christophe,
oui je peux ajouter cette info sur la page, je prends note. En attendant, tu trouveras cette info avec la page info.json (http://adresse de ton compteur/info.json).
Pour le module LORA, je n’utilise pas la gateway LORA. C’est une module qui utilise la librairie LORA d’arduino avec une RFM95W et la gateway utilise un module ESP+LORA, le TTGO LORA32 dispo à 15 euros sur ali.
Tristan

Un nouvelle version du firmware 1.03 est disponible sur le github. Il y a maintenant la date courante et la date de démarrage sur la page information.

Super, sur quel github as tu mis à jour ?
Sur https://github.com/tdouez/ESPWaterMeter , je ne vois que le version 1.0.1 du 2020/09/16.
Merci.

Hello, c’est bon j’avais oublié de faire le commit ! :wink: