Ember ZigBee Light Link (ZLL) Data Types

Data Structures

struct EmberZllSecurityAlgorithmData
Information about the ZLL security state and how to transmit the network key to the device securely.
struct EmberZllNetwork
Information about the ZLL network and specific device that responded to a ZLL scan request.
struct EmberZllDeviceInfoRecord
Information discovered during a ZLL scan about the ZLL device's endpoint information.
struct EmberZllAddressAssignment
Network and group address assignment information.
struct EmberZllInitialSecurityState
Describes the Initial Security features and requirements that will be used when forming or joining ZigBee Light Link networks.
struct EmberTokTypeStackZllData
struct EmberTokTypeStackZllSecurity

ZigBee Light Link Types

enum EmberZllState {
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
}
A bitmask indicating the state of the ZLL device. This maps directly to the ZLL information field in the scan response.
enum EmberZllKeyIndex {
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 EmberZllPolicy {
EMBER_ZLL_POLICY_ENABLED = 0x00,
EMBER_ZLL_POLICY_DISABLED = 0x01,
EMBER_ZLL_POLICY_NO_TOUCHLINK_FOR_NFN = 0x02
}
This enumeration indicates whether or not the stack processes ZLL messages.
#define EMBER_ZLL_PRIMARY_CHANNEL_MASK
The list of primary ZLL channels.
#define EMBER_ZLL_SECONDARY_CHANNEL_MASK
The list of secondary ZLL channels.
#define EMBER_ZLL_NULL_NODE_ID 0x0000
A distinguished network identifier in the ZLL network address space that indicates no free network identifiers were assigned to the device.
#define EMBER_ZLL_MIN_NODE_ID 0x0001
The minimum network identifier in the ZLL network address space.
#define EMBER_ZLL_MAX_NODE_ID 0xFFF7
The maximum network identifier in the ZLL network address space.
#define EMBER_ZLL_NULL_GROUP_ID 0x0000
A distinguished group identifier in the ZLL group address space that indicates no free group identifiers were assigned to the device.
#define EMBER_ZLL_MIN_GROUP_ID 0x0001
The minimum group identifier in the ZLL group address space.
#define EMBER_ZLL_MAX_GROUP_ID 0xFEFF
The maximum group identifier in the ZLL group address space.
#define EMBER_ZLL_CLUSTER_ID 0x1000
The ZigBee Light Link Commissioning cluster ID.
#define EMBER_ZLL_PROFILE_ID 0xC05E
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 EMBER_ZLL_CERTIFICATION_ENCRYPTION_KEY
The encryption key for use during development and certification in conjunction with EMBER_ZLL_KEY_INDEX_CERTIFICATION .
#define EMBER_ZLL_CERTIFICATION_PRECONFIGURED_LINK_KEY
The pre-configured link key for use during development and certification in conjunction with EMBER_ZLL_KEY_INDEX_CERTIFICATION .

Detailed Description

See zll-types.h for source code.

Macro Definition Documentation

#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 .

#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 .

#define EMBER_ZLL_CLUSTER_ID   0x1000

The ZigBee Light Link Commissioning cluster ID.

#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 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_MAX_GROUP_ID   0xFEFF

The maximum group identifier in the ZLL group address space.

#define EMBER_ZLL_MAX_NODE_ID   0xFFF7

The maximum network identifier in the ZLL network address space.

#define EMBER_ZLL_MIN_GROUP_ID   0x0001

The minimum group identifier in the ZLL group address space.

#define EMBER_ZLL_MIN_NODE_ID   0x0001

The minimum network identifier in the ZLL network address space.

#define EMBER_ZLL_NULL_GROUP_ID   0x0000

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

#define EMBER_ZLL_NULL_NODE_ID   0x0000

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

#define EMBER_ZLL_PRIMARY_CHANNEL_MASK
Value:
((uint32_t)( BIT32 (11) \
| BIT32 (15) \
| BIT32 (20) \
| BIT32 (25)))
#define BIT32(x)
Useful to reference a single bit of an uint32_t type.
Definition: platform-common.h:229

The list of primary ZLL channels.

#define EMBER_ZLL_PROFILE_ID   0xC05E

The ZigBee Light Link Profile ID.

#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)))
#define BIT32(x)
Useful to reference a single bit of an uint32_t type.
Definition: platform-common.h:229

The list of secondary ZLL channels.

Enumeration Type Documentation

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.

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

Enumerator
EMBER_ZLL_POLICY_ENABLED

Indicates that ZLL processing is enabled.

EMBER_ZLL_POLICY_DISABLED

Indicates that ZLL processing is disabled.

EMBER_ZLL_POLICY_NO_TOUCHLINK_FOR_NFN

Indicates that ZLL processing is disabled for non factory new device.

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.