Skip to content

81.00 - 81.7F

81.00 - Battery Level

Type: u8

Name: battery-level (1)

Battery level in percent.

Note

Some devices will use the value 255 to indicate unknown battery level.

81.01 - Uptime

Type: u32

Name: uptime (1)

Seconds since boot.

81.02 - Reset Cause

Type: u8

Name: reset-cause (3)

Reset cause.

Value Description
00 Power on or brownout reset
01 Pin reset
02 Watchdog reset
04 Software reset
08 CPU Lockup reset

81.10 - Device Mode

Type: u8

Name: device-mode (1)

Value Description
01 DFU
02 Connected
03 Storage
04 Unconnected

JSON

"dfu" | "connected" | "storage" | "unconnected"

Device will use this to report its device mode.

When the mode changes, the device will report the new mode to make sure it's updated.

Note

When device mode is reported indirectly via a network extender, the gateway will update this property on behalf of the device. This is done for DFU and Storage.

In storage mode, all the device will report is a storage heartbeat. This is picked up by the network extenders. The gateway will then update this to Storage.

In DFU mode, the device will advertise with Nordic DFU. This will be picked up by the network extenders. The gateway will then update this property to DFU.

81.11 - Legacy Device Mode Switch

Name: legacy-device-mode-switch (1)

Offset Type Description
0 u48 MAC Address
6 u8 Device Mode. Allowed values: 1 - 5.

JSON

{
  "mac": [hex-string(12)],
  "mode": [number]
}

Connect to device and switch device mode using phone/raw command.

Note

This property is write-only.

81.12 - Storage Mode Event

Name: storage-mode-event (1)

Offset Type Description
0 u16 Model Number

JSON

{
  "modelNumber": [number]  
}

While a device is in storage mode, the gateway will generate events using this identifier.

81.13 - Watchdog Reset Event

Type: void

Name: watchdog-reset-event (3)

Indicates last reset was watchdog reset.

Note

81.02 - Reset Cause is often used instead of this.

81.20 - Firmware Update State

Type: u8

Name: firmware-update-state (1)

Value Description
0-99 Downloading progress
100 Download complete, CRC verified OK, rebooting shortly
128 Download complete, CRC verified OK, waiting for apply
176 Aborted (unknown reason)
192 Aborted due to firmware not found
208 Aborted due to swap erase callback not registered
209 Aborted due to swap erase API fail
210 Aborted due to swap erase operation fail
211 Aborted due to data store callback not registered
212 Aborted due to data store API fail
213 Aborted due to data store operation fail
214 Aborted due to bootloader setting callback not registered
215 Aborted due to bootloader setting API fail
216 Aborted due to bootloader setting operation fail
217 Aborted due to internal error
218 Aborted due to DFU callback function not registered
219 Aborted due to User flash parameter erase fail
220 Aborted due to Flash erase timeout
221 Aborted due to Flash data storage timeout
222 Bootloader setting upgraded timeout
240 Aborted due to timeout while downloading
241 Aborted due to wrong CRC
242 Aborted due to firmware model number not found
243 Aborted due to firmware version number not found
244 Aborted manually
245 Aborted due to firmware size exceed/invalid
246 Aborted due to invalid block number requested
247 Aborted due to data type not found
248 Aborted due to invalid block size
249 Aborted due to invalid init packet
250 Aborted due to invalid random number
252 Aborted due to unsupported model number switch
255 Default state, no firmware update in progress

The range 129 - 254 is used to abort error states.

Note

Devices will normally restart after reporting abort error states in the range 208 - 222.

81.21 - Start Firmware Update

Name: start-firmware-update (1)

Offset Type Description
0 u8 Major version
1 u8 Minor version
2 u8 Patch version
3 u8 Beta version. Always 0 for production releases.
4 u8 Type
5:6 u16 Timeout (minutes), 0 = Infinite timeout
Type Description
0 Download and update immediately
1 Download only, wait for update apply

JSON

{
  "version": "{major}.{minor}.{patch}" | "{major}.{minor}.{patch}-beta.{beta}",
  "type": [number],
  "timeout": [number]
}

A device that is not connected must establish a temporary connection to download the firmware. Gateways and extenders should reserve at least one slot for such temporary connections. This is configured using 82.10 - Downlink Configuration

Timeout must be set long enough for the device to be able to downloading the firmware from the gateway. The time needed depends on the number devices being upgraded simultaneously. The gateway will fetch the firmware automatically from Meshtech Management when it is requested by a device.

If a device does not support this type of firmware update, it will not support this property and hence respond with an error code indicating this.

Note

This property is write-only.

81.22 - Firmware Update Control

Type: u8

Name: firmware-update-control (1)

Value Description
1 Apply Update
2 Abort/Discard

Note

This property is write-only.

Note

A device will wait approximately 30 seconds after receiving the request to apply update, before rebooting.

81.23 - Start Firmware Update with Model Number

Name: start-firmware-update-with-model-number (1)

Offset Type Description
0 u8 Major version
1 u8 Minor version
2 u8 Patch version
3 u8 Beta version. Always 0 for production releases.
4 u8 Type
5:6 u16 Timeout (minutes), 0 = Infinite timeout
7:8 u16 Model Number

JSON

{
  "version": "{major}.{minor}.{patch}" | "{major}.{minor}.{patch}-beta.{beta}",
  "type": [number],
  "timeout": [number],
  "modelNumber": [number]
}

This command works like 81.21, but allows for switching to another model number. The device will check if it supports switching to the specified model number.

Note

Switching model number will change the feature set of the device.

Note

This property is write-only.

81.30 - Nordic DFU State

Type: u8

Name: nordic-dfu-state (1)

Value Description
0-99 Connected and in progress (percentage completed)
100 Finished successfully
176 Aborted (unknown reason)
192 Aborted due to firmware not found
217 Aborted due to Nordic DFU internal error
240 Aborted due to timeout
241 Aborted due to wrong CRC
242 Aborted due to firmware model number not found
243 Aborted due to firmware version number not found
244 Aborted manually
245 Aborted due to invalid firmware size
246 Aborted due to invalid block number requested
247 Aborted due to data type not found
248 Aborted due to invalid block size
249 Aborted due to invalid init packet
250 Aborted due to invalid random number
253 Aborted. Failed in TX state machine
254 Aborted. Failed in RX state machine
255 Default state, no firmware update in progress

The range 129 - 254 is used to abort error states.

81.31 - Start Nordic DFU

Name: start-nordic-dfu (1)

Offset Type Description
0:5 u48 MAC address
6:7 u16 Model Number
8 u8 Major version
9 u8 Minor version
10 u8 Patch version
11 u8 Beta version. Set to 0 for production releases.

JSON

{
  "mac": [hex-string(12)],
  "modelNumber": [number],
  "version": "{major}.{minor}.{patch}" | "{major}.{minor}.{patch}-beta.{beta}"
}

Gateway/network extender will try to connect to the device in DFU mode and start upgrading the application image.

Note

The device that is to be upgraded must be in DFU mode.

Note

Devices that require secure mode will change MAC address by +1 when switched to DFU mode.

Note

This property is write-only.

81.32 - Nordic DFU Control

Type: u8

Name: nordic-dfu-control (2)

Value Description
2 Abort

Note

This property is write-only.

81.50 - Motion Detection Sensitivity

Type: u8

Name: motion-detection-sensitivity (3)

Value Description
0-255 Sensitivity Level

Note

The lower the value, the more sensitive the motion sensor is.

81.60 - Ping Counter

Type: u16

Name: ping-counter (3)

The remaining number of times to ping, counting downwards.

The ping counter is advertised and generates RSSI measurements when picked up by nearby access points.

The device will stop pinging when the count reaches 0. This property can be used to control device pinging. 0xFFFF is reserved. Writing 0 will stop pinging.

The device will only ping while in Connected mode and while being connected. If the device is disconnected it will stop pinging and then resume pinging when reconnected.

Note

The ping state is kept in memory only and will be cleared on a device reset.