Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

When the tag is configured in the MikroTik format, the payload's 14th and 15th octets indicate the temperature (ambient temperature in Celsius in signed 16-bit integer [twos complement] 8.8 fixed point format) that was "sensed" at the moment of the broadcast.

...

Please note that all multi-byte values in the payload are in little-endian. So, if #14 and #15 octets indicate the temperature as "50 19" → you will need to switch octets places, to 0x1950.The signed 8.8 fixed format indicates that there is a 0x8000 (hex. to dec. = 32768) threshold that needs to be taken into account. When the decimal value (for example, 0x1950 hex. to dec. = 6480) is lower than the threshold (6480<32768) → it means the temperature is "plus" temperature. When the decimal value (for example, 0xFE80hex. to dec. = 65152) is higher than the threshold (32768<65152) → it means the temperature is "minus" temperature.Knowing when the temperature is "+" or "-" will dictate how the decimal value is obtained.

(plus) temperature:

We've captured the temperature as 0x1950 (hex.) → 6480 (dec.). To get the actual temperature value, divide the result by 256 → 6480/256=25.31 C.

...