I have accessed my Itron electric meter several ways. At present I’m using rtlamr to write to a csv file which I read with a Python program I wrote which then writes to an Influx database which Grafana accesses to generate a graph.
Here’s the rtlamr command I use: rtlamr -centerfreq=915000000 -symbollength=32 -tunergain=40 -msgtype=scm+ -filterid=69355852 -format=csv > meter.csv
But in the past I also just used rtl_433 to output to a mqtt file. Then I used a Python program I wrote to read the mqtt file. For that I used this command: rtl_433 -f 915M -g 40 -s 1M -R 160 -F mqtt
Some of the parameters may seem similar between rtl_433 and rtlamr, but you have to use their own set of parameters.
As far as weak signals, at first I had the opposite problem. I was using my roof mounted 2m/70cm antenna and was picking up over 50 meters around the neighborhood. That results in a lot of unnecessary processing time and signal conflicts.
I now use one of those little RTL-SDR indoor antennas and only pickup 2 other meters besides my own. As a result my meter gets thru more often,. It varies between once a minute to maybe 20 minutes. That’s mainly because they use a random delay between unsolicited transmissions. The meter reader truck apparently polls meters and gets a transmission right away.
You may know this, but the meter transmits 2 more digits of accuracy than the reading shown on the meter. I calculate the difference between the previous and current readings to get watts used in my Python program.