Structures
This section details the structures used in the Touchlink Commissioning cluster (both Touchlink and Commissioning Utility parts).
tsZLL_CommissionEndpoint
This structure is used to hold endpoint information for a Touchlink application.
typedef struct
{
tsZCL_EndPointDefinition sEndPoint;
tsZLL_CommissionEndpointClusterInstances sClusterInstance;
#if (defined CLD_ZLL_COMMISSION) && (defined ZLL_COMMISSION_SERVER)
tsCLD_ZllCommission sZllCommissionServerCluster;
tsCLD_ZllCommissionCustomDataStructure
sZllCommissionServerCustomDataStructure;
#endif
#if (defined CLD_ZLL_COMMISSION) && (defined ZLL_COMMISSION_CLIENT)
tsCLD_ZllCommission sZllCommissionClientCluster;
tsCLD_ZllCommissionCustomDataStructure
sZllCommissionClientCustomDataStructure;
#endif
} tsZLL_CommissionEndpoint;
where:
sEndPoint
is a ZCL structure containing information about the endpoint (refer to Section 6.1.1).sClusterInstance
is a structure containing information about the Touchlink Commissioning cluster instance on the endpoint (see Section 44.8.2).For a Touchlink server, the following fields are used:
sZllCommissionServerCluster
is the Touchlink Commissioning cluster structure (which contains no attributes).sZllCommissionServerCustomDataStructure
is a structure containing custom data for the cluster server (see Section 44.8.3).
For a Touchlink client, the following fields are used:
sZllCommissionClientCluster
is the Touchlink Commissioning cluster structure (which contains no attributes).sZllCommissionClientCustomDataStructure
is a structure containing custom data for the cluster client (see Section 44.8.3).
Parent topic:Structures
tsZLL_CommissionEndpointClusterInstances
This structure holds information about the Touchlink Commissioning cluster instance on an endpoint.
typedef struct PACK
{
#if (defined CLD_ZLL_COMMISSION) && (defined ZLL_COMMISSION_SERVER)
tsZCL_ClusterInstance sZllCommissionServer;
#endif
#if (defined CLD_ZLL_COMMISSION) && (defined ZLL_COMMISSION_CLIENT)
tsZCL_ClusterInstance sZllCommissionClient;
#endif
} tsZLL_CommissionEndpointClusterInstances;
where:
s``ZllCommissionServer
is a ZCL structure containing information about the Touchlink Commissioning cluster server instance (refer to Section 6.1.16).s``ZllCommissionClient
is a ZCL structure containing information about the Touchlink Commissioning cluster client instance (refer to Section 6.1.16).
Parent topic:Structures
tsCLD_ZllCommissionCustomDataStructure
This structure is used to hold the data for a Touchlink command received by a node.
typedef struct
{
tsZCL_ReceiveEventAddressInterPan sRxInterPanAddr;
tsZCL_CallBackEvent sCustomCallBackEvent;
tsCLD_ZllCommissionCallBackMessage sCallBackMessage;
} tsCLD_ZllCommissionCustomDataStructure;
where:
RxInterPanAddr
is a ZCL structure containing the Inter-PAN addresses of the source and destination nodes of the command.sCustomCallBackEvent
is the ZCL event structure for the command.sCallBackMessage
is a structure containing the command ID and payload (see Section 44.8.4).
Parent topic:Structures
tsCLD_ZllCommissionCallBackMessage
This structure contains the command ID and payload for a received Touchlink command.
typedef struct
{
uint8 u8CommandId;
union
{
tsCLD_ZllCommission_ScanReqCommandPayload
*psScanReqPayload;
tsCLD_ZllCommission_ScanRspCommandPayload
*psScanRspPayload;
tsCLD_ZllCommission_IdentifyReqCommandPayload
*psIdentifyReqPayload;
tsCLD_ZllCommission_DeviceInfoReqCommandPayload
*psDeviceInfoReqPayload;
tsCLD_ZllCommission_DeviceInfoRspCommandPayload
*psDeviceInfoRspPayload;
tsCLD_ZllCommission_FactoryResetReqCommandPayload
*psFactoryResetPayload;
tsCLD_ZllCommission_NetworkStartReqCommandPayload
*psNwkStartReqPayload;
tsCLD_ZllCommission_NetworkStartRspCommandPayload
*psNwkStartRspPayload;
tsCLD_ZllCommission_NetworkJoinRouterReqCommandPayload
*psNwkJoinRouterReqPayload;
tsCLD_ZllCommission_NetworkJoinRouterRspCommandPayload
*psNwkJoinRouterRspPayload;
tsCLD_ZllCommission_NetworkJoinEndDeviceReqCommandPayload
*psNwkJoinEndDeviceReqPayload;
tsCLD_ZllCommission_NetworkJoinEndDeviceRspCommandPayload
*psNwkJoinEndDeviceRspPayload;
tsCLD_ZllCommission_NetworkUpdateReqCommandPayload
*psNwkUpdateReqPayload;
} uMessage;
} tsCLD_ZllCommissionCallBackMessage;
where:
u8CommandId
is the command ID - enumerations are provided, as detailed in Section 44.6.1.uMessage
contains the payload of the command, where the structure used depends on the command ID (the structures are detailed in the sections below).
Parent topic:Structures
tsCLD_ZllCommission_ScanReqCommandPayload
This structure is used to hold the payload data for a Touchlink Scan Request command.
typedef struct
{
uint32 u32TransactionId;
uint8 u8ZigbeeInfo;
uint8 u8ZllInfo;
} tsCLD_ZllCommission_ScanReqCommandPayload;
where:
u32TransactionId
is the 32-bit Inter-PAN Transaction Identifier of the request. This is a random number generated and inserted automatically.u8ZigbeeInfo
is a bitmap of ZigBee information which indicates the ZigBee device type of the sending node and whether the radio receiver remains on when the node is idle. This information is inserted by the ZigBee stack.u8ZllInfo
is a bitmap indicating properties of the sending node, including whether the node is factory new, whether the node is able to assign addresses to other nodes and whether the node is able to initiate a link operation (supports Touchlink Commissioning cluster on the client side). This information is inserted automatically.
Parent topic:Structures
tsCLD_ZllCommission_ScanRspCommandPayload
This structure is used to hold the payload data for a Touchlink Scan Response command.
typedef struct
{
uint32 u32TransactionId;
uint8 u8RSSICorrection;
uint8 u8ZigbeeInfo;
uint8 u8ZllInfo;
uint16 u16KeyMask;
uint32 u32ResponseId;
uint64 u64ExtPanId;
uint8 u8NwkUpdateId;
uint8 u8LogicalChannel;
uint16 u16PanId;
uint16 u16NwkAddr;
uint8 u8NumberSubDevices;
uint8 u8TotalGroupIds;
uint8 u8Endpoint;
uint16 u16ProfileId;
uint16 u16DeviceId;
uint8 u8Version;
uint8 u8GroupIdCount;
} tsCLD_ZllCommission_ScanRspCommandPayload;
where:
u32TransactionId
is the 32-bit Inter-PAN Transaction Identifier of the response, which must take the same value as the identifier in the corresponding request.u8RSSICorrection
is the 8-bit RSSI correction offset for the node, in the range 0x00 to 0x20.u8ZigbeeInfo
is an 8-bit field containing the following ZigBee-related information:Bits 1-0: Node type (00 - Co-ordinator, 01 - Router, 10 - End Device)
Bit 2: Rx on when idle (1 - On, 0 - Off)
Bits 7-3: Reserved
u8ZllInfo
is an 8-bit field containing the following information:Bit 0: Factory new (1 - Yes, 0 - No)
Bit 1: Address assignment capability (1 - Yes, 0 - No)
Bits 3-2: Reserved
Bit 4: Touchlink initiator (1 - Yes, 0 - No)
Bit 5: Touchlink priority request (1 - Yes, 0 - No)
Bits 7-6: Reserved
u16KeyMask
is a 16-bit bitmap indicating which link key is installed on the node - only one bit should be set to ‘1’, corresponding to the key that is in use. The possible values and keys are:0x0001 (bit 0 set): Development key (defined by developer for use during application development)
0x0010 (bit 4 set): Master key (obtained from the ZigBee Alliance after successful certification and agreement with the terms of the ‘ZLL Security Key Licence and Confidentialty Agreement’)
0x8000 (bit 15 set): Certification key (defined in the ZLL Specification for use during development and during certification at test houses)
u``32ResponseId
is a 32-bit random identifier for the response, used during network key transfer.u64ExtPanId
is the 64-bit Extended PAN ID of a network to which the node already belongs, if any (a zero value indicates no network membership).u8NwkUpdateId
is the current value of the Network Update Identifier on the node (see Section 44.4.3).u8LogicalChannel
is the number of the IEEE 802.15.4 radio channel used by a network to which the node already belongs, if any (a zero value indicates no network membership and therefore that no particular channel is used).u16PanId
is the 16-bit PAN ID of a network to which the node already belongs, if any (a zero value indicates no network membership).u16NwkAddr
is the 16-bit network address currently assigned to the node (the value 0xFFFF indicates that the node is ‘factory new’ and has no assigned network address).u8NumberSubDevices
is the number of ZigBee devices on the node.u8TotalGroupIds
is the total number of groups (of lights) supported on the node (across all devices).u8Endpoint
is number of the endpoint (in the range 1-240) on which the ZigBee device is resident (this field is only used when there is only one ZigBee device on the node).u16ProfileId
is the 16-bit identifier of the ZigBee application profile that is supported by the device (this field is only used when there is only one ZigBee device on the node).u16DeviceId
is the 16-bit Device Identifier supported by the device (this field is only used when there is only one ZigBee device on the node).u8Version
is an 8-bit version number for the device - the four least significant bits are from the Application Device Version field of the appropriate Simple Descriptor and the four most significant bits are zero (this field is only used when there is only one ZigBee device on the node).u8GroupIdCount
is the number of groups (of lights) supported by the device (this field is only used when there is only one ZigBee device on the node).
Parent topic:Structures
tsCLD_ZllCommission_DeviceInfoReqCommandPayload
This structure is used to hold the payload data for a Touchlink Device Information Request command.
typedef struct
{
uint32 u32TransactionId;
uint8 u8StartIndex;
} tsCLD_ZllCommission_DeviceInfoReqCommandPayload;
where:
u32TransactionId
is the 32-bit Inter-PAN Transaction Identifier of the request. This is a random number generated and inserted automatically.u8StartIndex
specifies the index (starting from 0) of the first entry in the device table from which device information should be obtained.
Parent topic:Structures
tsCLD_ZllCommission_DeviceInfoRspCommandPayload
This structure is used to hold the payload data for a Touchlink Device Information Response command.
typedef struct
{
uint32 u32TransactionId;
uint8 u8NumberSubDevices;
uint8 u8StartIndex;
uint8 u8DeviceInfoRecordCount;
tsCLD_ZllDeviceRecord asDeviceRecords[ZLL_MAX_DEVICE_RECORDS];
} tsCLD_ZllCommission_DeviceInfoRspCommandPayload;
where:
u32TransactionId
is the 32-bit Inter-PAN Transaction Identifier of the response, which must take the same value as the identifier in the corresponding request.u8NumberSubDevices
is the number of ZigBee devices on the node (as reported in the Scan Response).u8StartIndex
is the index (starting from 0) of the first entry in the device table from which device information has been obtained (this value should be as specified in the corresponding request).u8DeviceInfoRecordCount
indicates the number of device information records included in the response (in the range 0 to 5).asDeviceRecords[]
is an array, where each array element is atsCLD_ZllDeviceRecord
structure containing a device information record for one ZigBee device on the node.
Parent topic:Structures
tsCLD_ZllCommission_IdentifyReqCommandPayload
This structure is used to hold the payload data for a Touchlink Identify Request command.
typedef struct
{
uint32 u32TransactionId;
uint16 u16Duration;
} tsCLD_ZllCommission_IdentifyReqCommandPayload;
where:
u32TransactionId
is the 32-bit Inter-PAN Transaction Identifier of the request. This is a random number generated and inserted automatically.u16Duration
specifies the length of time (in seconds) that the target node is to remain in identify mode. The possible values are:0x0000: Exit identify mode immediately
0x0001–0xFFFE: Number of seconds to remain in identify mode
0xFFFF: Remain in identify mode for the default time for the target node
If the target node is unable to provide accurate timings, it will attempt to remain in identify mode for as close to the requested time as possible
Parent topic:Structures
tsCLD_ZllCommission_FactoryResetReqCommandPayload
This structure is used to hold the payload data for a Touchlink Reset to Factory New Request command.
typedef struct
{
uint32 u32TransactionId;
} tsCLD_ZllCommission_FactoryResetReqCommandPayload;
where u32TransactionId
is the 32-bit Inter-PAN Transaction Identifier of the request. This is a random number generated and inserted automatically.
Parent topic:Structures
tsCLD_ZllCommission_NetworkStartReqCommandPayload
This structure is used to hold the payload data for a Touchlink Network Start Request command.
typedef struct
{
uint32 u32TransactionId;
uint64 u64ExtPanId;
uint8 u8KeyIndex;
uint8 au8NwkKey[16];
uint8 u8LogicalChannel;
uint16 u16PanId;
uint16 u16NwkAddr;
uint16 u16GroupIdBegin;
uint16 u16GroupIdEnd;
uint16 u16FreeNwkAddrBegin;
uint16 u16FreeNwkAddrEnd;
uint16 u16FreeGroupIdBegin;
uint16 u16FreeGroupIdEnd;
uint64 u64InitiatorIEEEAddr;
uint16 u16InitiatorNwkAddr;
} tsCLD_ZllCommission_NetworkStartReqCommandPayload;
where:
u32TransactionId
is the 32-bit Inter-PAN Transaction Identifier of the request. This is a random number generated and inserted automatically.u64ExtPanId
is the Extended PAN ID (EPID) of the new network (if set to zero, the target node will choose the EPID).u8KeyIndex
is a value indicating the type of security key used to encrypt the randomly generated network key inau8NwkKey
. The valid values are as follows (all other values are reserved for future use):0: Development key, used during development before ZigBee certification
4: Master key, used after successful ZigBee certification
15: Certification key, used during ZigBee certification testing
au8NwkKey[16]
is the 128-bit randomly generated network key encrypted using the key specified inu8KeyIndex
.u8LogicalChannel
is the number of the IEEE 802.15.4 radio channel to be used by the network (if set to zero, the target node will choose the channel).u16PanId
is the PAN ID of the new network (if set to zero, the target node will choose the PAN ID).u16NwkAddr
is the 16-bit network (short) address assigned to the target nodeu16GroupIdBegin
is the start value of the range of group identifiers that the target node can use for its own endpoints (if set to zero, no range of group identifiers has been allocated).u16GroupIdEnd
is the end value of the range of group identifiers that the target node can use for its own endpoints (if set to zero, no range of group identifiers has been allocated).u16FreeNwkAddrBegin
is the start address of the range of network addresses that the target node can assign to other nodes (if set to zero, no range of network addresses has been allocated).u16FreeNwkAddrEnd
is the end address of the range of network addresses that the target node can assign to other nodes (if set to zero, no range of network addresses has been allocated).u16FreeGroupIdBegin
is the start value of the range of free group identifiers that the target node can assign to other nodes (if set to zero, no range of free group identifiers has been allocated).u16FreeGroupIdEnd
is the end value of the range of free group identifiers that the target node can assign to other nodes (if set to zero, no range of free group identifiers has been allocated).u64InitiatorIEEEAddr
is the IEEE (MAC) address of the local node (network initiator)u16InitiatorNwkAddr
is the network (short) address of the local node (network initiator)
Parent topic:Structures
tsCLD_ZllCommission_NetworkStartRspCommandPayload
This structure is used to hold the payload data for a Touchlink Network Start Response command.
typedef struct
{
uint32 u32TransactionId;
uint8 u8Status;
uint64 u64ExtPanId;
uint8 u8NwkUpdateId;
uint8 u8LogicalChannel;
uint16 u16PanId;
} tsCLD_ZllCommission_NetworkStartRspCommandPayload;
where:
u32TransactionId
is the 32-bit Inter-PAN Transaction Identifier of the response, which must take the same value as the identifier in the corresponding request.u8Status
indicates the outcome of the corresponding Network Start Request: 0x00 for success, 0x01 for failure.u64ExtPanId
is the Extended PAN ID (EPID) of the new network (this will be the value specified in the corresponding request or a value chosen by the local node).u8NwkUpdateId
is the current value of the Network Update Identifier, which will be set to zero for a new network (see Section 44.4.3).u8LogicalChannel
is the number of the IEEE 802.15.4 radio channel to be used by the network (this will be the value specified in the corresponding request or a value chosen by the local node).u16PanId
is the PAN ID of the new network (this will be the value specified in the corresponding request or a value chosen by the local node).
Parent topic:Structures
tsCLD_ZllCommission_NetworkJoinRouterReqCommandPayload
This structure is used to hold the payload data for a Touchlink Network Join Router Request command.
typedef struct
{
uint32 u32TransactionId;
uint64 u64ExtPanId;
uint8 u8KeyIndex;
uint8 au8NwkKey[16];
uint8 u8NwkUpdateId;
uint8 u8LogicalChannel;
uint16 u16PanId;
uint16 u16NwkAddr;
uint16 u16GroupIdBegin;
uint16 u16GroupIdEnd;
uint16 u16FreeNwkAddrBegin;
uint16 u16FreeNwkAddrEnd;
uint16 u16FreeGroupIdBegin;
uint16 u16FreeGroupIdEnd;
} tsCLD_ZllCommission_NetworkJoinRouterReqCommandPayload;
where:
u32TransactionId
is the 32-bit Inter-PAN Transaction Identifier of the request. This is a random number generated and inserted automatically.u64ExtPanId
is the Extended PAN ID (EPID) of the network.u8KeyIndex
is a value indicating the type of security key used to encrypt the network key inau8NwkKey
. The valid values are as follows (all other values are reserved for future use):0: Development key, used during development before ZigBee certification
4: Master key, used after successful ZigBee certification
15: Certification key, used during ZigBee certification testing
au8NwkKey[16]
is the 128-bit network key encrypted using the key specified inu8KeyIndex
.u8NwkUpdateId
is the current value of the Network Update Identifier. This identifier takes a value in the range 0x00 to 0xFF and is incremented when a network update has occurred which requires the network settings on the nodes to be changed.u8LogicalChannel
is the number of the IEEE 802.15.4 radio channel used by the network.u16PanId
is the PAN ID of the networku16NwkAddr
is the 16-bit network (short) address assigned to the target nodeu16GroupIdBegin
is the start value of the range of group identifiers that the target node can use for its own endpoints (if set to zero, no range of group identifiers has been allocated).u16GroupIdEnd
is the end value of the range of group identifiers that the target node can use for its own endpoints (if set to zero, no range of group identifiers has been allocated).u16FreeNwkAddrBegin
is the start address of the range of network addresses that the target node can assign to other nodes (if set to zero, no range of network addresses has been allocated).u16FreeNwkAddrEnd
is the end address of the range of network addresses that the target node can assign to other nodes (if set to zero, no range of network addresses has been allocated).u16FreeGroupIdBegin
is the start value of the range of free group identifiers that the target node can assign to other nodes (if set to zero, no range of free group identifiers has been allocated).u16FreeGroupIdEnd
is the end value of the range of free group identifiers that the target node can assign to other nodes (if set to zero, no range of free group identifiers has been allocated).
Parent topic:Structures
tsCLD_ZllCommission_NetworkJoinRouterRspCommandPayload
This structure is used to hold the payload data for a Touchlink Network Join Router Response command.
typedef struct
{
uint32 u32TransactionId;
uint8 u8Status;
} tsCLD_ZllCommission_NetworkJoinRouterRspCommandPayload;
where:
u32TransactionId
is the 32-bit Inter-PAN Transaction Identifier of the response, which must take the same value as the identifier in the corresponding request.u8Status
indicates the outcome of the corresponding Network Join Router Request: 0x00 for success, 0x01 for failure.
Parent topic:Structures
tsCLD_ZllCommission_NetworkJoinEndDeviceReqCommandPayload
This structure is used to hold the payload data for a Touchlink Network Join End Device Request command.
typedef struct
{
uint32 u32TransactionId;
uint64 u64ExtPanId;
uint8 u8KeyIndex;
uint8 au8NwkKey[16];
uint8 u8NwkUpdateId;
uint8 u8LogicalChannel;
uint16 u16PanId;
uint16 u16NwkAddr;
uint16 u16GroupIdBegin;
uint16 u16GroupIdEnd;
uint16 u16FreeNwkAddrBegin;
uint16 u16FreeNwkAddrEnd;
uint16 u16FreeGroupIdBegin;
uint16 u16FreeGroupIdEnd;
} tsCLD_ZllCommission_NetworkJoinEndDeviceReqCommandPayload;
where:
u32TransactionId
is the 32-bit Inter-PAN Transaction Identifier of the request. This is a random number generated and inserted automatically.u64ExtPanId
is the Extended PAN ID (EPID) of the network.u8KeyIndex
is a value indicating the type of security key used to encrypt the network key inau8NwkKey
. The valid values are as follows (all other values are reserved for future use):0: Development key, used during development before ZigBee certification
4: Master key, used after successful ZigBee certification
15: Certification key, used during ZigBee certification testing
au8NwkKey[16]
is the 128-bit network key encrypted using the key specified inu8KeyIndex
.u8NwkUpdateId
is the current value of the Network Update Identifier. This identifier takes a value in the range 0x00 to 0xFF and is incremented when a network update has occurred which requires the network settings on the nodes to be changed.u8LogicalChannel
is the number of the IEEE 802.15.4 radio channel used by the network.u16PanId
is the PAN ID of the network.u16NwkAddr
is the 16-bit network (short) address assigned to the target node.u16GroupIdBegin
is the start value of the range of group identifiers that the target node can use for its own endpoints (if set to zero, no range of group identifiers has been allocated).u16GroupIdEnd
is the end value of the range of group identifiers that the target node can use for its own endpoints (if set to zero, no range of group identifiers has been allocated).u16FreeNwkAddrBegin
is the start address of the range of network addresses that the target node can assign to other nodes (if set to zero, no range of network addresses has been allocated).u16FreeNwkAddrEnd
is the end address of the range of network addresses that the target node can assign to other nodes (if set to zero, no range of network addresses has been allocated).u16FreeGroupIdBegin
is the start value of the range of free group identifiers that the target node can assign to other nodes (if set to zero, no range of free group identifiers has been allocated).u16FreeGroupIdEnd
is the end value of the range of free group identifiers that the target node can assign to other nodes (if set to zero, no range of free group identifiers has been allocated).
Parent topic:Structures
tsCLD_ZllCommission_NetworkJoinEndDeviceRspCommandPayload
This structure is used to hold the payload data for a Touchlink Network Join End Device Response command.
typedef struct
{
uint32 u32TransactionId;
uint8 u8Status;
} tsCLD_ZllCommission_NetworkJoinEndDeviceRspCommandPayload;
where:
u32TransactionId
is the 32-bit Inter-PAN Transaction Identifier of the response, which must take the same value as the identifier in the corresponding request.u8Status
indicates the outcome of the corresponding Network Join End Device Request: 0x00 for success, 0x01 for failure.
Parent topic:Structures
tsCLD_ZllCommission_NetworkUpdateReqCommandPayload
This structure is used to hold the payload data for a Touchlink Network Update Request command.
typedef struct
{
uint32 u32TransactionId;
uint64 u64ExtPanId;
uint8u8NwkUpdateId;
uint8u8LogicalChannel;
uint16 u16PanId;
uint16 u16NwkAddr;
} tsCLD_ZllCommission_NetworkUpdateReqCommandPayload;
where:
u32TransactionId
is the 32-bit Inter-PAN Transaction Identifier of the request. This is a random number generated and inserted automatically.u64ExtPanId
is the Extended PAN ID (EPID) of the network.u8NwkUpdateId
is the current value of the Network Update Identifier (see Section 44.4.3).u8LogicalChannel
is the number of the IEEE 802.15.4 radio channel used by the network.u16PanId
is the PAN ID of the network.u16NwkAddr
is the 16-bit network (short) address assigned to the target node.
Parent topic:Structures
tsCLD_ZllUtilityCustomDataStructure
This structure is used to hold custom data for a Commissioning Utility instance of the Touchlink Commissioning cluster.
typedef struct
{
tsZCL_ReceiveEventAddress sRxAddr;
tsZCL_CallBackEvent sCustomCallBackEvent;
tsCLD_ZllUtilityCallBackMessage sCallBackMessage;
} tsCLD_ZllUtilityCustomDataStructure;
where:
sRxAddr
is a ZCL structure containing the destination address of the command.sCustomCallBackEvent
is the ZCL event structure for the command.sCallBackMessage
is a structure containing the command ID and payload (see Section 44.8.19).
Parent topic:Structures
tsCLD_ZllUtilityCallBackMessage
This structure contains the command ID and payload for a received Commissioning Utility command.
typedef struct
{
uint8u8CommandId;
union
{
tsCLD_ZllUtility_EndpointInformationCommandPayload
*psEndpointInfoPayload;
tsCLD_ZllUtility_GetGroupIdReqCommandPayload
*psGetGroupIdReqPayload;
tsCLD_ZllUtility_GetGroupIdRspCommandPayload
*psGetGroupIdRspPayload;
tsCLD_ZllUtility_GetEndpointListReqCommandPayload
*psGetEndpointlistReqPayload;
tsCLD_ZllUtility_GetEndpointListRspCommandPayload
*psGetEndpointListRspPayload;
} uMessage;
} tsCLD_ZllUtilityCallBackMessage;
where:
u8CommandId
is the command ID - enumerations are provided, as detailed in Section 44.6.2.uMessage
contains the payload of the command, where the structure used depends on the command ID (the structures are detailed in the sections below).
Parent topic:Structures
tsCLD_ZllUtility_EndpointInformationCommandPayload
This structure is used to hold the payload data for a Commissioning Utility Endpoint Information command.
typedef struct
{
uint64 u64IEEEAddr;
uint16 u16NwkAddr;
uint8u8Endpoint;
uint16 u16ProfileID;
uint16 u16DeviceID;
uint8u8Version;
} tsCLD_ZllUtility_EndpointInformationCommandPayload;
where:
u64IEEEAddr
is the IEEE (MAC) address of the local node.u16NwkAddr
is the network (short) address of the local node.u8Endpoint
is the number of the local endpoint (1-240).u16ProfileID
is the identifier of the ZigBee application profile supported on the local endpoint.u16DeviceID
is identifier of the ZigBee device on the local endpoint.u8Version
specifies the version number of the ZigBee device on the local endpoint.
Parent topic:Structures
Parent topic:Touchlink Commissioning Cluster