Keep-alive

Keep-alive command explanation

Periodically sent message which contains the most important device data. The default keep-alive period is 60 minutes.

The data is described in Table 2. In Table 3 example packet is given.

Byte indexBit indexMeaning

0

7:5

000: Keep-alive;

001: Reserved;

010: Flood detected by device sensor;

100: Box tamper switch detected.

4

Reserved.

3

0: No box tamper detected;

1: Box tamper detected.

2

Reserved.

1

0: No flood detected;

1: Flood detected.

0

Reserved.

1

7:0

Battery voltage, [mV] = (bits7:0)*16

2

7

0: The temperature is positive;

1: The temperature is negative.

NOTE: This bit is used in firmware version 1.5 or later.

6:0

Temperature sensor value in Celsius degrees.

Table 2.

Example of sending a packet from the device to the server: [Hex]: 42C21A

Payload indexValueBit indexMeaning

0

42

7:5

010: Flood detected

by device sensor.

4

Reserved.

3

0: No box tamper detected.

2

Reserved.

1

1: Flood detected.

0

Reserved.

1

C2

7:0

Battery voltage

[mV] = (194)*16 = 3104.

2

1A

7

0: The temperature is positive.

NOTE: This bit is used in firmware version 1.5 or later.

6:0

The temperature is 26 Celsius degrees.

Table 3.

Keepalive period

Byte index

Hex value - Meaning

0

05 – Command code to set keepalive period.

1

XX – keep-alive period in minutes.

Data byte MSB.

2

XX – keep-alive period in minutes.

Data byte LSB.

Value 0x00 isn’t applicable. Default value: 60min.

The maximum value that can be set is 240 hours.

Example command, [Hex]: 05000A - The example sets the keep-alive period to 10 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