Interesting inverse correlation between two tag measurement counts


I have two tags set up at my house, one is hanging from a window on the outside wall and the other is On the ground under the house. They transmit their data to a raspberry pi and the data is viewable in Grafana. Today I noticed a peculiar correlation between the number of measurements reported in Grafana. Seems that I can’t get proper readings from both tags at the same time, instead either one of them reads good and when that goes bad the other goes up, see the attached screenshot.

Is this a coincidence or can there be some sane reason behind this?


How frequently do the tags transmit, and do you save all of the measurements received? If the tags transmit very infrequently it’s possible that a variation that large is explained by just that alone, as the amount of samples is low. If the tags transmit frequently and you only save once every X amount of time (or every measurement), then it’s something else.

Could be an environmental factor as water, for example, has a huge impact on 2.4Ghz signals. Have you checked if there’s a correlation with the RSSI to the measurements per hour? Also, if you or a neighbor uses a 2.4Ghz wifi, that can affect the measurements too.

In ideal conditions (nothing significant between the tag and the receiver) the expectable “packet loss” is around 10-20% with a decent bluetooth receiver. In more challenging conditions such as having the tag in a freezer or further outdoors during rain can increase the packet loss to 50% or more, which will cause a noticeable variation too due to randomness of the packet loss.


I haven’t made any modifications to the tag firmware so I presume it transmits with a default frequency, whatever that is (every 0.5s or something?)

However, I’ve set the Ruuvi-Collector to store a value only once every 15 minutes.

I checked the RSSI values and they seem to correlate with the packet loss. See screenshot. I’m not entirely sure what the RSSI value means, though. There’s no evident correlation between any other values such as humidity or temperature.

I’m moving the data to the cloud over WiFi from the RPi, don’t k ow the frequency though, but presumably 2.4GHz.

Can the outside tag be affected simply by rain, so that the packet loss is greater if the tag is wet? But even so, it’s odd that the other tag would transmit better in that case.


So that’s not the cause then, or at least it shouldn’t be.

Environmental factor looks like the most probable cause here then. RSSI is the relative signal strength indicator as observed by the receiver, that means it can’t be compared across receivers, but it can be used to compare the signal strength of devices heard by the same receiver (higher, towards zero, is better). Typically most receivers are calibrated to show around -90 to -100 when the signal is lowest possible that can somehow be received, and typically use a dB scale (note: it’s not the same thing as dBW or dBm, so it’s essentially unitless).

If it’s an older RPi than the 3B+, then it’s 2.4Ghz and can have an effect, but it’s unlikely unless you are transmitting large amounts of data, uploading/downloading large images or so.

It’s very much possible, I’m able to “detect” rain that way on my “outdoor tag”

It is odd indeed, but on the other hand it could be that the rain is blocking some “environmental noise” (ie. 2.4Ghz wifi or bluetooth devices used by neighbors or something) and thus the RPi can hear your other tag better in that case.


There’s essentially no other devices nearby as this is at my summer house on an island in the archipelago and the closest neighbor with WiFi is several hundred meters away :smile:

Also at the moment there’s no other internet traffic than the transmission of the ruuvi data four times per hour.

Let’s see how this develops over time, if the correlation continues. I find it very peculiar in any case, as the signal from the two tags intuitively should be independent from each other.