RuuviTag Datenlogger

Hello, where can I find information on how to read the data memory with the logged data (Every 5 minutes)?
How to set the date and time. There is no clock in the Ruuvi.
It would be nice if there were different firmware, where for example every 30 minutes or every 15 minutes is logged.


The logs are stored in a format of “age of this log element”, e.g. “This logged sample is 5 days and 13 hours old”. It is the responsibility of reader to convert that to real time, e.g. “Now is Saturday 16.30, so 5 days and 13 hours old log sample was measured at Monday 03.30.”

There are a few templates for firmware variants, the longmem-variant is configured at ruuvi.firmware.c/application_mode_longmem.h at 78e65c662be9aa62069884cc1c4d581d4f25908c · ruuvi/ruuvi.firmware.c · GitHub which sets the logging interval to 30 minutes.

You can configure and built the firmware with your settings if necessary, we don’t support runtime configuration for simplicity.

Where exactly can I find the source code in the app where the data (log history 10 days) is read from the Ruuvitag. I have not found anything so far. Not on Android and not on iOS.

iOS: BTKit/BTServices.swift at c1c41194a14d2c2594e7658c7088f8262813707a · ruuvi/BTKit · GitHub

Android: com.ruuvi.bluetooth.default/NordicGattManager.kt at fd9b7ccc59738308cabcb9aa1be4a31210e631d7 · ruuvi/com.ruuvi.bluetooth.default · GitHub

1 Like

Where is the start and end date obtained from?
the end date was probably the smartphone during the query. But where does the Ruuvi logger get the start date from?
This is unknown.

It should be noted that tag has no knowledge of the real time and it relies on the app to give the correct current time.

The app sends “time is right now T1, send all the samples starting time T2” where T2 is anything in range 0 <= T2 < T1.

Tag only knows how old samples are relative to current time and will calculate the time of a sample with the current time given by the app.

It also means that there is no way for the App to ask for samples that are e.g. from two days ago to yesterday, Tag will always send every sample that is newer than the start time.

1 Like