Using RTL-SDR to read value from wireless electric/gas/water meters

almost there…, just about done configuring the sdr on rasberry pi, setup was a pain in the ass to get ssh working

I want to change the frequency to listen on 462…, if i do sudo rtl_tcp -4 462.4125 is does Hz and not Mhz, do you know i how i can convert it?

What device are you trying to read at 462MHz? Is it shown on the rtlamr compatibility list? (link)

1 Like

how do you use this? https://github.com/bemasher/rtlamr

i finally got go installed and configured, i downloaded the github repository and went into the directory rtlamr, but when i tun rtlamr, nothing happens??

when trying to run the rtlamr, i get an error

david@> raspberrypi:~/projects/src/src/github.com/bemasher/rtlamr$ go run main.go

command-line-arguments

./main.go:58: undefined: msgType

./main.go:59: undefined: msgType

david@raspberrypi:~/projects/src/src/github.com/bemasher/rtlamr$

Just replied on your other thread…

I keep getting an error,

david@raspberrypi:~$ python3 watertohomeass.py
** File “watertohomeass.py”, line 11**
** client.connect(“192.168.1.246”, 1883, 60)**

now i get invalid character in identifier

Why am i getting an error after 10 minutes?

client = mqtt.Client()
client.connect( **"192.168.1.246"** , 1883, 60)
client.loop_start()

try :
while True:

completed = subprocess.run([ '/home/projects/bin/rtlamr' , '-filterid=1481976504' , '-format=json' , '-duration=10m' , 'msgtype=r900' ], stdout=subprocess.PIPE, stderr=subprocess$

try :
data=json.loads(completed.stdout.decode( **"utf-8"** ))
**except** ValueError:
print ( "Error" )

This is the code i feel it’s erroring out on, if i just run the david@raspberrypi:~$ /home/projects/bin/rtlamr -filterid=1481976504 -msgtype=r900 -format=json
it works fine

I have a feeling 10 minutes may not be enough time for it to “pick up” on the signal, so do i need to extend it? i got the script from someone else on this forum and they had it working fine…, this is for a water meter

Before running the script initially try to run rtlamr to see what signals you are able to sniff out.

/home/projects/bin/rtlamr -msgtype=r900

you can try different values for msgtype: all, scm, scm+, idm, netidm, r900 and r900bcd depending on your type of meter and computational power. Once you identify YOUR meter enter the meter number in ‘-filterid=XXXXXXXXXXXXX’.

Thanks for the response, I did! I was able to run this without the quotes of course just fine, however I didn’t wait long enough to see the results since I assume it’s only outputted 4 times a day or so, ‘/home/projects/bin/rtlamr’ , ‘-filterid=1481976504’ , ‘-format=json’ , ‘msgtype=r900’ no errors were ran, if I didn’t have the filterid I would get responses immediiately

Did you read my post?

This is the code i feel it’s erroring out on, if i just run the david@raspberrypi:~$ /home/projects/bin/rtlamr -filterid=1481976504 -msgtype=r900 -format=json
it works fine

there is a - missing for msgtype

Thank you!!! i’ll take a look at this when i get home

while True:
completed = subprocess.run([ '/home/projects/bin/rtlamr' , -filterid=1481976504', '-format=json' , '-duration=1440m' , '-msgtype=r900' ], stdout=subprocess.PIPE, stderr=subproc$

try :
data=json.loads(completed.stdout.decode( "utf-8" ))
except ValueError:
print ( **"Error"** )

it still errors out…

I tried this one too, and am getting an error here too

david@raspberrypi:~$ python3 rtltohomeass.py
  File "rtltohomeass.py", line 19
    proc = subprocess.Popen([‘/home/projects/bin/rtlamr’, '-filterid=1481976504', '-format=json’, ‘-msgtype=r900’],stdout=subprocess.PIPE)
                             ^

the quote character is different, the error says that clearly.

What are all the characters in the end and the **, Use RTLAMR: RTL-SDR to read electric/gas/water meters · GitHub and just change the following line

completed = subprocess.run([‘/home/pi/go/bin/rtlamr’,‘-filterid=1481976504’, ‘-single=true’, ‘-format=json’, ‘-duration=10m’, ‘-msgtype=r900’], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)

yes those ## are not in my code, how it was copied over, apparently it doesn’t like spaces, but it’s working now! How do i get the data over if i have a leak? that is part of the json, but it only reads the meter reading

Weidly if i change the time to 24 hours in minutes, it will work for 10-15 mintes but then error out, if i change the time interval to 10 m it doesn’t work at all…

Looks like PG&E will allow you to use zigbee devices if you register your MAC…
I’ve got a nortek HUSBZB-1, and if I can figure out the MAC address, hopefully I can register it with PG&E to stream my data!

Anyone know how to find the MAC address of a usb radio?

Thanks in advance