Keep-alive

The keep-alive is a periodic message sent by the HT + PIR Lite with sensor data and more. In this page you will learn how to decode keepalive messages and how to set the keepalive interval.

Keep-alive decoding

Periodically sent message which contains the most important device data.

The data is described in the table below, where an example is also given in a second table.

Byte
Bit Index
Value
Meaning

0

-

82

Command byte for this packet.

1

7:4

-

(RFU) - Reserved for future use

1

3

-

PIR sensor event flag

1

2

-

Occupied

1

1:0

-

Internal temperature sensor data, bits - T[9:8]

2

-

XX

Internal temperature sensor data, bits - T[7:0]

t [°C] = (T[9:0] - 400) / 10

3

-

XX

Relative Humidity data; RH [%] = (XX * 100) / 256

4

-

XX

Battery Voltage, [mV] = ((XX * 2200) / 255) + 1600

5

-

XX

PIR trigger count

Keepalive example

Byte
Bit index
Value
Meaning

0

-

82

Command byte for this packet.

1

7:4

-

(RFU) - Reserved for future use

1

3

-

PIR sensor event flag

1

2

-

Occupied

1

1:0

-

Internal temperature sensor data, bits – T[9:8]

2

-

88

Internal temperature sensor data, bits - T[7:0]

t [°C] = (T[9:0]-400)/10 t [°C] = (0x0288-400)/10 = (648-400)/10 = 24.8 °C

3

-

80

Relative Humidity data; RH [%] = (XX*100)/256 (0x80 * 100)/256 = (128*100)/256 = 50% RH

4

-

C8

Battery Voltage, [mV] = ((0xC8 * 2200) / 255) + 1600 = 3325mV

5

-

0B

PIR trigger count = 11

Keepalive period

Byte index

Hex value - Meaning

0

02 – Command code to set keepalive period

1

XX – keep-alive period in minutes. Value 0x00 isn’t applicable. Default value 0A=10min.

Example command: 0x020F

The example sets the keep-alive period to 15 minutes.

Note that the period value must respect the LoRaWAN messages duty cycle limitations. Otherwise the message will be sent when this is allowed. Also, the bigger period value, the less battery discharge. In most of cases, min. allowed period is 3 minutes and recommended values are 10 minutes or greater.

Last updated

Was this helpful?