Collecting RuuviTag measurements and displaying them with Grafana

This is a bit of a newbie question, but probably someone else is also interested in the answer. So, what kind of changes would be required to make the Pi just collect data and send it to an InfluxDB database which is located on a different computer on the same LAN? I’d like to do this to avoid the possible problems with SD cards wearing out and I have a desktop computer already running 24/7.

You can configure the server here

1 Like

Hello Scrin,
Sorry for so late reply. Yes, you were right, it was an driver issue. My BT card is Intel AC9260 and turns out to be a bug in the package linux-firmware. The trick was that the BT was working, but not BLE :wink: Especially server distros are using older packages and to apply the new firmware the computer must be shut down, restart was not enough…

Thank you so much for pointing me in the right direction, you have saved a few hours of my life :wink:

Hi all. I just found this cool looking ready-made image. However, I’m not able to login :confused: Could someone post the username:password combos for ssh and Grafana?

Using this image: on a rpi3b+.

At least admin:admin does not work for Grafana, I guess it should? Weird.


Hello, has details on the setup, default password on Grafana is admin/ruuviberry

Hi otso, thank you, now I got in :slight_smile: I managed to create dashboard and queries, but all the graphs say “Data points outside time range”. I then checked time/date, and they were really off. Ran raspi-config and set time zone accordingly, but it didn’t help at all. So, for same reason the rpi time and date are wrong and also the dns seems not to work at all, e.g. apt-get update does not work for starters. I’ve got some experience with pi’s and generally had no problems ever with the network/date/time. I really don’t understand why this installation is not willing to access internet at all. I can access the rpi with putty just fine ans ifconfig shows all is ok.
Is this a known feature, or something else?

Sorry, must be a stupid question :confused:


Sounds a bit strange, as my Pis work just fine on the internet. Are you using wired Ethernet connection or WiFi configured through the RPi hotspot?

Its connected with ethernet, which works with another sd card (and version of Raspbian) just fine. Weird.

It’s probably this issue:

I’m traveling until 10th of February so I can’t check the fix, but please let me know if you try the fix in that issue and if it works.

The root problem is that RaspiWiFi redirects DNS queries to itself while hotspot is active if I understood correctly.

Worked straight away. Thank you soo much otso :slight_smile:

1 Like

Could anyone help me? I have Raspberry Pi 4 and I have installed Grafana, InfluxDB, Telegraf, Chronograf, Kapacitor and ruuvicollector. I am using latest releases. My wifi is not working properly after starting ruuvicollector.service.

  1. What do you mean “properly”? Intermittent connectivity? No connectivity?
  2. Was it working before installing Grafana and TICK stack?
  3. Have you examined /etc/wpa_supplicant/wpa_supplicant.conf? Is the modification date what you expect?
  4. Are there any messages in /var/log that are be related?
  5. Have you physically moved the Pi ? Can you move it closer to your router.
  1. Internet download speed is dropping to 0.01Mbps. Without the service running it’s more like 40Mbps.
  2. I am not sure. I can do OS reinstall and install ruuvicollector first.
  3. wpa_supplicant.conf includes only my Wifi properties and they are correct.
  4. What should I be looking for? I didn’t see anything related to ruuvicollector.
  5. Pi has been at the same place all time.

Is Java 11 good for ruuvicollector? I saw some guides and they were installing Java 8.

I really appreciate the help.

Yes. Java 8 is the minimum required version (which was also the latest LTS version at the time RuuviCollector was initially developed). Java 11 will work equally well, and 11 is actually the version I’m using on my own setup at the moment. Though I use a RPi3 as I don’t have a RPi4 yet, but that shouldn’t matter for the collector.

1c) How are you timing download speed?
2c) No need to reinstall (yet)
6) sudo systemctl stop grafana # and do speed test
7) sudo systemctl stop ruuvicollector # and do speed test
8) sudo systemctl stop influxdb # and do speed test
9) Use top to look for unexpected processes and memory and swap usage.
10) How are you connected to pi HDMI monitor/USB keyboard/mouse or ssh?

I have tried to setup everything manually since I don’t have a Pi3 available. I have Influxdb, Grafana and Ruuvi collector running. I can see data in Influxdb so up to that point everything is working.
I can login to Grafana but how do I create the dashboard towards Influxdb so that I can see the data?

First you need to add the InfluxDB instance as a Datasource in Grafana, after that you can start creating dashboards and adding panels to them that use the datasource you added.

If you set the datasource as default when adding it, new panels will automatically use it by default. If you already created some panels on a dashboard you’d like to use, you can change the datasource from the panel editor if it doesn’t get set automatically.

I added InfluxDB as default, created a dashboard and added a panel but I get “Expected response data to be array, got undefined”

It is working now. I was using the incorrect port in the data sources settings.

Hi all, I have a setup of 6 Ruuvitag bluetooth beacons, and a Raspberry Pi with RuuviCollector. On the same device, I have Grafana running, and have created a dashboard with some measures and panels:

Now my issue is that the hostnames are MAC-codes, and at the moment I have them hard-coded by using “alias by”, depending on where the Ruuvitags are. What I would like to have is a way to maintain information about where a given Ruuvitag was at a certain time, and thus display only relevant data on the dashboard.

As an example, I have a tag that I initially had in my office room. I then moved it outdoors. I would like to separate these two situations in Grafana according to the metadata maintained manually, so that I get a valid min and max ranges for the office, and outdoors temperature. How could I achieve this?