Conso eau froide/chaude pour moins 15€

Screenshot 2022-03-31 at 03-37-13 Stations service - Jeedom

Bonjour à tous,

Voici un petit tuto car je viens de réaliser mon installation domotique qui me permet de mesurer ma conso d’eau chaude et d’eau froide. J’en profite au passage pour tester la température de l’eau chaude pour commander le Chauffe-eau (mais cela est un épisode).

Voici le cahier des charges que je me suis imposé :

Savoir combien d’eau chaude est consommée (en volume)
Connaitre la température de l’eau qui sort
Connaitre la consommation d’eau froide (avec une seconde turbine)
Que l’ensemble soit totalement autonome et interrogeable par wifi
Maitrise du coût de l’ensemble
Possibilité de remplacer des éléments actifs sans démontage

C’est finalement assez simple et super intéressant pour ceux qui comme moi aiment « bricoler » autant en soft qu’en hard.

Lien vers le tuto : Domotiser sa consommation d’eau ( – Sigalou Domotique

Évidemment, il peut y avoir des coquilles, je termine le tuto, il est 03h54 donc mes yeux (et mon cerveau) commencent à fatiguer. N’hésitez pas à rebondir, positivement ou négativement, je suis preneur de toute idée ou amélioration. Et si vous avez des questions, cette discussion est à votre disposition.

Screenshot 2022-03-31 at 03-30-43 Dashboard - Jeedom

16 « J'aime »

Beau boulot. Je vois que l’offre des compteurs d’eau s’est étoffée, c’est génial.
Quand il y a 5 ans nous n’avions que la sonde inductive…
Je l’ajouterai bien à ma piscine pour avoir juste la consommation de cette dernière.
Sinon pour la partie graphique, tu as suivi conso qui est très pratique pour l’analyse et le plugin suivi conso widget pour avoir les graphiques sur design.

Super tuto, bien détaillé et expliqué. Quelques petites remarques du coup :

  • Les entrées digitales des D1 mini supportent 5V, même si en théorie on doit rester sur du 3.3V. Par contre ce n’est pas le cas de l’entrée analogique (d’ailleurs je suis un peu surpris par la place de la résistance du montage diviseur de tension, j’aurais plutôt attendu une 100 kohm entre la thermistance et A0 comme cet exemple ; après c’est peut-être bon aussi)

  • Pour le rafraichissement toutes les 2s de la quantité d’eau chaude, il doit être possible d’utiliser les « rules » de ESP Easy de manière à remonter à cette fréquence que lorsqu’il y a utilisation (je le fais pour une mesure de pression en sortie de pompe par exemple). Cela éviterait de saturer Jeedom le reste du temps.

  • Bien vu la gestion des totaux en cas de coupure de courant. Je l’avais déjà fait dans esp easy localement (avec les rules et des valeurs remontées en mqtt retain), mais c’est plus simple de le gérer au niveau de Jeedom. En étant puriste, il serait même possible de renvoyer la dernière valeur à ESP Easy avec SetPulseCounterTotal :slightly_smiling_face:

  • Il me semble qu’il manque le paragraphe avec les explications sur les dénominateurs (390, 408, …)

Salut,

Belle réalisation :+1:
Je ne veux pas jouer les troubles fête, mais je ne pense pas que le capteur à effet Hall soit de qualité alimentaire pour pouvoir l’intégrer dans le circuit d’eau sanitaire :thinking:

Bien vu, je suis d’accord avec tout cela. J’ai tellement fait d’essais que je suis passé à côté.
Je vais modifier le tuto pour mettre une 100k et pour relier thermistance au 3.3v

Excellente idée, j’ai bien galéré avec cette histoire de rafraichissement et oui, cela me gène de laisser 2s de refresh. Tu aurais un exemple ? je n’ai jamais fait.

Bravo, oui, exact, j’ai oublié, je rajoute…

Merci pour ta lecture attentive, ce type de retour est génial pour moi et pour la communauté, merci pour ton implication.

Excellente question, je n’ai pas trouvé vraiment d’indication (ce qui n’est pas bon signe)
Juste cela :
image

1 « J'aime »

Bonsoir,
Très intéressant, matériel commandé ce soir pour tester tout ça prochainement.
Merci

2 « J'aime »

Ya d’autre plugin qui permettent de gerer le D1 ?

bonjour jmqtt !
exemple

Tu peux sinon exploité le json via script sans plug (avec un cron pour actualiser)

2 « J'aime »

Hello @sigalou,

Super tuto !

J’avais fait à peu près la même chose en 2018, avec Wemos + DS18B20 + Flowmeter 1-60L/min :
image image
Quelques traces (avant le démontage et la revente de l’appart) sont encore visible ici :

Par contre, j’ai une remarque la partie eau chaude :
L’hélice semble être en plastique noir, on la voit furtivement à la fin de la présentation vidéo de la turbine sur le site marchand. Pour éviter qu’elle ne soit altérée par la temperature élevée de l’eau, j’avais préféré ne mettre une turbile que 'en entrée du chauffe eau :

J’avais considéré que la quantité d’eau qui rentre dans le ballon est égale à celle qui sort, négligeant les effets thermodynamique qui aurait été de tout façon trop bas débit pour la turbine, au profit de la stabilité du plastique dans le temps.

Bad

3 « J'aime »

Si je me trompe pas, il faudra au moins 180k pour être sûr de couvrir toute la plage des 5V (même si c’est très peu probable que la thermistance atteigne sa plage max, mais au moins c’est plus sûr).

Voici le code que j’utilise sur une pompe avec deux timers (un qui tourne en boucle vite, et le second pour arrêter) :

////
// Mise à jour rapide de p_filtre sur arrêt/démarrage de la pompe
////

on pompe#pompe_en_marche do // Sur mise à jour état pompe
 // Si la pompe a changé d'état on met à jour la pression filtre toutes les 2s pendant 1 min
 if [pompe#pompe_en_marche]!=[piscine#pompe_etat_memorise]
  TaskRun,5 // Mise à jour de p_filtre
  timerSet,5,2
  timerSet,6,60
  TaskValueSet 3,4,[pompe#pompe_en_marche] // mise à jour de piscine#pompe_etat_memorise
 else
 endif
endon

on Rules#Timer=5 do
  TaskRun,5 // Mise à jour de p_filtre
  timerSet,5,2  // Relance dans 2s 
endon

on Rules#Timer=6 do
  timerSet,5,0 // Arrêt répétition timer 5
endon

Cela donnerait quelque chose de ce genre :

on Chaude#TotalChaude do
 if [VAR#1]=0
  timerSet,5,2
  timerSet,6,60
  Let,1,1  // passe la variable 1 à 1
  TaskValueSet 4,1,[Chaude#TotalChaude]  // remontée d'information par dummy device
 endif
endon

on Rules#Timer=5 do
  TaskValueSet 4,1,[Chaude#TotalChaude] // remontée d'information par dummy device
  timerSet,5,2  // Relance dans 2s 
endon

on Rules#Timer=6 do
  timerSet,5,0 // Arrêt répétition timer 5
  Let,1,0  // passe la variable 1 à 0
endon

Quelques remarques

  • Pour la rémontée d’info j’utilise un « dummy device » qui du coup sera la valeur remontée à jeedom. Normalement on pourrait faire sans avec un Taskrun,1 qui force l’envoi, mais j’ai peur que déclenche l’évènement Chaude#TotalChaude et tourne en boucle.

  • On pourrait remplacer le « dummy device » en forçant la mise à jour avec SendToHTTP. Dans ce cas il faut pointer vers l’ip de Jeedom et reprendre ce qui est dans « Controller Publish » dans l’onglet Controllers (si on utilise le plugin ESP Easy).

  • J’ai ajouté une condition avec la variable 1. En fait, j’ai peur que s’il y a trop de pulses ça réinitialise à chaque fois le timer 5 et/ou sature la rémontée d’info.

Une autre manière peut-être plus simple de faire, ça pourrait être d’utiliser Chaude#CountChaude>=10 comme déclencheur ce qui remonterait l’info dès qu’on a 10 pulses. A voir.

un exemple d’alimentation a utiliser ?

?! tu n’aimes pas ESP Easy ? tu cherches quoi de plus ou de moins ?

On va dire que j’évite certains plugin. Et si je peux essayer de ne pas les multiplier en plus.

Merci pour ton retour d’expérience.
Je n’avais pas vu ta page, je vais la lire en détail.

Pour la mesure en entrée de chauffe eau, oui, tu as raison, mais j’étais parti sur une mesure de la température de sortie car au final, c’est en fonction de cette température que j’active ou pas le déclenchement du chauffeeau à la prochaine plage d’heures creuses.

ok, j’ai compris. :crazy_face: :rofl:
Mais finalement le plugin ne fait pas grand chose c’est ESP Easy sur l’ESP qui travaille.

1 « J'aime »

Je branche le D1 sur le port USB d’un Raspebery qui sert à autre chose, tu peux le brancher sur n’importe quel port USB si tu as un NAS ou n’importe quoi dans le secteur qui a un port USB. Sinon, un bon vieux chargeur de téléphone ou de transfo 5v usb fera l’affaire.

1 « J'aime »

t’es au top, je regarde ça dans le we.

ESP Easy sait tout à fait remonter les informations en MQTT (en choisissant « Home Assistant (openHAB) MQTT » comme controller) et le plugin jMQTT fonctionne très bien. Je trouve cela effectivement plus pratique que de multiplier les plugins.

En fait en y repensant, avec la variable que j’ai ajouté je pense qu’on doit pouvoir se passer du dummy device et remplacer les lignes avec TaskValueSet par Taskrun,1 ce devrait avoir pour effet de forcer l’envoi de l’info de la tâche 1, relancer effectivement un évènement Chaude#TotalChaude, mais sans rentrer dans une boucle infinie grâce au if.
A tester en regardant ce qui se passe dans la page Tools > Log.