So I first bought one of these:
FS400A-G1 Flow MeterWater flow sensors consists of magnetic core, rotating
www.robotics.org.za
Fitted it, then realised that the pulses change in frequency depending on how hard the water flows through it, saw on
https://github.com/sekdiy/FlowMeter/wiki/Sensors#fs400a this guy did some testing with the same one and wrote custom firmware to try calculate it based on flow etc;
I decided to rather get a proper meter that sent a pulse every X litres so found this bad boy that has a reed switch option:
http://transducers.co.za/categories.../trantech-ttmjv-b-multi-jet-water-meter/#1076
Ordered it (R1437.50 incl vat and delivery to CPT)
Fitted it, the 25mm one gives a pulse every 10 litres if you use the single reed, or every 5 litres if you use both reeds (it comes with 3 cables (1) common (2) reed 1 (3) reed 2). Wired it to a Sonoff SV with Tasmota and now I get a pulse every 5 litres.
Spent a lot of time figuring out how to wire it but it's basically Common >> Ground then each reed to a GPIO, setup the counter on one of the GPIO's and it works (no voltage).
Also initially wired it up to an ESP32 running ESPEasy but when I fitted it, every time I saved the counter settings the board would corrupt and go into a boot loop which I found was a bug from ESPEasy's github pages and I assume the experimental ESP32 release of ESPEasy was affected by it.
It is 25mm and our mains pipes are 20mm so you do need a reducer and to cut out a piece of pipe to fit it in, luckily mine is easily accessible as it comes into the house and I have sheltered power right next to it.