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:239

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:239

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.