Watermeter uitlezen in Home Assistant met Esphome

De meterstanden van stroom en gas kan ik eenvoudig naar Home Assistant halen door de slimme meter te koppelen aan Home Assistant via de p1 kabel of andere plugins.
Het volgende idee was: Hoe kan ik de watermeter uitlezen in Home Assistant deze is nog niet slim zoals de elektriciteit en gas meter, dit ooit wel werkend gehad met domoticz maar nu niet meer. Als je onderstaande stappen volgt is dat eenvoudig te doen.
Kosten? een euro of 10 en een paar uurtjes vrije tijd!
Je moet al wel wat kennis hebben van Home Assistant & ESPhome dan is dit wel te doen.

10-06-2022

Ik heb de s0tool ontwikkeld en heb hier wat informatie over geplaats op
https://www.huizebruin.nl/home-assistant/wat-is-de-s0tool/
Tevens is hij nu als complete set inclusief behuizing en npn sensor te bestellen.

Zie hierboven in de shop voor de mogelijkheden.


Benodigdheden:

Of bestel de s0tool ontworpen door huizebruin.nl

Het idee is vrij simpel:
Op de watermeter zit een draaischijfje die bij iedere liter water éénmaal rond draait. Op dat draaischijfje zit een half maantje van metaal. De inductieve NPN sensor wordt boven het draaischijfje bevestigd en iedere keer als er een rondje gedraaid is wordt er een signaal naar de wemos gestuurd dat er één liter water verbruikt is. En deze geeft dit weer door aan Home Assistent.

De NPN sensor heeft 3 draden (bruin/zwart/blauw). Het beste kunt je dupont female connectors aan de 3 draden maken en dan een weerstand er over heen.
Ik heb dit zelf niet gedaan maar heb 2 headers op een eximenteer print gesoldeerd plus weerstanden en connectoren. Dit printje gebruik ik zelf om de watermeter & S0 zonnepanelen te meten, bij mij zitten er 2 weerstanden op omdat hij ook de S0 kwh teller functie ook op zich neemt.
Je zou dit ook kunnen kopen zodat je niet groter formaat hebt maar alleen iets hoger namelijk een Protoboard voor op de wemos d1 mini zodat je een klein torentje maakt Nederland of China.

De blauw draad moet op een GROUND-pin ( pin G (gnd)) aangesloten worden, de zwarte draad op een GPIO (bv. op D2) en de bruine draad op een 5V-pin (5v) en tussen die 2 zet je de 10K ohm weerstand deze zorgt ervoor dat de ingang niet gaat zweven en daardoor valse metingen gaat doen. Hoewel het een 6-36 Volt sensor is werkt deze prima op 5 Volt op een wemos d1 mini. Zodra de NPN sensor op de wemos d1 mini aangesloten is hou je het blauwe uiteinde tegen een stukje metaal (bv. schroevendraaier) aan nu zal het ledje bovenop moeten gaan oplichten.

Als je alles goed aangesloten hebt moet de led bovenop de sensor gaan branden. Indien dat het geval is hou je de sensor boven het draaischijfje met het halve maantje (van metaal). Ook nu moet de led op de sensor branden, zodra het metalen gedeelte van het draaischijfje voor de helft onder de sensor zit.

Mocht hij je sensor niet goed vinden kan je dit nog proberen te doen.
Bij mij was dat laatste niet het geval. Het bleek dat de plastic kap van de watermeter te dik was om de draaischijf te detecteren. Wat nu?? De watermeter slopen is geen oplossing, aangezien deze eigendom is van het waterbedrijf.
Op goed geluk heb ik een stuk schuurpapier gepakt en ben ik het blauwe uiteinde van de sensor gaan schuren. Stukje schuren, kijken of de led nu wel gaat branden, stukje schuren, etc., net zo lang totdat de sensor het draaischijfje kan detecteren.

Deze tip kreeg ik toen ik had gebouwd voor Domoticz een aantal jaren geleden

Zodra de NPN sensor het draaischijf goed detecteert is het tijd om de NPN sensor definitief op de watermeter de plaatsen. In eerste instantie zat ik te denken hoe ik een beugeltje ergens aan vast kon maken, heb ik een metalen strip geplaatst en deze vast gezet met Tiewrap aan de watermeter en daar heb ik een beugel aan vast gezet welke je voor installatie buis gebruikt, Daar heb ik de npn sensor in gezet zodat ik wat meer speling vanaf de zijkant heb zodat de sensor dus NIET precies boven het draaiende schijfje met een metalen halve maantje.

Ik lees veel dat mensen geen weerstand gebruiken en vragen daarna waarom?

Dit is nodig om ervoor te zorgen dat je digitale ingang of 0v (0 digitaal) of 5v (1 digitaal) binnen krijgt.
Zo zorg je ervoor dat de ingang niet gaat zweven. Door de kans op zweven kan je een plus extra binnen krijgen.

Mooie uitleg hierover vind je o.a.
“Pull-Down weerstand – Arduino” https://oscarromero-arduino.weebly.com/pull-down-weerstand.html
Of
“Pull-up resistor – Wikipedia” https://en.m.wikipedia.org/wiki/Pull-up_resistor


Dit heeft bij mij zo een 2 jaar gezeten, maar er is nu een 3d geprinte beugel onderweg .

Ik neem aan dat je Esphome al werkend hebt op je Home Assistant server.
dan maak je een nieuwe project aan door op het groene cirkel met de + erin die aan je rechterkant staat bij Esphome, aan en dan gebruik je de instellingen die hier onder staan als aanvulling.
Pak daar wel in de wizard direct de wemos d1 mini in de lijst en je eigen wifi ssid en wachtwoord!!

24-05-2021 20:00 update van de code geplaatst, van puls_counter omgezet naar puls_meter voor betere meting en voor ESPhome versie 1.17 en daarboven.

28-05-2021 22:12 update gedaan met de code.
17-07-2022 update naar de v22.07.13 code (github)
25-07-2022 update naar de v22.07.14 code (github)

ESPHome code S0tool

Daarna sla je hem op en kan je hem flashen door rechtstreeks aan je Home Assistant server een usb-kabel te verbinden of je complimeerd hem en flasht hem via je pc of laptop met de esphome flash tool.
Zodra hij geflasht is krijg je een melding op je dashboard dat er een nieuw apparaat is gevonden deze voeg je toe.

Vanaf nu kun je het waterverbruik in Home Assistent monitoren!
en nu ga je naar je configuration.yaml file en daar voeg je onderstaande code toe.


Heb je de slimme meter al gekoppeld dan kan je en daar de utility_meter gedeelte al hebben staan kan je de eerste regel weg laten en de rest plaatsen onder de slimme meter utility_meter data.

Utility meter code

Dashboard code

Daarna doe je een reboot nadat je via — instellingen — serverbeheer — Valideer configuratie hebt gedaan
dit moet je elke keer doen bij wijzigingen in je configuration.yaml file.

Nu kun je meerdere sensoren toevoegen aan je dashboard

  • waterverbruik_kwartier
  • waterverbruik_per_uur
  • waterverbruik_per_dag
  • waterverbruik_per_week
  • waterverbruik_per_maand
  • waterverbruik_per_kwartaal
  • waterverbruik_per_jaar
  • waterverbruik_per_altijd

Meterstand invullen in Home Assistant.

Ga naar Ontwikkelhulpmiddelen ( het hamer symbool) in de linker Zij balk

Open your Home Assistant instance and show your service developer tools.
Deze afbeelding heeft een leeg alt-attribuut; de bestandsnaam is DEv-optie-600x472.jpg

Ga nu naar naar Service

Open your Home Assistant instance and show your service developer tools.
Deze afbeelding heeft een leeg alt-attribuut; de bestandsnaam is service-600x213.jpg

Ga op de balk staan waar nu “Alarm_control****” staat.

Watermeter meterstand

Deze afbeelding heeft een leeg alt-attribuut; de bestandsnaam is watermeter-stand-600x184.jpg

En typ daar ” Watermeter ” in Nu kan je op het veld eronder de meter_value invullen.
Vul daar alleen het getal in voor de comma ( of sommige meters de rode vakken)
zodra je daar wat hebt ingevuld zal er een knop gaan oplichten met de naam service aanroepen .
Druk hierop en nu wordt de stand ingevoerd en zal hij ook juist zichtbaar zijn op je Dashboard.

Kwhmeter meterstand

Deze afbeelding heeft een leeg alt-attribuut; de bestandsnaam is kwh-meterstand-600x187.jpg

En typ daar ” KWHmeter ” in Nu kan je op het veld eronder de meter_value invullen.
Vul daar alleen het getal in voor de comma ( of sommige meters de rode vakken)
zodra je daar wat hebt ingevuld zal er een knop gaan oplichten met de naam service aanroepen .
Druk hierop en nu wordt de stand ingevoerd en zal hij ook juist zichtbaar zijn op je Dashboard.

Nutsmeter meterstand kwh/water

Deze afbeelding heeft een leeg alt-attribuut; de bestandsnaam is Nutsmeter_Calibrate-600x208.jpg
Open your Home Assistant instance and show your service developer tools with a specific service selected.

En typ daar ” Nutsmeter: Calibrate ” in
En dan bij Doelen welke meter je wilt aanpassen
Nu kan je op het veld eronder de value invullen.
Vul daar alleen het getal in voor de comma ( of sommige meters de rode vakken)
zodra je daar wat hebt ingevuld zal er een knop gaan oplichten met de naam service aanroepen .
Druk hierop en nu wordt de stand ingevoerd en zal hij ook juist zichtbaar zijn op je Dashboard.

Laatste versie van de code staat op Github

Via onderstaande link komt u op de Github pagina van de S0tool, hier kunt u altijd de meest recente versie vinden van de door mij geschreven code.

Indien u opmerkingen of verbeteringen wilt aandragen over de code kunt u deze altijd doorgeven.

Updaten

Ik ben er mee bezig dat de code automatische geüpdatet wordt richting de eindgebruiker, dit is nu in ontwikkeling.
Dan is het voor iedereen gemakkelijker straks om up to date te blijven met de huidige versie code welke online staat op Github.

Testen van je installatie

Als je de sensor hebt toegevoegd en alles hebt gedaan moet je gaan testen.
Ik heb dit gedaan met maatbekers van 0.5L en 1L nu moet je gaan kijken wat de sensor voor waarde geeft.
Ik hield zelf de 15min in de gaten wat mijn verbruik was.
Mocht die niet overeen komen moet je deze lijn de cijfers wat veranderen en daarna OTA updaten en weer meten.
ik heb nog niet kunnen vinden waarom de cijfers zo bij mij kloppen terwijl het bij anderen weer anders is.

Heb je een goede situatie gecreëerd dan heb je nu een mooie tool om je waterverbruik in de gaten te houden. staar je niet blind op de waardes, dit is een tool en je zult altijd nog je watermeter cijfers door moeten geven aan je leverancier.

Voor eventuele updates komen automatische richting mijn github.
hier staat nog veel meer informatie op over Home Assistant
https://github.com/huizebruin/s0tool

S0tool Bestellen

Wil of kan je hem zelf niet bouwen , ik hem hem ook als complete set te koop staan op deze website.

3D mallen voor de sensor


Hier staat een paar mallen, wil je de jouwe ook delen stuur een mailtje of plaats hem hieronder in de reacties

Q3 2.5 KWA teller

3d link voor deze mal:

Heb je ook een mal voor een andere meter. en wil je hem delen ? neem dan contact op

Veel plezier ermee.
Mocht je aanvullingen hebben deel ze hieronder of via mail.


Sale / Solden juli 2022Sale / Solden juli 2022

Spelfouten, taalfouten of inhoudelijke fouten ontdekt?
Stuur dan een mailtje naar de auteur van dit artikel!

Tevreden met deze website?

Abonneer
Abonneren op
guest
103 Reacties
Inline feedback
Bekijk alle reacties
DannyK

Ik heb de update nu een weekje draaien en ben er echt zeer tevreden over. Het enige wat ik heb moeten aanpassen in de code is een andere pin, dit vanwege ik zelf een print heb gemaakt en een andere pin gebruikt heb. Verder was het ff zoeken waar ik de meterstand kon invullen maar met de hulp van meneer huizebruin was dit snel gevonden. Dank je voor dit leuke project en dat je dit wil delen.

Joost

Leuk idee maar ik heb de watermeter in een put zitten (jaren 80 huis). Ik denk er nu aan om dit te gaan gebruiken in combinatie met Deepsleep op de Wemos, dan kan ik er een accu bij gebruiken. 

Ted

Ook ik heb je project toegepast en ik zie in de logs netjes de waarden voorbij komen wanneer ik de kraan open draai. Wat er alleen niet gebeurt is dat deze waarden worden geregistreerd en getoond op het dashboard in het kaartje in lovelace. Enig idee waarom dat is? Ben nog lerende/experimeterende en bedankt voor het delen inderdaad.

Ted

Bedankt voor de update. Ik was het e.e.a. al aan het uitvogelen maar ga je code zeker gebruiken.

Justin

Beste,
Ik heb de laatste versie van de .yaml van je github gebruikt.
En het werkt tot nu toe prima.
Enige wat ik merk is dat de sensor.watermeter_pulse iedere keer dat hij aan gaat een waarde geeft van 3,600L/min.
Hierdoor kan ik ook de utility meter niet goed gebruiken (behalve als er ook een andere manier is)
Is er hier een oplossing voor ?
Alvast dank
Justin

Justin

Ah super,
Ben benieuwd wat de verbeteringen worden .
Keep up the awesome work.
Groet

Patrick

Ik zit in hetzelfde schuitje als Justin, alles werkt goed, behalve dat elke geregistreerde hartslag 3,6L is, niet 1,0L. Bedankt voor je geweldige werk tot nu toe.

Patrick

Dat werkt geweldig, heel erg bedankt voor je harde werk

Patrick

Ik dacht dat we er goed uitzagen, maar ik heb misschien snel gesproken, de id: “sensor_pulse_meter_total” toont correct 1L elke puls, maar “id: watermeter_total” neemt toe met 6L elke puls. Een andere vraag en dit is misschien meer een HA-vraag, maar hoe dan ook, is er om de “id: watermeter_total” -lezing handmatig te wijzigen, zodat deze vanaf een bepaald aantal begint te tellen, dan zou deze worden gekalibreerd met de echte meting van de fysieke watermeter? nogmaals bedankt.

Ger

Maak gebruik van de watermater en deze werkt perfect! het mooie is ook dat ik nu niet meer in de kelder hoef om hem af te lezen. Een mooie uitbreiding op HA. bedankt Wobbe.

Jeroen

Goedemiddag,

Ik heb deze instructies gevolgd met de meest recente github s0tool.yaml.. Kan het echter ook zijn dat een watermeter toch niet geschikt is? De onze heeft een soort zwart tandwieltje dat draait ipv een halve maan. Voordat ik de blauwe sensor afschuur zonder dat dat ooit gaat helpen..

Overigens, ik ben gestart op de hierboven genoemde code: Dan komt mn device keurig online in ESPHome, toen heb ik wireless geupdate naar de s0tool (enige aanpassing was notatie van wifi) en nu komt deze niet meer online in esphome terwijl de sensoren (althans de restart) wel lijken te functioneren.. Alleen nog geen watermeting op dit moment.

Jeroen

Goedemorgen. Binnen dezelfde file idd (via HA Esphome dash). K zal t eens proberen.

En mbt de water meter enig idee over de versie met het zwarte tandwieltje ipv half maantje? T led lampje reageert sowieso al wat af en aan nl.

Jeroen

Goedemorgen,

Nee nog niet. Ik heb ook nog even niet naar de ESPH firmware gekeken, die Wemos reflashen is niet zo spannend idd (hoewel ik dus het Kwh deel niet nodig ben en puur alleen de watermeter).Ik probeer te achterhalen of mijn watermeter anders is en daardoor mogelijk niet werkt.. (zoals gezegd heb ik dus geen half maantje maar een zwart tandwiel.. En voordat ik je advies volg om de sensor af te schuren en dit gaat vervolgens niet werken, probeer ik daar uitsluitsel over te vinden om dan vervolgens alles in 1x te doen.

Herman

Hoi ik heb de watermeter geinstalleerd en zie de waarden in HA echter bij een reboot van de wemos begint de teller opnieuw . Vraag is wat doe ik verkeerd

Herman

Ja dat had ik gedaan maar niet toegevoegd aan een dashbord.
Nu wel gedaan maar nu zie ik een hoge waarde op dag/week enz
Kan ik die ook een reset geven??

Gertjan

Goedenavond,

Heb je S0tool besteld en ontvangen. Online geflashed en toegevoegd in HA, gaat allemaal eenvoudig waarvoor dank.
Ik heb een vraagje over de Wifi. Is het mogelijk om op een eenvoudige manier een sensor erbij te krijgen die de Wifi sterkte weergeeft. Hij zit namelijk in de meterkast waar de wifi niet altijd je van het is.

Ivo

Ik heb een probleempje, led gaat mooi aan bij metaal aanraking. Data komt nog niet door, wanneer ik bv met een schaar of schroevendraaier de grond aanraak komt alle data tegelijk door. Is mijn weerstand tussen 5v en data kapot?

André van den Broek

Ik heb de watermeter in gebruik, naar volle tevredenheid. Echter moet er volgens mij een aanpassing komen in het utility_meter deel voor HomeAssistant. Als basis heb ik niet sensor.waterverbruik_in_liters, maar sensor.water_totaal_verbruik. Dit is eigenlijk een totaalteller van alle pulsen.

Bovendien heb ik een utility sensor toegevoegd die nooit gereset wordt, dus geen cycle-waarde invullen :

water_per_altijd:  source: sensor.water_totaal_verbruik

Deze kan gebruikt worden om een vergelijking te maken met de fysieke watermeter. Eenmalig moet dan deze fysieke meterstand ingevoerd worden via de service utility_meter.calibrate. Daarna hoort deze synchroon te lopen met de échte meterstand. Alleen tijdens het offline zijn van HA in combinatie met waterverbruik zal deze service opnieuw uitgevoerd moeten worden.

Me-Chiel

Wat een uitgebreide informatie. Ik heb een soortgelijke oplossing in de waterput, maar ga zeker eens kijken naar de software die je geschreven hebt. Die ziet er echt piekfijn uit! Bedankt voor alle uitleg, die kon ik goed gebruiken. Na mijn vakantie zal ik er eens in duiken wie wat waar precies voor is en hopelijk mijn 3D printer repareren om te kijken of ik hier nog een handige houder kan toevoegen.

Gegroet,
Me-Chiel

me-chiel

top. Ik heb ondertussen de Wemos en alles geinstalleerd en dankzij de heldere uitleg komen de eerste m3’s binnen. Ik ben nog redelijk onbekend met ESPHOME, is het eenvoud om ook een sensor aan te maken die de Liters telt? ipv. de kubieke meters? Of stel ik nu een heel erg suffe vraag?

Michael Boekee

Gaaf! gelukt, ik was nog niet bekend met ESP bordjes, wel me overige electronica. Het flashen van een ESP module was dankzijn de uitleg prima. Wel gebruik ik een ESP32 waardoor er het e.e.a. in het script aangepast moet worden (bijv pin)

Ik heb een beugel geprint met mij 3d Printer waardoor de sensor perfect past. Netjes alles in een behuizing en de 10k weerstand. Kortom alles werkt perfect door de duidelijke uitleg!.

Ik lees dat het nog niet mogelijk is om alles weer te geven in leters, wat mijn voorkeur zou hebben, zal dit in de toekomst wel kunnen ?

Laatst bewerkt 2 maanden geleden door Michael Boekee
LJ Kramer

Gaaf! ook hier gelukt. Omdat de watermeter bij mij te ver weg zit voor de wifi heb ik de sensordraad verlengd. Hierdoor resonantie op het pulssignaal. Ik heb dit opgelost door 2 condensatoren van 100n toe te voegen aan het pulssignaal, eentje naar de + en eentje naar de massa. Dit als tip, misschien hebben jullie er wat aan.

Nu zit ik nog wel met de eerste metingen met resonantie, hierdoor honderden liters water geregistreerd. Wie weet hoe ik dit kan resetten en de watermeter-totaal op de juiste waarde kan zetten?

Alvast bedankt,

Joost

Hallo,

Ik heb via jouw website een Wemos D1 mini weten te flashen, de configuration.yaml aangepast, en alles lijkt als een zonnetje te lopen, erg gaaf!

Enige waar ik ‘mee zit’, de meterstand wordt nu in m3 genoteerd,
Als je dit in liters zou doen, dan kun je alle digits van de meter (incl. de drie getallen achter de komma) in zn geheel gebruiken, maakt dit de meterstand in Home Assistant niet een stukje nauwkeuriger ?

het is me ook nog niet helemaal duidelijk hoe het komt dat een deel van de entiteiten in liters is, en een deel in m3.

maar los van dit, bedankt voor de heldere uitleg en hippe tools.

Joost

En nog even een kleine aanvulling:

Wanneer je een Elster V200 PR6P:1 meter hebt (zoals in mijn nieuwbouw woning),
dan heb je een iets andere sensor nodig, nl de LJ18A3-8-Z/AX !
er zit geen metalen plaatje meer in de meter, maar een NFC antennetje.

zie hier voor de nodige info: https://www.rutg3r.com/new-elstar-watermeter-new-measuring-sensor-needed-for-nfc-monitoring/

Ik heb deze sensor zelf in gebruik, aansluiten gaat net als de ‘oude’ versie,
ik heb er een 10k weerstand tussen de D2 en de 5v gezet.

Bastiaan

Goedemorgen, met plezier heb ik deze blog gelezen. Heb al een tijdje een esp32 met een npn sensor. Hij geeft wel een pulse, die zie ik ook in HA. Maar de waarden zijn niet goed. Uur – dag – maand en jaar worden niet goed weergegeven. Uur wordt netjes elke uur op nul gezet maar bij de dag zie ik deze niet terug.
Mijn vraag kan ik uw settings op mijn bestaande esp zetten? Helemaal opnieuw flashen?
Ook nog een vraag over de ‘utility meter’. In de laatste update van HA moet je deze schijnbaar aanmaken via een ‘helper’ in het menu settings–> devices&services –> helpers.
Heeft u hier ook de settings voor?
Hoor graag van u.

Ramon Smits

Het aantal gerapporteerde liters/pulsen is meer dan de meter aangeeft. Ik vermoed dus een “floating pin”. Ik heb geen pull up/down weerstand maar het is mij onduidelijk waar ik deze moet plaatsen.

In jouw schema zit deze tussen bruin (+5V) en zwart (GPIO). Echter, het schema komt niet overeen met het schema op de foto van de sensor. Het schema op jouw sensor lijkt hetzelfde als mijn sensor.

Moet er dan ook een weerstand tussen bruin en zwart komen of dan juist tussen zwart en blauw?

Ook lijkt het te kunnen door de pin configuratie aan te passen:

 pin:
  number: GPIO13
  mode: INPUT_PULLUP of INPUT_PULLDOWN

Bron: https://esphome.io/guides/configuration-types.html

Ramon Smits

Dat schema wat je zit op de sensor is geen weerstand welke is afgebeeld maar dat is de tekening van de sensor zelf.

Dat is precies mijn vraag. Dat schema is anders dan het schema welke je gebruikt op deze blog. Het schema op de foto van de sensor is dezelfde als mijn sensor.

Zwart gaat via de sensor naar bruin (+5V) en niet maar blauw (GND).

In je benodigdheden spreek je over NPN maar in het schema staat PNP. Dit is waarschijnlijk het verschil maar het is dus onduidelijk of de weerstand dan nog steeds tussen zwart (GPIO) en bruin (+5V) moet bij de NPN sensor.

Ramon Smits

FYI: Dit is mijn code tot nu toe met een paar zaken die wellicht ook voor jou interessant zijn:

https://gist.github.com/ramonsmits/57a0db6c1d509c2d9ebc13fed8605eab

103
0
Deel je mening of stel een vraag:x