How to read Enbridge Natural Gas Meter

It looks quite similar, in principle to my meter. If the ESP32 is situated inside, and the TCRT5000 sensor is connected via a long, flying lead it should work. The light sensor would need to be housed in a weather proof case though.

Although, I think the same issues may arise as I’m having where the speed of the dial rotating can be a problem. If the needle rotates quite fast when gas is being used it should work fine. There appears to be a decent contrast between the needle and background, so it is a case of somebody trying it, and adjusting the YAML code to trigger the total counter.

Since I posted my original post I did attempt to get an AI on the edge ESP32CAM up and running but haven’t been able to work out all the issues yet. Had to order 3 different ESP32CAM units to get the right one (mainly due to my stupidity) but now have one that I was able to get the software up and running on and I mounted the ESP in a container but haven’t figured out a good way to mount it in front of the gas meter. Also I don’t have an outside outlet anywhere near the gas meter so powering the ESP is challenging as well as my WiFi seems to really suck at the gas meter location so the response time of the AI on the edge web interface was terrible. All that being said I set the project aside for now and haven’t made the time to try more to get it working. It does seem like a good way to read the meter, it’s just a lot harder to get it working for an outside meter, especially one that is fully exposed to the elements.

Anyone looked at this one

or this one

I don’t know if Enbridge meters use pulses or not. I am interested in doing so too

I have managed to get my analog gas meter logging accurately using an ESP32 and a TCRT 5000 IR sensor.

This is my updated post on what I did, and the YAML code to achieve it.

If you want more details then you could start by reading from the top of the post if you had time to spare. If anybody has any questions on this, do feel free to ask. I’m no expert, but if I can assist in any way I’m more than happy to do so. :+1:t2:



While that is pretty amazing, I don’t think that will work for the gas meter I have as it is completely analog and there isn’t any electronics on it at all, so no pulse or anything. There may be a magnet on one of the dials that might be able to be read but I still think my best bet is the “Ai on the edge” if I can get a weatherproof box setup for it.

Oh, I just actually looked up the sensor that you used and realized that it isn’t reading an IR pulse from the meter, it is bouncing IR light off the dial, which could probably work for these Enbridge meters. I’ll take a look!

Hi Peter,

Yes, my meter is a fully analog ‘dumb’ meter - no flashing LED’s, no magnets, no RJ45 ports. I should maybe have been more clear in my write-up about the sensor. They’re only a couple of £’s on eBay / AliExpress and ithe sensor works well, so it could be worthwhile to get one and play around with it and see what happens.

I have my sensor on a flying lead coming from the ESP32. This means you could mount the ESP32 inside your house for the WiFi signal and power requirements, drill a small hole through the outer wall near the meter, and connect the IR sensor externally. I would suggest some type of waterproof housing over the meter to keep the weather out (ooops, :relaxed: yes, you said that in an earlier message)

I hope this helps,


Having all the same issues!! I’m just north of London, Ont. and have the same Union Gas / Enbridge ACM250 meter. Also outside of the house and also far from any power outlets and decent wifi reception. I’ve been researching this for a while but have not yet come up with a solution. Would be nice if the utility would swap the display unit on the meters with a unit featuring pulse output (PulseMaster Pulse Output Retrofit Kit — Measurement Control Systems) but that’s not likely to happen anytime soon. Following for ideas and continuing to experiment with solutions.

Hi Muddy_Boots. I’ve read through your solution and it looks promising for our fully analog gas meters here in southern Ontario. I wil need to do some experimenting; I can route a simple two conductor cable to the meter and leave the ESP unit indoors and closer to wifi.
The biggest issue I foresee is the cloudiness of the imaging/IR. Our meters are outdoors and the plastic cover over the digits/gauges is cloudy and somewhat opaque => experimentation required! The dials on our meters are also fairly narrow [which may impact the IR pulse] and seem to read in 0.1 and 0.5 m^3 increments and the digits read full m^3 (I believe). If a reliable count of the 0.1m^3 needle rotation can be collected then it should be possible to calibrate that back to the utility’s reading. Gas meter readout


The measurement of the dial can be set within the yaml code to log in ft3 or m3 - you just tell it which one. The flying lead from the ESP32 to the sensor is three core - +ve 3.3v, gnd and the analog output from the sensor. As the sensor uses IR, and not visible spectrum of light I don’t know how much this could be affected by being situated outside. I’d just experiment with it, and maybe make a cover of some sort to slip over the dials if readings prove erratic.

I would say your starting point is to spends a few £’s on getting the ESP32 & TCRT5000 and take it from there.

Do feel free to shout if struggling to set it up. :+1:t2:



Hey everyone, just came across this thread. Really exciting to see that so many Ontarians are interested in getting better natural gas data! We just invented a sensor that straps around the meter (without covering the display) and it uses cellular data instead of WiFi, to avoid the WiFi issues outside.

Still working on it in the lab but the first version will be ready in May. Would love to chat with y’all and understand what you’re using it for / what you’re trying to learn from this kind of data


I live in the US and that general style of gas meter (diaphragm) is the norm. None of the easy options worked for me but I stumbled across folks using magnetometers to sense the movement of the diaphragm and went that route. Had it up for a couple months and it’s been working flawlessly. The beauty is I feel like it’s even more resilient than other options, as what it’s sensing is so large, as long as the sensor doesn’t just completely fall off the side of the meter you’re unlikely to find it has stopped working as intended.

Here’s a post I made in another thread with the info on my setup.

Hopefully it’s helpful for someone else, as I was just about to give up on capturing my nature gas consumption before I stumbled on this method.


Amazing! I’ll volunteer for an alpha/beta test if you want. I am actively trying to get rid of my gas service but it might take me a while and in the meantime I would love to get live data from my dumb gas meter.

I’m in Toronto, Ontario and watching this thread! (on the edge of my seat). Keep this project alive! Come back and let us know what works.

I’m from the London Ontario area and am also willing to test / help in any way. I’ve tried the OCR methods as well as the reflection-from-the-dial-pointer methods with limited success and reliability due to the “outdoor” nature of the measurements and the inherent issues with stray sunlight/shadows at various times of the day. Any way to directly measure diaphram movement and integrate with ESPhome counters would be awesome.
Enbridge meters don’t appear to have the pulse counter output - just the digital display.

If you are posting here, I hope you consider a non cloud-based solution. Although cellular would give you easy connectivity for your customers, many of us using HA are doing so to escape cloud-based solutions.

Hopefully you will consider Wifi or zwave or zigbee as options too.

I am in Toronto and there may be an option for electricity monitoring. Toronto Hydro now makes energy data available through something called Green Button. I can log in and download an XML file with hourly usage data. Apparently all utilities in Ontario are supposed to provide this service to their customers.

Right now getting the data is a manual process, but hopefully they set up a REST API in the future.

For electricity monitoring I would definitely recommend installing your own monitoring system. I have the Iotawatt which works pretty well, but if I was going to buy another I would go with the Emporia Vue and flash it with ESPhome. That way you can get live data on your energy use and also monitor directly any major loads.

I’m currently using Emporia Vue and love it, but haven’t flashed it to ESPHome yet. Still using the cloud.

With regards to the green button, that would not be instant date, it’s more for analyzing the usage at the end of the month from what I understand .

Now if they provide an API with instant data access that’s another story.

i just installed emporia vue flashed with esphome, installation was straight forward and everything went fine, really loving the monitoring it’s great to know exactly how much in and out from grid…
don’t think they can provide instant data access via green button right? don’t they still have to read the meter by driving by? and if it’s enbridge they literally manually read the meter with their eyes lol