Hello guys,
I'm new into the Arduino world and this is my first post here so excuse any rookie mistakes.
I'm building a system to monitor the utilities for my house (electric, gas, water).
The gas counter has a magnetic pulse, so it was pretty straight forward with hall effect sensor (just counting the pulses and sending them to the server)
For the electric power, I've based the system on
http://openenergymonitor.org/ libraries (just minor tweaks to work with the components I had)
Here is the main dashboard for the system:
http://shiftdel.ro/zabbix/screens.php?ddreset=1&sid=e96e7280051a9cd4The problem that I have is with the water monitoring. I have and old counter that does not have any kind of electronic output, it is all mechanical so hall effect sensors are out of the question and it has no mirror on one of the numbers. Here is a picture of it:

The only way that I could think of is to read the "water leak indicator" (the black 6 tooth cog). To do this I've used a CNY70 (only the detector) and a laser pointer diode to be able to focus the light so the beam of light is not wider than one of the cogs tooth. When the the laser hits the background a little bit more light comes back than when it hits the cog. I only get a variation of ~30 units (from arduino's 1024 analog read) and the signal is not very clean so this makes it error prone and system is very sensitive to external light.
Ok now for the question: Does anyone (especially guys with more experience with optical systems) have an idea on how to improve this?
Please don't recommend to replace/add a counter, this is not an option due to utility company policy and space constraints in the manhole.
Thanks
Misu