Community
OpenEnergyMonitor

Community

Need help diagnosing RFM69PI Radio Communications

I have dug out a RFM69PI I bought a while ago (which I’m sure worked) and put it into a new Raspberry Pi 2. I have written a small program to read the serial port and all is good.
I can send the “v” command and I get back:
[RF12demo.12] E i5 g0 @ 433 MHz

So the serial comms is working! But after that, all I get back is noise!
? G0 33 251 14 8 32 156 10 72 23 125 76 129 5 136 80 57 72 183 240 112 22 (-82)
? G0 4 208 38 5 87 14 219 50 111 15 37 27 146 156 201 200 162 7 18 62 66 (-84)
? G0 20 156 39 249 3 208 193 72 30 20 202 29 211 98 19 237 128 235 183 198 12 (-82)
? G0 0 137 139 3 25 230 105 91 132 24 163 8 235 65 154 127 232 111 195 137 241 (-87)
? G0 8 206 253 24 148 130 197 186 83 (-82)
? G0 4 168 120 34 22 141 245 69 29 (-84)

So my guess was no signal, so I turned my EmonTx off and on again, and it looked good, LED on for 10 sec, blink for 10 sec then flash every 10 sec. Just to verify I tried using a RTL-SDR (with rtl_433 -s 2500000 -R 45), which gave:
time : 2019-07-16 18:30:34
model : emonTx-Energy node : 08 ct1 : -526 ct2 : 1048 ct3 : 0
ct4 : 0 batt_Vrms : 240.99 pulse : 1 temp1_C : 25.6


time : 2019-07-16 18:30:44
model : emonTx-Energy node : 08 ct1 : -524 ct2 : 1050 ct3 : 0
ct4 : 0 batt_Vrms : 240.65 pulse : 1 temp1_C : 25.6


time : 2019-07-16 18:30:54
model : emonTx-Energy node : 08 ct1 : -511 ct2 : 1043 ct3 : 0
ct4 : 0 batt_Vrms : 240.80 pulse : 1 temp1_C : 25.6

That looks good to me (I am even exporting power).

Which brings me back to the title! My best guess is some radio setting in the RFM69PI. (I did wonder if it was too far from the EmonTx, but it is <10m and the SDR is sitting near the Pi and works.)

Any suggestion what I do next?

Thanks.

Those lines all starting with “? G0” are indeed most likely noise, the “G0” indicates that the device is listening to “all groups”, so one would expect that to be both good and bad packets, however, there is a bug in the JeeLib code that means when you use “G0” it accidentally listens to “all but the last set group” so if your device was correctly set up for group 210 (for example) then switched to group “0” it will receive all except 210.

Easily fixed though, just send a “210g” string via your serial term with a cr & nl line ending to switch to group 210 (that’s the default used by OEM).

When you successfully set the group id it will change the output (the G0 will disappear) and the v command will return “[RF12demo.12] E i5 g210 @ 433 MHz” (assuming it is the only change).

Ordinarily this setting is usually managed by emonhub on the emonSD images.

The corresponding part of the help text is this line

Thanks. That worked perfectly.