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.
03-11-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:
- ESPHome code S0tool
- Utility meter code
- Dashboard code
- Meterstand invullen in Home Assistant.
- Laatste versie van de code staat op Github
- Watermeter op het energy dashboard.
- Updaten van de S0tool
- Testen van je installatie
- NPN sensor houders
Benodigdheden:
- Wemos D1 mini ep8266 of deze.
- 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
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 ( 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. 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.
Mocht je de watermeter sensor op D2 hebben aangesoten kan je hem ook programeren via deze pagina selecteer je de watermeter install. https://huizebruin.github.io/s0tool/
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.
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
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)
29-10-2022 github code zo staan dat deze ook werkt met de Energie dashboard toevoeging van Home assistant v2022.11.x.
Code is al behoorlijk veranderd dan welke hier staat.
31-12-2022 code klaargemaakt zoal hij ook draait op de S0tool.
Hij is ook via deze pagina te flashen en dan selecteer je de watermeter install. https://huizebruin.github.io/s0tool/
01-01-2024 code aangepast voor ESPHome 2023.12.x
ESPHome code S0tool
# Delen en bewerken mag maar laat deze eerste regels staan. # Bron : https://www.huizebruin.nl # Bron File : https://github.com/huizebruin/s0tool/ # © Huizebruin.nl substitutions: name: s0tool-watermeter vdate: "v24.1.34" date: "01-01-2024" device_description: ${name} gemaakt door huizebruin.nl versie ${vdate} - ${date}. esphome: name: ${name} comment: '${device_description}' project: name: huizebruin.${name} version: "${vdate}" platform: esp8266 board: d1_mini esp8266_restore_from_flash: true #------------------------##------------------------##------------------------##------------------------# wifi: ssid: !secret ssid password: !secret password # ⬇ Hieronder niets veranderen tenzij je het overal goed aanpast ⬇ # # ⬇ Schakel fallback-hotspot (captive portal) in voor het geval de wifi-verbinding mislukt ⬇ # ap: ssid: "${name}" ap_timeout: 15s web_server: port: 80 captive_portal: # ⬇ Enable logging ⬇ # logger: level: INFO esp8266_store_log_strings_in_flash: false # # ⬇ Enable Home Assistant API ⬇ # api: services: - service: meterstand_water variables: meter_value: float then: - globals.set: id: initial_water_usage value: !lambda "return ( meter_value - (id(total_water_pulses)) * atof(id(Select_pulse_water).state.c_str()) ) ;" - globals.set: id: total_water_pulses value: "10" globals: - id: initial_water_usage type: float restore_value: yes initial_value: '010' - id: total_water_pulses type: int restore_value: yes ota: safe_mode: true reboot_timeout: 10min num_attempts: 5 # ⬇ Enable time component voor reset elke nacht ⬇ # time: - platform: homeassistant id: time_homeassistant on_time_sync: - component.update: S0tool_uptime_timestamp select: # ⬇ water per m3 rate ⬇ # - platform: template name: "Pulsrate water per m3" id: Select_pulse_water optimistic: true options: - "0.0001" - "0.0005" - "0.001" - "0.01" - "0.1" initial_option: "0.001" restore_value: yes on_value: then: - logger.log: format: "Chosen option: %s " args: ["x.c_str()"] #------------------------# Watermeter #------------------------# binary_sensor: - platform: gpio id: internal_pulse_counter name: Pulse Sensor Water pin: number: D2 allow_other_uses: true inverted: true mode: input: true on_press: - then: lambda: id(total_water_pulses) += 1; sensor: #------------------------# Watermeter #------------------------# # ⬇ watermeter pulsen ⬇ # - platform: pulse_counter pin: number: D2 allow_other_uses: true id: watermeter_pulse name: "watermeter pulse" state_class: measurement unit_of_measurement: "l/min" accuracy_decimals: 1 icon: "mdi:water-pump" filters: lambda: return x * atof(id(Select_pulse_water).state.c_str()) * 1000; # ⬇ Totaal watermeter ⬇ # total: id: sensor_pulse_meter_total name: "watermeter Totaal" unit_of_measurement: "m³" state_class: total_increasing device_class: water accuracy_decimals: 3 filters: lambda: return x * atof(id(Select_pulse_water).state.c_str()); # ⬇ Watermeter stand bij benadering ⬇ # - platform: template id: watermeter_total name: "watermeter stand" state_class: "total_increasing" icon: mdi:water unit_of_measurement: "m³" accuracy_decimals: 3 lambda: return id(initial_water_usage) + (id(total_water_pulses) * atof(id(Select_pulse_water).state.c_str())); # ⬇ Waterpulses only web interface for debugging ⬇ # - platform: template id: watermeter_pulses name: "watermeter pulses totaal" state_class: "total_increasing" accuracy_decimals: 0 lambda: return id(total_water_pulses); internal: True #------------------------# sensoren #------------------------# - platform: uptime id: S0tool_uptime - platform: template id: S0tool_uptime_timestamp name: "${name} online sinds" device_class: "timestamp" accuracy_decimals: 0 update_interval: never icon: 'mdi:clock-start' lambda: |- static float timestamp = ( id(time_homeassistant).utcnow().timestamp - id(S0tool_uptime).state ); return timestamp; # ⬇ versie verbinding informatie sensoren voor in ha ⬇ # # WiFi signal - platform: wifi_signal name: "${name} - WiFi Signal" update_interval: 120s text_sensor: - platform: template name: "s0tool_versie" id: s0tool_versie icon: 'mdi:alpha-v-circle-outline' update_interval: 6h lambda: |- return {"${vdate}"}; - platform: wifi_info ip_address: name: "${name} IP-adres" id: s0tool_ip_adres icon: mdi:ip-network ssid: name: "${name} Netwerk" id: s0tool_netwerk icon: mdi:access-point-network mac_address: name: "${name} Mac-adres" id: s0tool_mac_adres icon: mdi:folder-key-network-outline # restart button # button: - platform: restart name: "${name} Restart device" # Factory Reset Switch from ESPHome v2022.09 - platform: factory_reset name: Restart with Factory Default Settings
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.
03-11-2022 code klaargemaakt zoal hij ook draait op de S0tool.
Hij is ook via deze pagina te flashen en dan selecteer je de watermeter install. https://huizebruin.github.io/s0tool/
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
#utility_meter: ### watermeter S0 meter waterverbruik_per_kwartier: source: sensor.watermeter_totaal cycle: quarter-hourly waterverbruik_per_uur: source: sensor.watermeter_totaal cycle: hourly waterverbruik_per_dag: source: sensor.watermeter_totaal cycle: daily waterverbruik_per_week: source: sensor.watermeter_totaal cycle: weekly waterverbruik_per_maand: source: sensor.watermeter_totaal cycle: monthly waterverbruik_per_kwartaal: source: sensor.watermeter_totaal cycle: quarterly waterverbruik_per_jaar: source: sensor.watermeter_totaal cycle: yearly water_per_altijd: source: sensor.watermeter_totaal
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_per_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
Ga nu naar naar Service
Ga op de balk staan waar nu “Alarm_control****” staat.
Watermeter meterstand
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
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
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.
https://github.com/huizebruin/s0tool en om hem in 1x te flashen op de wemos d1 mini esp8266 kan je via deze pagina doen, voordeel dan is dat je hem kunt updaten met de laatste versie die ook op GitHub staat. https://huizebruin.github.io/s0tool/
Indien u opmerkingen of verbeteringen wilt aandragen over de code kunt u deze altijd doorgeven.
Watermeter op het energy dashboard.
Vanaf Home Assistant versie 2022.11.X is het mogelijk om met de S0tool vanaf versie v22.10.20 met de watermeter toe te voegen aan het energie dashboard.
Energie dashboard met watermeter toegevoegd vanaf V2022.11.X
Watermeter toevoegen aan het dashboard:
- Instellingen
- Dashboard
- Energie dashboard
- Wacht ongeveer een half uurtje en dan zal je de volgende stappen kunnen doen.
- waterverbruik en zoek dan : Watermeter Totaal
- Nu kan je naar je energie dashboard gaan en daar is nu je watermeter aan gekoppeld. Deze wordt elk uur geüpdatet.
De sensoren die je nu hebt vanaf S0tool versie v22.10.21
– huizebruin
Updaten van de S0tool
Ga naar je ESPHome dashboard
- klik op de 3 stippen
- klik op clean build files
- klik op install
Nu zal hij de laatste versie binnen gaan halen, en daarna bouwen, en nadat dat klaar is zou je een versie moeten zien welke boven de v22.10.20 is.
Wil dit niet moet je heb programmeren via de GitHub pagina https://huizebruin.github.io/s0tool/
Het beste is de standaard versie te gaan pakken, zodat je up to date blijft, en nadat je dat gedaan hebt kan je de S0tool wel via bovenstaande gedeelte blijven updaten.
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
NPN sensor houders
3d mallen
Welke zouden passen met de npn sensor .
- Sensus 620 mount for LJ18A3-8-Z/BX-5V proximity sensor
- Sensor Holder Watermeter Elster V200 Type 8212 / 18 MM Sensor
- Elster V200 Watermeter 18MM Sensor
- LB18A3-8-Z/BX-5V SENSOR HOLDER FOR KIWA AQUADIS WATER METER
- Sensor holder for Itron Flodis watermeter
- Watermeter Sensor Mount for LJ12A3
- Nieuw 02-01-2024
- LJ18A3-8Z/BX proximity sensor holder for Sensus 620
- LJ18A3-8Z/BX voor op de Maddalena MVM Belgium (Watergroep)
Zelfbouw systeem
DIY Beugel voor watermeter sensor.
Deze kreeg ik via mail toegestuurd door Kees van Os, en mocht hem delen met jullie .
Benodigdheden
- Meubel hoek 50 x 50 mm
- Meubelhoek 30 x 30 mm
- 1 x M4 bout / moer / ring
- Diverse tiewraps
Kort meubelhoek 50 mm aan 1 kant in tot vlak voor het gat .
Kort meubelhoek 30 mm aan 1 kant in zodat deze niet uitsteekt.
Bevestig beide aan los aan elkaar met M4 bout / moer
Zet de beide moeren op de sensor zo wijd dat de meubelhoek er precies tussen valt.
Zet sensor nu vast met tiewraps op de kleine meubelhoek.
Lijn geheel grof uit op de watermeter en zet vast met tiewraps .
Stel sensor fijn af boven het wieletje met de M4 bout en draai deze vast ( sleutel 7 )
LET OP SENSOR MOET SLECHTS DE HELFT VAN DE CIRKEL RAKEN ( zie foto , niet centreren op cirkel)
Heb je ook een mal voor een andere meter.
En wil je hem delen ? neem dan contact op
of reageer bij de wiki over watermeter. https://www.huizebruin.nl/wiki/npn-houders/
Dan zet ik hem erbij in de lijst die overal te zien is in de verschillende artikelen hier op Huizebruin.nl
Veel plezier ermee.
Mocht je aanvullingen hebben deel ze hieronder of via mail.
Spelfouten, taalfouten of inhoudelijke fouten ontdekt?
Stuur dan een mailtje naar de auteur van dit artikel!
Tevreden met deze website?
Als je dit artikel met interesse hebt gelezen klik dan op Vind ik 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.
Hoi, Watermeter werkt prima had hardware zelf besteld en gesoldeerd. Een hele tijd zelf met andere code te hebben verdaan via de link de s0tool via website geïnstalleerd. Deze werkt gelijk de eerste keer dank voor delen! wat details; Had alleen eerst op mijn buro een en ander getest en daarna op water meter gemonteerd, had bedacht om de waardes naar 0 te krijgen de knop” restart with factory default” gebruikt; dat was niet zo’n handig idee, opnieuw s0 tool geinstalleerd. Tip wellicht handig om “foute” test data nog uit energy dashboard te kunnen halen uitleggen?
Hallo Paul,
Bedankt voor je reactie.
Dat heb ik hierbij vermeld.
https://www.huizebruin.nl/home-assistant/wat-is-de-s0tool/
ook even erbij vermeld hoe je het verbruik recht kunt trekken
Ik heb in een januari een versie van bovenstaande geinstalleerd op mijn esphome device. Helaas kan ik hem niet bijwerken, en moet ik opnieuw beginnen.
Als ik echter bovenstaande code in esphome zet dan komt hij niet door de validatie
INFO Reading configuration /config/esphome/watermeter.yaml…
ERROR Error while reading config: Invalid YAML syntax:
Duplicate key “binary_sensor”
in “/config/esphome/watermeter.yaml”, line 194, column 1:
binary_sensor:
^
NOTE: Previous declaration here:
in “/config/esphome/watermeter.yaml”, line 82, column 1:
binary_sensor:
^
nu ben ik geen echte yaml kenner, dus als iemand een tip heeft, dan graag 🙂
Hallo Dirk Markink,
Bedankt voor je reactie.
zou je bovenstaande code nog eens willen proberen ?
maar wat ook kan is hem flashen via de GitHub pagina.
je moet de watermeter sensor dan wel op de zelfde aansluiting hebben aangesloten.
https://huizebruin.github.io/s0tool/
het is inmiddels gelukt, heb van github een oudere versie gepakt.
In de code hierboven mist trouwens een enter bij de substitutions, bij de name.
Heb nu op 2 plekken nog m3 in m³ veranderd, en device_class: “water” toegevoegd, nu werkt het ook netjes in de energymeter.
Bedankt!
Mooie stukje werk, met leerzame YAML voor HA, bevatte toch weer elementen die ik niet eerder zag. Heb wel wat feedback op de elektronische zaken, daar is nog verbetering te halen.
het “schemaatje” wat je getekend hebt, laat een relais en een spanningsbron zijn die aan de ESP gekoppeld worden. Dit natuurlijk niet de bedoeling. Je wil het interne van de inductieve opnemer weergeven, maar dat is natuurlijk geen relais en ook geen spanningsbron.
Het schemaatje wat er nu staat laat zien hoe je op de PNP versie van opnemer een relais aansluit, en hoe je de voeding moet aansluiten.
In je tekst werk je met de NPN versie, ofwel de opnemer met een NPN uitgang (open collector uitgang). Die schakelt naar massa. Als je een pullup wil gebruiken (kan ook via de interne pull-up in de ESP), dan moet je die naar 3.3V trekken en niet naar 5V. de ESP is immers een 3.3V device en geen 5V device. Juist daarom is een NPN uitgang handig, die kun je zelf naar het gewenste niveau tillen.
Er is ook wat tegenstrijdigheid over de sensor: in je boodschappenlijst hamer je op de 5V versie, even verderop in de tekst “het maakt niet uit, die van 6V doet het ook”. Dit is niet erg begrijpelijk voor de nitwit natuurlijk.
Om de sensor te bevestigen heb ik een sandwich van 3 plaatjes triplex met de lasercutter gesneden. In de sandwich past 1 zeskantmoer, de 2de moer er bovenop. Schroefgat erin voor de bevestiing op de meter, zit als gegoten. De plaatjes zijn ongeveer half-cirkelvormig.
Hallo JeeBee,
Bedankt voor je reactie.
Heb de tekst aangepast en de verkeerde teksten weg gehaald, groot gedeelte oot geschreven voor Domoticz en dit zo over genomen zonder te kijken.
Ook het plaatje van pnp omgezet naar NPN, en dat vakje wat je denkt een relais is is de inwendige schakeling van de npn sensor.
Ben zelf 1 dat ik liever een externe weerstand gebruik dan de softwarematige intern.
En de code ook direct aangepast om te kunnen werken met het energie dashboard van Home Assistant versie 2022.11.x
HOi, ik denk niet dat een relais os, het IS een relais wat je weergeeft. 🙂 Ben doorgewinterd electronicus en kan je verklappen dat het inwendige van de sensor, aan de schakeluitgang, een transistor is van het NPN type, met de collector aan de uitgang en de emitter aan ground. kijk hier maar eens : https://www.electronics-tutorials.ws/transistor/open-collector-outputs.html daar staat je pull-up weerstand ook in 😉
het schemaatje geeft aan hoe een relais, wat aan 1 kant aan de voedingsspanning hangt, aangesloten kan worden. Doordat de transistor het ander spoelcontact naar gnd zal schakelen kan een en ander werken.
nevertheless hardstikke goed, heb de waterstanden nu idd in het energy dashboard zichtbaar, nice !
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
Hallo Ramon Smits,
Bedankt voor je reactie.
Ik denk dat je nog een verouderde versie gebruikt.
Ik heb de code de laatste tijd erg veel verbetert en veranderd maar heb dat niet op deze pagina geüpdatet.
Dat schema wat je zit op de sensor is geen weerstand welke is afgebeeld maar dat is de tekening van de sensor zelf.
De weerstand heb ik er niet voor niets fysiek er tussen gezet en niet via de code. ik weet dat dat mogelijk is maar heb dit liever op de pcb dan via de chip.
ik heb de set hier al ruim 4 jaar draaien , 2 jaar met domoticz en nu bijna 2 jaar met home assistant dit laatste met de code welke ik gemaakt heb.
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.
Hallo Ramon,
Bedankt voor je reactie.
Aai dan staat daar nog de verkeerde foto bij. Meende dat ik die overal al had vervangen door een juiste foto.
Ga dat vanavond direct aanpassen.
En ja daar moet ook een weerstand tussen gezet worden.
Zie ook.
https://www.huizebruin.nl/home-assistant/wat-is-de-s0tool/
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
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.
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.
Hallo Joost,
Bedankt voor je reactie.
Heb de links klik baar gemaakt en ze gaan nu naar een nieuw venster.
bedankt voor je toevoeging, ga dat ook bij wat is de s0tool zetten.
Op de S0t00l die ik ontwikkeld heb voor het tellen van de watermeter zit de weerstand er standaard al op plus nog wat extra componenten.
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.
Hallo Joost,
Bedankt voor je reactie.
Mooi dat het gelukt is.
Waarom alles in m3 is gezet heeft de reden omdat je anders meer moeite moet doen voor de meterstand goed bij te houden.
Dit zo met de meterstand richting HA gaat hier al geruime tijd erg goed.
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,
Hallo LJ Kramer,
Bedankt voor je reactie.
Mooi dat dit gelukt is, ik heb daarom de s0tool ontworpen en daar ook ontstoring en verbeteringen op toegepast.
Hier zelf ook de kabel met ruim 1.5m moeten verlengen en nu zelf hier geen problemen met verkeerde metingen.
Het aanpassen van de standen etc, staan hier nog.
Dit komt hier ook nog bij te staan.
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 ?
Hallo Michael Boekee,
Bedankt voor je reactie.
Mooi dat het gelukt is.
Ik ben bezig om ook de liters totaal te toevoegen.
hou de site in de gaten zou ik zo zeggen.
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
Hallo Me-Chiel,
Bedankt voor je reactie.
Hier heb ik nog wat meer informatie.
https://www.huizebruin.nl/home-assistant/wat-is-de-s0tool/
En heb de S0tool ook op de webshop staan.
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?
Hallo Me-Chiel.
Bedankt voor je reactie.
Dat kan wel, maar dan moet ik even kijken wat er omgezet moet worden.
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.
Hallo André,
Bedankt voor je reactie.
Ik ga naar je toevoeging kijken en als het werkt hier ga ik ze veranderen.
Bedankt voor je terugkoppeling.
Hallo André,
Ik heb de tekst aangepast, had dat al wel op github aangepast maar was vergeten dat te veranderen op de website.
Plus nu de per altijd toegevoegd.
Dankjewel voor je toevoeging.
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?
Hallo Ivo,
Bedankt voor je reactie.
Is het nog gelukt om je data binnen te krijgen binnen Home Assistant?
Is je wifi verbinding sterk genoeg?
Weerstand verwacht ik niet dat je deze kapot gemaakt hebt.
Heb je hem goed aangesloten.
Data en ground niet omgedraaid.
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/
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??
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.
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.
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.
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.
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/
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.
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.