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.