RSSI incorrectly logged with ruuvi-go-gateway

I took the time to update my weatherstation that uses RuuviTags and RPi4 from using RuuviCollector to using ruuvi-go-gateway & RuuviBridge. Update was smooth, and I also updated to the most recent Raspberry Pi OS in the process. But…

Something strange is going on with with the RSSI readings that ruuvi-go-gateway logs. I know that RSSI is a reading measured from the receiving end so there could be a lot of possibilities to my issue. But the issue is that ruuvi-go-gateway mixes the RSSIs of different RuuviTags with each other. With RuuviCollector I got pretty stable RSSI readings from different sensors, but now each sensors’ value is pseudorandomly something incorrect. Consecutively read sensors seem to give almost identical RSSI readings.

Here is a short log where you can see the issue with a few incorrect values.

For example, the sensor FE:DF:D3:39:D6:1E should get consistently -75 dB on average as the value as it did earlier.

[2025-3-13 14:47:12] [debug] Config loaded, configfile: ./config.yml
[2025-3-13 14:47:12] [info] Starting HTTP, url: http://localhost:8080, interval: 10s
[2025-3-13 14:47:12] [trace] Received data from BLE adapter, mac: EE:7F:2A:84:F5:53, rssi: -43, is_ruuvi: true, data: 99040510EF2EC9BC4EFC6801C0FF98A9368DFFADEE7F2A84F553
[2025-3-13 14:47:14] [trace] Received data from BLE adapter, mac: F5:9B:A1:1B:4B:A3, rssi: -63, is_ruuvi: true, data: 990405FDEE8C04BCEAFF68000804104EB6E277E5F59BA11B4BA3
[2025-3-13 14:47:15] [trace] Received data from BLE adapter, mac: FE:DF:D3:39:D6:1E, rssi: -64, is_ruuvi: true, data: 9904050FA4309ABC840018FFE4040050D634E6B2FEDFD339D61E
[2025-3-13 14:47:16] [trace] Received data from BLE adapter, mac: E2:C1:EB:8C:AE:41, rssi: -65, is_ruuvi: true, data: 990405057359C4BCD8FDD4035800046F3633C01AE2C1EB8CAE41
[2025-3-13 14:47:16] [trace] Received data from BLE adapter, rssi: -61, is_ruuvi: true, data: 9904050FA9309CBC840014FFE403FC50D634E6B3FEDFD339D61E, mac: FE:DF:D3:39:D6:1E

Here is a screenshot from my Grafana where you can see the problem after the shift to ruuvi-go-gateway. Grafana is configured to take the mean of sampling interval as the shown value. This leads to all the sensor RSSI values being pretty much the same.

RuuviCollector still works as before so its not some strange HW/BT issue.

Any ideas @Scrin or someone else how to try to solve this? I don’t really speak go so I cannot easily debug ruuvi-go-gateway.

Based on the small sample you provided, clearly the values are not exactly same, but based on the graph you provided they are suspiciously similar indeed. I have not observed this before, which makes me wonder if this is actually related to the OS upgrade you did which more than likely included new/different drivers and what not which could do something weird with the RSSI values they report from the radio.

I’ll try to find some time to do some tests with my RPi’s before and after updating the OS to see if I can reproduce this, at least now I have a reason to bother with the update :stuck_out_tongue: Might take a while though as I’m really busy with all sorts of stuff at the moment. In the mean time I’d obviously appreciate any additional details or observations from anyone using the same setup that could help pinpoint the cause

Thanks for looking into it. No worries about possible delay. Let me know if you have some ideas what I could try.