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.
Benodigdheden:
- Wemos D1 mini ep8266 of deze of vanuit Nederland
- Home assistant al werkend
- Esphome al werkend
- 10K weerstand (100 stuks aliexpress) of (uit NL 10stuks of 100stuks)
- NPN sensor (Deze gebruik ik zelf ook en werkt hier perfect) of een goedkopere China of uit Nederland
Zorg ervoor dat het sensoren voor 5V zijn niet 6V of hoger!!
Hieronder zijn opties :- Dupont kabels/connectors kan maar hoeft niet Nederland of China
- Protoboard voor op de wemos d1 mini zodat je een klein torentje maakt Nederland of China
- Soldeerbordjes China of Nederland
Of bestel de s0tool ontworpen door huizebruin.nl
-
S0tool v2 behuizing€ 7,00
-
SDM120D MID – 1 Fase kWh meter met puls uitgang 45A 1000puls/kwh
-
Elektronische wattmeter GreenBlue GB173 40A 2000puls/kwh
-
S0toolProduct in de uitverkoop€ 18,00 – € 30,50
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.
Deze tip kreeg ik toen ik had gebouwd voor Domoticz een aantal jaren geleden
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.
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
substitutions: time_timezone: "Europe/Amsterdam" version: "1.33" device_description: s0 kwh meter en watermeter friendly_name: S0 meter name: Water Meter esphome: name: pulsmeters-190 platform: ESP8266 board: d1_mini project: name: huizebruin.S0-meter version: "${S0_meterversion}" wifi: ssid: !secret ssid password: !secret password manual_ip: # Set this to the IP of the ESP static_ip: 192.168.178.190 # Set this to the IP address of the router. Often ends with .1 gateway: 192.168.178.2 # The subnet of the network. 255.255.255.0 works for most home networks. subnet: 255.255.255.0 # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "S0-Meter Fallback Hotspot" password: "k5nkOYH6MhHN" captive_portal: # Enable logging logger: # Enable Home Assistant API api: ota: # Enable time component to reset energy at midnight time: - platform: sntp id: my_time sensor: - platform: pulse_meter pin: D5 name: "opbrengst_zonnepanelen_in_W" id: W_opbrengst icon: "mdi:solar-power" accuracy_decimals: 0 unit_of_measurement: 'W' filters: - multiply: 31 total: unit_of_measurement: 'kWh' name: 'zonnepanelen_kwh' icon: "mdi:solar-power" accuracy_decimals: 2 filters: - multiply: 0.0005 - platform: pulse_meter id: sensor_pulse_meter pin: D2 name: "Waterverbruik_in_liters" # id: water_usage icon: "mdi:water" unit_of_measurement: 'L/min' accuracy_decimals: 1 timeout: 2min # filters: # - multiply: 0.016666667 # orgineel total: id: sensor_pulse_meter_total name: "Water Total verbruik" icon: "mdi:cube-outline" unit_of_measurement: "M3" accuracy_decimals: 3 filters: - multiply: 0.001 - platform: template update_interval: 10min name: "${name} Usage" icon: "mdi:water-pump" id: sensor_pulse_counter lambda: |- return (id(sensor_pulse_meter).state); - platform: template update_interval: 10min name: "${name} Usage in m3" icon: "mdi:cube-outline" unit_of_measurement: "M3" id: sensor_pulse_counter_total lambda: |- return (id(sensor_pulse_meter_total).state); switch: - platform: restart id: switch_restart name: "${friendly_name} Restart" text_sensor: - platform: version name: "ESPHome Version - ${friendly_name} " hide_timestamp: true - platform: template name: "Esphome ${friendly_name} Version" update_interval: 5h lambda: |- return {"${version}"}; |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
utility_meter: waterverbruik_kwartier: source: sensor.waterverbruik_in_liters cycle: quarter-hourly waterverbruik_per_uur: source: sensor.waterverbruik_in_liters cycle: hourly waterverbruik_per_dag: source: sensor.waterverbruik_in_liters cycle: daily waterverbruik_per_week: source: sensor.waterverbruik_in_liters cycle: weekly waterverbruik_per_maand: source: sensor.waterverbruik_in_liters cycle: monthly waterverbruik_per_kwartaal: source: sensor.waterverbruik_in_liters cycle: quarterly waterverbruik_per_jaar: source: sensor.waterverbruik_in_liters cycle: yearly |
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

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.
filters:
– multiply: 0.0435
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/Home-Assistant-Config/blob/main/esphome/
Heb je een 3d printer?
Hier staat een paar mallen, wil je de jouwe ook delen stuur een mailtje of plaats hem hieronder in de reacties


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.
Als je dit artikel met interesse hebt gelezen klik dan op LEUK .
Voor u een kleine moeite voor mij een compliment.
Alvast Bedankt.
Als je feedback, tips of iets anders hebt,
aarzel dan niet om hieronder een reactie achter te laten.
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.
Hallo DannyK,
Bedankt voor je reactie.
Ik ga binnenkort een handleiding maken voor de nieuwe code.
En hoe en waar je alles in moet gaan vullen.
Mooi dat het nu werkt.
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.
Hallo Joost,
Dat zou mogelijk zijn.
ik heb in de hoek een klein gaatje gemaakt en daar de kabel doorheen richting de meterkast, heb de originele kabel verlengd met een kleine 2m totaal.
Weet niet hoelang een accu mee gaat.
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.
Hallo Ted,
Bedankt voor je reactie.
Ik ben druk aan het schrijven voor de update voor de watermeter.
Deze zal zeer binnenkort online komen. ( code staat al wel online hier )
Bedankt voor de update. Ik was het e.e.a. al aan het uitvogelen maar ga je code zeker gebruiken.
Hallo Ted,
Heb nu ook een pagina online gezet waarmee je hem direct kunt flashen.
wemos aan je (pc/laptop) en dan is het flashen zo gedaan en staat de laatste versie erop. https://huizebruin.github.io/s0tool/
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
Hallo Justin,
Bedankt voor je reactie.
Ik ben nu er mee bezig om dat beter te maken.
Er zijn wat dingen verkeerd gegaan, dat ben ik recht aan het trekken.
Ah super,
Ben benieuwd wat de verbeteringen worden .
Keep up the awesome work.
Groet
Hallo Justin.
Ik heb het probleem gevonden en verbeterd.
Nieuwe code staat al een tijdje nu op github.
En heb nu ook een pagina online gezet waarmee je hem direct kunt flashen.
wemos aan je (pc/laptop) en dan is het flashen zo gedaan en staat de laatste versie erop. https://huizebruin.github.io/s0tool/
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.
Hallo Patrick & Justin.
Zouden jullie 2 deze willen testen?
https://github.com/huizebruin/s0tool/blob/dev/esphome/pulscounter.yaml
Dat werkt geweldig, heel erg bedankt voor je harde werk
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.
Hallo Patrick.
Watermeter totaal is helaas niet te wijzigen zover ik weet.
momenteel alleen de watermeter stand is te wijzigen.
misschien dat de andere ook nog wel kan maar dan zal ik in de code moeten gaan duiken.
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.
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… Lees verder »
Hallo Jeroen,
Heb je hem geüpdatet binnen dezelfde esphome file?
dan zou hij normaal gesproken ook weer online moeten komen.
Anders een nieuwe aanmaken met de laatste gegevens vanaf mijn GitHub, en deze opladen via kabel naar je wemos.
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.
Hallo Jeroen,
Is het al gelukt?
Ik heb nu ook een website online gezet waarmee je de wemos direct kunt flashen.
https://huizebruin.github.io/s0tool/
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.
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
Hallo Herman,
Heb je ook de utility sensoren aangemaakt.
Deze gaan de dag/week/maand tellingen doen.
Omdat de Wemos dat niet allemaal kan verwerken.
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??
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.
Hallo Gertjan,
Bedankt voor je reactie.
Mooi dat hij goed is overgekomen.
Ik zou dit wel er in kunnen plaatsen,
dat zou geen probleem moeten worden.
hallo Gertjan,
ik heb hem toegevoegd aan de configuratie.
je kunt de wemos nu ook flashen via deze pagina.
https://huizebruin.github.io/s0tool/
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?