Ember ZigBee Light Link (ZLL) Data Types#

See zll-types.h for source code.

Modules#

EmberZllSecurityAlgorithmData

EmberZllNetwork

EmberZllDeviceInfoRecord

EmberZllAddressAssignment

EmberZllInitialSecurityState

EmberTokTypeStackZllData

EmberTokTypeStackZllSecurity

ZigBee Light Link Types#

enum
EMBER_ZLL_STATE_NONE = 0x0000
EMBER_ZLL_STATE_FACTORY_NEW = 0x0001
EMBER_ZLL_STATE_ADDRESS_ASSIGNMENT_CAPABLE = 0x0002
EMBER_ZLL_STATE_LINK_INITIATOR = 0x0010
EMBER_ZLL_STATE_LINK_PRIORITY_REQUEST = 0x0020
EMBER_ZLL_STATE_PROFILE_INTEROP = 0x0080
EMBER_ZLL_STATE_NON_ZLL_NETWORK = 0x0100
EMBER_ZLL_TOKEN_POINTS_TO_PSA_ID = 0x0200
}

A bitmask indicating the state of the ZLL device. This maps directly to the ZLL information field in the scan response.

enum
EMBER_ZLL_KEY_INDEX_DEVELOPMENT = 0x00
EMBER_ZLL_KEY_INDEX_MASTER = 0x04
EMBER_ZLL_KEY_INDEX_CERTIFICATION = 0x0F
}

The key encryption algorithms supported by the stack.

enum
EMBER_ZLL_POLICY_DISABLED = 0x00
EMBER_ZLL_POLICY_ENABLED = 0x01
EMBER_ZLL_POLICY_TARGET = 0x02
EMBER_ZLL_POLICY_STEALING_ENABLED = 0x04
EMBER_ZLL_POLICY_REMOTE_RESET_ENABLED = 0x08
}

This enumeration indicates whether or not the stack processes ZLL messages.

#define

The list of primary ZLL channels.

#define

The list of secondary ZLL channels.

#define

A distinguished network identifier in the ZLL network address space that indicates no free network identifiers were assigned to the device.

#define

The minimum network identifier in the ZLL network address space.

#define

The maximum network identifier in the ZLL network address space.

#define

A distinguished group identifier in the ZLL group address space that indicates no free group identifiers were assigned to the device.

#define

The minimum group identifier in the ZLL group address space.

#define

The maximum group identifier in the ZLL group address space.

#define

The ZigBee Light Link Commissioning cluster ID.

#define

The ZigBee Light Link Profile ID.

#define
EMBER_ZLL_KEY_MASK_DEVELOPMENT (1 << EMBER_ZLL_KEY_INDEX_DEVELOPMENT)

The key encryption bitmask corresponding to encryption key index EMBER_ZLL_KEY_INDEX_DEVELOPMENT.

#define
EMBER_ZLL_KEY_MASK_MASTER (1 << EMBER_ZLL_KEY_INDEX_MASTER)

The key encryption bitmask corresponding to encryption key index EMBER_ZLL_KEY_INDEX_MASTER.

#define
EMBER_ZLL_KEY_MASK_CERTIFICATION (1 << EMBER_ZLL_KEY_INDEX_CERTIFICATION)

THe key encryption bitmask corresponding to encryption key index EMBER_ZLL_KEY_INDEX_CERTIFICATION.

#define

The encryption key for use during development and certification in conjunction with EMBER_ZLL_KEY_INDEX_CERTIFICATION.

#define

The pre-configured link key for use during development and certification in conjunction with EMBER_ZLL_KEY_INDEX_CERTIFICATION.

ZigBee Light Link Types Documentation#

EmberZllState#

EmberZllState

A bitmask indicating the state of the ZLL device. This maps directly to the ZLL information field in the scan response.

Enumerator
EMBER_ZLL_STATE_NONE

No state.

EMBER_ZLL_STATE_FACTORY_NEW

The device is factory new.

EMBER_ZLL_STATE_ADDRESS_ASSIGNMENT_CAPABLE

The device is capable of assigning addresses to other devices.

EMBER_ZLL_STATE_LINK_INITIATOR

The device is initiating a link operation.

EMBER_ZLL_STATE_LINK_PRIORITY_REQUEST

The device is requesting link priority.

EMBER_ZLL_STATE_PROFILE_INTEROP

The device is a ZigBee 3.0 device.

EMBER_ZLL_STATE_NON_ZLL_NETWORK

The device is on a non-ZLL network.

EMBER_ZLL_TOKEN_POINTS_TO_PSA_ID

Internal use: the ZLL token's key values point to a PSA key identifier


Definition at line 96 of file stack/include/zll-types.h

EmberZllKeyIndex#

EmberZllKeyIndex

The key encryption algorithms supported by the stack.

Enumerator
EMBER_ZLL_KEY_INDEX_DEVELOPMENT

The key encryption algorithm for use during development.

EMBER_ZLL_KEY_INDEX_MASTER

The key encryption algorithm shared by all certified devices.

EMBER_ZLL_KEY_INDEX_CERTIFICATION

The key encryption algorithm for use during development and certification.


Definition at line 186 of file stack/include/zll-types.h

EmberZllPolicy#

EmberZllPolicy

This enumeration indicates whether or not the stack processes ZLL messages.

Enumerator
EMBER_ZLL_POLICY_DISABLED

Initial state - all touchlinking is disabled.

EMBER_ZLL_POLICY_ENABLED

Indicates that ZLL processing is enabled.

EMBER_ZLL_POLICY_TARGET

Indicates that ZLL target is enabled.

EMBER_ZLL_POLICY_STEALING_ENABLED

Indicates that stealing and network update are enabled for non factory new devices.

EMBER_ZLL_POLICY_REMOTE_RESET_ENABLED

Indicates that remote reset is enabled for non factory new devices.


Definition at line 253 of file stack/include/zll-types.h

EMBER_ZLL_PRIMARY_CHANNEL_MASK#

#define EMBER_ZLL_PRIMARY_CHANNEL_MASK
Value:
((uint32_t)(BIT32(11) \
| BIT32(15) \
| BIT32(20) \
| BIT32(25)))

The list of primary ZLL channels.


Definition at line 38 of file stack/include/zll-types.h

EMBER_ZLL_SECONDARY_CHANNEL_MASK#

#define EMBER_ZLL_SECONDARY_CHANNEL_MASK
Value:
((uint32_t)(BIT32(12) \
| BIT32(13) \
| BIT32(14) \
| BIT32(16) \
| BIT32(17) \
| BIT32(18) \
| BIT32(19) \
| BIT32(21) \
| BIT32(22) \
| BIT32(23) \
| BIT32(24) \
| BIT32(26)))

The list of secondary ZLL channels.


Definition at line 46 of file stack/include/zll-types.h

EMBER_ZLL_NULL_NODE_ID#

#define EMBER_ZLL_NULL_NODE_ID
Value:
0x0000

A distinguished network identifier in the ZLL network address space that indicates no free network identifiers were assigned to the device.


Definition at line 63 of file stack/include/zll-types.h

EMBER_ZLL_MIN_NODE_ID#

#define EMBER_ZLL_MIN_NODE_ID
Value:
0x0001

The minimum network identifier in the ZLL network address space.


Definition at line 68 of file stack/include/zll-types.h

EMBER_ZLL_MAX_NODE_ID#

#define EMBER_ZLL_MAX_NODE_ID
Value:
0xFFF7

The maximum network identifier in the ZLL network address space.


Definition at line 73 of file stack/include/zll-types.h

EMBER_ZLL_NULL_GROUP_ID#

#define EMBER_ZLL_NULL_GROUP_ID
Value:
0x0000

A distinguished group identifier in the ZLL group address space that indicates no free group identifiers were assigned to the device.


Definition at line 79 of file stack/include/zll-types.h

EMBER_ZLL_MIN_GROUP_ID#

#define EMBER_ZLL_MIN_GROUP_ID
Value:
0x0001

The minimum group identifier in the ZLL group address space.


Definition at line 84 of file stack/include/zll-types.h

EMBER_ZLL_MAX_GROUP_ID#

#define EMBER_ZLL_MAX_GROUP_ID
Value:
0xFEFF

The maximum group identifier in the ZLL group address space.


Definition at line 89 of file stack/include/zll-types.h

EMBER_ZLL_CLUSTER_ID#

#define EMBER_ZLL_CLUSTER_ID
Value:
0x1000

The ZigBee Light Link Commissioning cluster ID.


Definition at line 175 of file stack/include/zll-types.h

EMBER_ZLL_PROFILE_ID#

#define EMBER_ZLL_PROFILE_ID
Value:
0xC05E

The ZigBee Light Link Profile ID.


Definition at line 180 of file stack/include/zll-types.h

EMBER_ZLL_KEY_MASK_DEVELOPMENT#

#define EMBER_ZLL_KEY_MASK_DEVELOPMENT
Value:
(1 << EMBER_ZLL_KEY_INDEX_DEVELOPMENT)

The key encryption bitmask corresponding to encryption key index EMBER_ZLL_KEY_INDEX_DEVELOPMENT.


Definition at line 204 of file stack/include/zll-types.h

EMBER_ZLL_KEY_MASK_MASTER#

#define EMBER_ZLL_KEY_MASK_MASTER
Value:
(1 << EMBER_ZLL_KEY_INDEX_MASTER)

The key encryption bitmask corresponding to encryption key index EMBER_ZLL_KEY_INDEX_MASTER.


Definition at line 210 of file stack/include/zll-types.h

EMBER_ZLL_KEY_MASK_CERTIFICATION#

#define EMBER_ZLL_KEY_MASK_CERTIFICATION
Value:
(1 << EMBER_ZLL_KEY_INDEX_CERTIFICATION)

THe key encryption bitmask corresponding to encryption key index EMBER_ZLL_KEY_INDEX_CERTIFICATION.


Definition at line 216 of file stack/include/zll-types.h

EMBER_ZLL_CERTIFICATION_ENCRYPTION_KEY#

#define EMBER_ZLL_CERTIFICATION_ENCRYPTION_KEY
Value:
{ 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, \
0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF }

The encryption key for use during development and certification in conjunction with EMBER_ZLL_KEY_INDEX_CERTIFICATION.


Definition at line 222 of file stack/include/zll-types.h

EMBER_ZLL_CERTIFICATION_PRECONFIGURED_LINK_KEY#

#define EMBER_ZLL_CERTIFICATION_PRECONFIGURED_LINK_KEY
Value:
{ 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, \
0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF }

The pre-configured link key for use during development and certification in conjunction with EMBER_ZLL_KEY_INDEX_CERTIFICATION.


Definition at line 230 of file stack/include/zll-types.h

Variable Documentation#

transactionId#

uint32_t EmberZllSecurityAlgorithmData::transactionId

Definition at line 125 of file stack/include/zll-types.h

responseId#

uint32_t EmberZllSecurityAlgorithmData::responseId

Definition at line 126 of file stack/include/zll-types.h

bitmask#

uint16_t EmberZllSecurityAlgorithmData::bitmask

Definition at line 127 of file stack/include/zll-types.h

zigbeeNetwork#

EmberZigbeeNetwork EmberZllNetwork::zigbeeNetwork

Definition at line 135 of file stack/include/zll-types.h

securityAlgorithm#

EmberZllSecurityAlgorithmData EmberZllNetwork::securityAlgorithm

Definition at line 136 of file stack/include/zll-types.h

eui64#

EmberEUI64 EmberZllNetwork::eui64

Definition at line 137 of file stack/include/zll-types.h

nodeId#

EmberNodeId EmberZllNetwork::nodeId

Definition at line 138 of file stack/include/zll-types.h

state#

EmberZllState EmberZllNetwork::state

Definition at line 139 of file stack/include/zll-types.h

nodeType#

EmberNodeType EmberZllNetwork::nodeType

Definition at line 140 of file stack/include/zll-types.h

numberSubDevices#

uint8_t EmberZllNetwork::numberSubDevices

Definition at line 141 of file stack/include/zll-types.h

totalGroupIdentifiers#

uint8_t EmberZllNetwork::totalGroupIdentifiers

Definition at line 142 of file stack/include/zll-types.h

rssiCorrection#

uint8_t EmberZllNetwork::rssiCorrection

Definition at line 143 of file stack/include/zll-types.h

ieeeAddress#

EmberEUI64 EmberZllDeviceInfoRecord::ieeeAddress

Definition at line 151 of file stack/include/zll-types.h

endpointId#

uint8_t EmberZllDeviceInfoRecord::endpointId

Definition at line 152 of file stack/include/zll-types.h

profileId#

uint16_t EmberZllDeviceInfoRecord::profileId

Definition at line 153 of file stack/include/zll-types.h

deviceId#

uint16_t EmberZllDeviceInfoRecord::deviceId

Definition at line 154 of file stack/include/zll-types.h

version#

uint8_t EmberZllDeviceInfoRecord::version

Definition at line 155 of file stack/include/zll-types.h

groupIdCount#

uint8_t EmberZllDeviceInfoRecord::groupIdCount

Definition at line 156 of file stack/include/zll-types.h

nodeId#

EmberNodeId EmberZllAddressAssignment::nodeId

Definition at line 163 of file stack/include/zll-types.h

freeNodeIdMin#

EmberNodeId EmberZllAddressAssignment::freeNodeIdMin

Definition at line 164 of file stack/include/zll-types.h

freeNodeIdMax#

EmberNodeId EmberZllAddressAssignment::freeNodeIdMax

Definition at line 165 of file stack/include/zll-types.h

groupIdMin#

EmberMulticastId EmberZllAddressAssignment::groupIdMin

Definition at line 166 of file stack/include/zll-types.h

groupIdMax#

EmberMulticastId EmberZllAddressAssignment::groupIdMax

Definition at line 167 of file stack/include/zll-types.h

freeGroupIdMin#

EmberMulticastId EmberZllAddressAssignment::freeGroupIdMin

Definition at line 168 of file stack/include/zll-types.h

freeGroupIdMax#

EmberMulticastId EmberZllAddressAssignment::freeGroupIdMax

Definition at line 169 of file stack/include/zll-types.h

bitmask#

uint32_t EmberZllInitialSecurityState::bitmask

This bitmask is unused. All values are reserved for future use.


Definition at line 240 of file stack/include/zll-types.h

keyIndex#

EmberZllKeyIndex EmberZllInitialSecurityState::keyIndex

The key encryption algorithm advertised by the application.


Definition at line 242 of file stack/include/zll-types.h

encryptionKey#

EmberKeyData EmberZllInitialSecurityState::encryptionKey

The encryption key for use by algorithms that require it.


Definition at line 244 of file stack/include/zll-types.h

preconfiguredKey#

EmberKeyData EmberZllInitialSecurityState::preconfiguredKey

The pre-configured link key used during classical ZigBee commissioning.


Definition at line 246 of file stack/include/zll-types.h

bitmask#

uint32_t EmberTokTypeStackZllData::bitmask

Definition at line 274 of file stack/include/zll-types.h

freeNodeIdMin#

uint16_t EmberTokTypeStackZllData::freeNodeIdMin

Definition at line 275 of file stack/include/zll-types.h

freeNodeIdMax#

uint16_t EmberTokTypeStackZllData::freeNodeIdMax

Definition at line 276 of file stack/include/zll-types.h

myGroupIdMin#

uint16_t EmberTokTypeStackZllData::myGroupIdMin

Definition at line 277 of file stack/include/zll-types.h

freeGroupIdMin#

uint16_t EmberTokTypeStackZllData::freeGroupIdMin

Definition at line 278 of file stack/include/zll-types.h

freeGroupIdMax#

uint16_t EmberTokTypeStackZllData::freeGroupIdMax

Definition at line 279 of file stack/include/zll-types.h

rssiCorrection#

uint8_t EmberTokTypeStackZllData::rssiCorrection

Definition at line 280 of file stack/include/zll-types.h

bitmask#

uint32_t EmberTokTypeStackZllSecurity::bitmask

Definition at line 284 of file stack/include/zll-types.h

keyIndex#

uint8_t EmberTokTypeStackZllSecurity::keyIndex

Definition at line 285 of file stack/include/zll-types.h

encryptionKey#

uint8_t EmberTokTypeStackZllSecurity::encryptionKey[EMBER_ENCRYPTION_KEY_SIZE]

Definition at line 286 of file stack/include/zll-types.h

preconfiguredKey#

uint8_t EmberTokTypeStackZllSecurity::preconfiguredKey[EMBER_ENCRYPTION_KEY_SIZE]

Definition at line 287 of file stack/include/zll-types.h