Skip to content

0x98xx

0x9800 - Alarm

Type: bool

Name: alarm (1)

Value Description
0 Alarm State OFF
1 Alarm State ON

0x9801 - Priority

Type: bool

Name: priority (1)

Value Description
0 Not prioritized
1 Prioritized

0x9802 - TX Power

Type: s8

Name: tx-power (1)

Chip Accepted values
nRF51 -30, -20, -16, -12, -8, -4, 0, and 4 dBm
nRF52832 -40, -20, -16, -12, -8, -4, 0, and 4 dBm
nRF52840 -40, -20, -16, -12, -8, -4, 0, +2, +3, +4, +5, +6, +7 and +8 dBm

0x9803 - Long Button Press Timeout

Type: u16

Name: long-button-press-timeout (1)

Long button press timeout is in millisecond and must be in multiple of 100ms. Range is 100ms to 8000ms.

Note

Setting value lower than 300ms can make it hard to perform short button press.

0x9804 - Status and Tracking Interval in Normal Mode

Name: normal-mode-advertisement-interval (1)

Offset Type Description
0:1 u16 Advertisement interval is in millisecond. Range is 20ms to 10240ms.
2 u8 Denominator. Valid range: 1-255.

Denominator defines how often status and tracking propagate through network extender. For example, if denominator is 2, every second advertisement comes through. If denominator is 5, every 5th advertisement comes through.

{
  "interval": [number],
  "denominator": [number]
}

0x9805 - Status and Tracking Interval in SOS/Alarm Mode

Name: alarm-mode-advertisement-interval (1)

See 0x9804.

0x9806 - Status and Tracking Interval in Priority Mode

Name: priority-mode-advertisement-interval (1)

See 0x9804.

0x9807 - Status and Tracking Interval in Sleep Mode

Name: sleep-mode-advertisement-interval (1)

See 0x9804.

0x9808 - Inactive to Sleep Delay

Type: u16

Name: inactive-to-sleep-delay (1)

Delay in seconds from device becomes inactive in Normal mode until it enters Sleep mode.

Default Value for all devices is 60 seconds.

0x9809 - Alarm 2

Type: bool

Name: alarm-2 (3)

Value Description
0 Alarm State OFF
1 Alarm State ON

0x9810 - Whitelist Key

Name: whitelist-key (1)

Offset Type Description
0:1 u16 Installation ID
2:5 u32 Group Membership Bit-mask
{
  "site": [number],
  "groups": [hex-string(8)]
}

0x9811 - Tamper Alarm

Type: bool

Name: tamper-alarm (11)

Value Description
0 Tamper alarm not active (Pin pressed)
1 Tamper alarm active (Pin not pressed)

0x9812 - Alarm State

Type: dictionary

Name: alarm-state (16)

Key Name Type JSON Property JSON Type Description
0 TIMESTAMP u48 timestamp number Unix time when alarm was triggered. This serves as a unique ID for the alarm event. Unit: ms.
1 ALARM_ID bytearray alarmId hex-string Alarm ID. This is present when alarm has been reported and ACKed. For Skyresponse, this will be globalAlarmId.
2 CLEARED_BY mac-address clearedBy hex-string MAC address of device that cleared the alarm. Set to 0 if clearer is unknown.
3 ALARM_CODE u32 alarmCode number Skyresponse Alarm Code (from skyresponse-alarm-config). Included if ALARM_CODE is present in skyresponse-alarm-config.
4 SECRET UTF-8 secret string Skyresponse Secret (from skyresponse-alarm-config). Included if skyresponse-alarm-config is set.

When there is no active alarm (NO_ALARM state), alarm state will have no TIMESTAMP.

Alarm state Keys Optional Keys Description
NO_ALARM - SECRET No alarm. Value contains no TIMESTAMP.
ALARM TIMESTAMP ALARM_CODE, SECRET Alarm has been triggered.
ALARM_ACKED TIMESTAMP, ALARM_ID ALARM_CODE, SECRET Alarm has been ACKed.
ALARM_CLEARED TIMESTAMP, ALARM_ID, CLEARED_BY ALARM_CODE, SECRET Alarm has been cleared (after being ACKed)
ALARM_CLEARED TIMESTAMP, CLEARED_BY ALARM_CODE, SECRET Alarm has been cleared (before being ACKed)

The typical alarm state flow is like this:

NO_ALARM → ALARM → ALARM_ACKED → ALARM_CLEARED → NO_ALARM/ALARM

Alternatively, alarm can be cleared before it is ACKed (in this case, no ALARM_ID will be present):

NO_ALARM → ALARM → ALARM_CLEARED → NO_ALARM/ALARM

A new alarm can be triggered in ALARM_CLEARED state, before the clearing has been ACKed. This will have a new unique TIMESTAMP.

JSON example:

{
      "timestamp": 1779782560876,
      "alarmId": "0323770E77B0A80E20260526080235",
      "clearedBy": "CA6B8F76D440",
      "alarmCode": 121,
      "secret": "77791"
}

0x9813 - Clear Alarm State

Name: clear-alarm-state (16)

Offset Name Type Description
0:5 TIMESTAMP u48 Unix time when alarm was triggered. This serves as a unique ID for the alarm event. Unit: ms.
6 FLAGS u8 Flags
FLAGS bit NAME Description
7:1 - Reserved, set to 0
0 SET_CLEARED_BY Set CLEARED_BY to connected device MAC address. If not set, CLEARED_BY is set to 0 (unknown clearer).

Clear alarm. This will transition alarm state from ALARM/ALARM_ACKED to ALARM_CLEARED. Two state transitions are possible:

  • ALARM → ALARM_CLEARED
  • ALARM_ACKED → ALARM_CLEARED

TIMESTAMP must match the current alarm.

After a successful clear, alarm-state reports with CLEARED_BY.

ERROR_CODE Description
Not Applicable (38) Alarm is not in ALARM or ALARM_ACKED state.
Alarm Timestamp mismatch (19) Timestamp does not match

JSON example:

{
  "timestamp": 1779782560876,
  "setClearedBy": false
}

0x9814 - Skyresponse Alarm Config (BETA)

Type: dictionary

Name: skyresponse-alarm-config (16)

Skyresponse alarm configuration in device.

Key Name Type Optional Description
0 SECRET UTF-8 No Transmitter Secret. The secret is called “PIN” in the GUI and “access code” in the Alarm application.
1 ALARM_CODE u32 Yes Alarm Code

JSON example:

{
  "secret": "98474",
  "alarmCode": 301
}

0x9815 - Ack Alarm State

Type: dictionary

Name: ack-alarm-state (16)

Key Name Type Description
0 TIMESTAMP u48 Unix time when alarm was triggered. Unit: ms.
1 ALARM_ID bytearray Alarm ID.

Ack ALARM state. This will transition state from ALARM to ALARM_ACKED. TIMESTAMP must match current alarm-state TIMESTAMP.

ERROR_CODE Description
Not Applicable (38) Alarm is not in ALARM state
Alarm Timestamp mismatch (19) In ALARM state, but timestamp does not match

JSON example:

{
  "timestamp": 1779782560876,
  "alarmId": "0323770E77B0A80E20260526080235"
}

0x9816 - Ack Alarm Cleared State

Name: ack-alarm-cleared-state (16)

Offset Name Type Description
0:5 TIMESTAMP u48 Unix time when alarm was triggered. This serves as a unique ID for the alarm event. Unit: ms.

Ack ALARM_CLEARED state. TIMESTAMP must match current alarm-state TIMESTAMP. This will switch alarm-state to NO_ALARM.

ERROR_CODE Description
Not Applicable (38) Alarm is not in ALARM_CLEARED state
Alarm Timestamp mismatch (19) Timestamp does not match

JSON example:

{
  "timestamp": 1779782560876
}

0x9817 - Skyresponse Config (BETA)

Type: json-object

Name: skyresponse-config (16)

Skyresponse configuration. When Skyresponse is not to be used, set to NULL or keep enabled false.

JSON Property Type Optional Default Value Description
enabled boolean No - Enable/disable
defaultAlarmCode number Yes null Default Alarm Code. This is used when alarm code is not configured in device.
mode string Yes null Mode. Used for testing purposes. Allowed values: "sandbox", "simulation".

When defaultAlarmCode is not specified (null), 101 (Panic alarm, mobile) is used.

JSON example:

{
  "enabled": true, 
  "defaultAlarmCode": 123
}

0x9820 - Text Message

Name: text-message (1)

When this property is written, the text message is added to the message queue.

User will be notified about the new message and value of 0x9821 will be set to 1.

Note

0-bytes in ascii text data are not allowed.

Offset Type Description
0:n u8 ASCII text message

0x9821 - Unread Text Message

Type: bool

Name: unread-message (1)

Value Description
0 No unread message
1 Unread message

0x9860 - Button Panel State

Type: u8

Name: button-panel-state (1)

Current Button Panel State.

Write to reset button panel state.

0x9861 - Button Panel State Request

Type: u8

Name: button-panel-state-request (1)

New button panel state requested by device.

Write this property to confirm requested state.