Data format 3 (RAWv1)
Lifecycle: Deprecated
The data is decoded from "Manufacturer Specific Data" -field, for more details please check Bluetooth Advertisements section. Manufacturer ID is 0x0499
, which gets sent as 0x9904
. The actual data payload is:
Offset | Allowed values | Description |
0 | 3 | Data format definition (3 = current sensor readings) |
1 |
| Humidity (one lsb is 0.5%, e.g. 128 is 64%) Values above 100% indicate a fault in sensor. |
2 |
| Temperature (MSB is sign, next 7 bits are decimal value) |
3 |
| Temperature (fraction, 1/100.) |
4 - 5 |
| Pressure (Most Significant Byte first, value - 50kPa) |
6-7 |
| Acceleration-X (Most Significant Byte first) |
8 - 9 |
| Acceleration-Y (Most Significant Byte first) |
10 - 11 |
| Acceleration-Z (Most Significant Byte first) |
12 - 13 |
| Battery voltage (millivolts). MSB First |
Data field descriptions
Data Format
The first byte tells the receiver (ie. website) what kind of type of data the packet has.
Temperature
Values supported: -127.99 °C to +127.99 °C in 0.01 °C increments.
Example
Value | Measurement |
| 0 °C |
| -1.69 °C |
| +1.69 °C |
Humidity
Values supported: 0.0 % to 100 % in 0.5 % increments.
Example
Value | Measurement |
| 0% |
| 64.0% |
| 100.0% |
Atmospheric Pressure
Values supported: 50000 Pa to 115536 Pa in 1 Pa increments.
Example
Value | Measurement |
| 50000 Pa |
| 101325 Pa (average sea-level pressure) |
| 115536 Pa |
Acceleration
Values supported: -32000 to 32000 (mG), however the sensor on RuuviTag supports only 16 G max (2 G in default configuration). Values are 2-complement int16_t, MSB first. All channels are identical.
Example
Value | Measurement |
| -1000 mG |
| 1000 mG |
Battery voltage
Values supported: 0 mV to 65536 mV in 1 mV increments, practically 1800 ... 3600 mV.
Test vectors
These test vectors are based on ruuvitag-sensor project. There is no specific value for invalid/not available sensor readings, it is suggested to send 0
if value is not available. The tests are bidirectional, decode-encode results in original raw data. Encode-decode must result in same values with given precision, but floating point rounding differences may occur.
Case: valid data
Raw binary data: 0x03291A1ECE1EFC18F94202CA0B53
Field | Value |
Data format |
|
Temperature |
|
Pressure |
|
Humidity |
|
Acceleration X |
|
Acceleration Y |
|
Acceleration Z |
|
Voltage |
|
Case: maximum values
Raw binary data: 0x03FF7F63FFFF7FFF7FFF7FFFFFFF
Field | Value |
Data format |
|
Temperature |
|
Pressure |
|
Humidity |
|
Acceleration X |
|
Acceleration Y |
|
Acceleration Z |
|
Voltage |
|
Case: minimum values
Raw binary data: 0x0300FF6300008001800180010000
Field | Value |
Data format |
|
Temperature |
|
Pressure |
|
Humidity |
|
Acceleration X |
|
Acceleration Y |
|
Acceleration Z |
|
Voltage |
|
Last updated