ZCL IP#
API and Callbacks for the ZCL IP Component.
This component provides functionality to encapsulate and extract ZCL packets over IP to a remote Internet-connected host.
API#
Generate the outgoing proxy packet.
Generate the outgoing keep alive.
Retrieve incoming encapsulated ZCL proxy packet.
Retrieve incoming keepalive.
Retrieve incoming configure remote clusters.
Generate outgoing configure remote cluster.
Generate outgoing add device.
Generate outgoing configure remote binding.
Generate outgoing device discovery update.
Get packet length.
Get received packet pointer.
Get received packet command ID.
Get received proxy packet eui64 pointer.
Retrieved incoming add device.
Macros#
API Documentation#
sl_zigbee_af_zcl_ip_generate_outgoing_proxy_packet#
sl_status_t sl_zigbee_af_zcl_ip_generate_outgoing_proxy_packet (sl_zigbee_aps_frame_t * apsFrame, sl_802154_short_addr_t nodeId, sl_802154_long_addr_t eui64, uint8_t * zclMessageBuffer, uint16_t zclMessageBufferLength)
Generate the outgoing proxy packet.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_zigbee_aps_frame_t * | N/A | apsFrame | |
| sl_802154_short_addr_t | N/A | nodeId | |
| sl_802154_long_addr_t | N/A | eui64 | |
| uint8_t * | N/A | zclMessageBuffer | |
| uint16_t | N/A | zclMessageBufferLength |
Returns
sl_status_t status code
sl_zigbee_af_zcl_ip_generate_outgoing_keepalive#
sl_status_t sl_zigbee_af_zcl_ip_generate_outgoing_keepalive (uint32_t unixTime, uint32_t nextKeepaliveDelaySeconds)
Generate the outgoing keep alive.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint32_t | N/A | unixTime | |
| uint32_t | N/A | nextKeepaliveDelaySeconds |
Returns
sl_status_t status code
sl_zigbee_af_zcl_ip_retrieve_incoming_encapsulated_zcl_proxy_packet#
sl_status_t sl_zigbee_af_zcl_ip_retrieve_incoming_encapsulated_zcl_proxy_packet (sl_zigbee_af_cluster_command_t * returnCmd, sl_802154_long_addr_t returnEui64)
Retrieve incoming encapsulated ZCL proxy packet.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_zigbee_af_cluster_command_t * | N/A | returnCmd | |
| sl_802154_long_addr_t | N/A | returnEui64 |
Returns
sl_status_t status code
sl_zigbee_af_zcl_ip_retrieve_incoming_keepalive#
sl_status_t sl_zigbee_af_zcl_ip_retrieve_incoming_keepalive (uint32_t * unixTimeSinceEpoch, uint32_t * nextKeepaliveDelaySeconds)
Retrieve incoming keepalive.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint32_t * | N/A | unixTimeSinceEpoch | |
| uint32_t * | N/A | nextKeepaliveDelaySeconds |
Returns
sl_status_t status code
sl_zigbee_af_zcl_ip_retrieve_incoming_configure_remote_clusters#
sl_status_t sl_zigbee_af_zcl_ip_retrieve_incoming_configure_remote_clusters (sl_zigbee_af_remote_cluster_struct_t * returnData, uint16_t maxCount, uint16_t * returnedCount)
Retrieve incoming configure remote clusters.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_zigbee_af_remote_cluster_struct_t * | N/A | returnData | struct for remote cluster data |
| uint16_t | N/A | maxCount | |
| uint16_t * | N/A | returnedCount |
Returns
sl_status_t status code
sl_zigbee_af_zcl_ip_generate_outgoing_configure_remote_cluster#
sl_status_t sl_zigbee_af_zcl_ip_generate_outgoing_configure_remote_cluster (uint16_t count, const sl_zigbee_af_remote_cluster_struct_t * records)
Generate outgoing configure remote cluster.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint16_t | N/A | count | |
| const sl_zigbee_af_remote_cluster_struct_t * | N/A | records | struct for remote cluster data |
Returns
sl_status_t status code
sl_zigbee_af_zcl_ip_generate_outgoing_add_device#
sl_status_t sl_zigbee_af_zcl_ip_generate_outgoing_add_device (sl_802154_long_addr_t newDeviceEui64, const sl_zigbee_key_data_t * newDeviceKeyData)
Generate outgoing add device.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_802154_long_addr_t | N/A | newDeviceEui64 | |
| const sl_zigbee_key_data_t * | N/A | newDeviceKeyData |
Returns
sl_status_t status code
sl_zigbee_af_zcl_ip_generate_outgoing_configure_remote_binding#
sl_status_t sl_zigbee_af_zcl_ip_generate_outgoing_configure_remote_binding (sl_802154_long_addr_t targetEUI64, uint8_t sourceEndpoint, uint8_t destEndpoint, uint16_t clusterId, sl_802154_long_addr_t destEUI64, sl_802154_long_addr_t sourceEUI64)
Generate outgoing configure remote binding.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_802154_long_addr_t | N/A | targetEUI64 | |
| uint8_t | N/A | sourceEndpoint | |
| uint8_t | N/A | destEndpoint | |
| uint16_t | N/A | clusterId | |
| sl_802154_long_addr_t | N/A | destEUI64 | |
| sl_802154_long_addr_t | N/A | sourceEUI64 |
Returns
sl_status_t status code
sl_zigbee_af_zcl_ip_generate_outgoing_device_discovery_update#
sl_status_t sl_zigbee_af_zcl_ip_generate_outgoing_device_discovery_update (const sl_zigbee_af_device_info_t * device)
Generate outgoing device discovery update.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| const sl_zigbee_af_device_info_t * | N/A | device | Pointer to device info struct |
Returns
sl_status_t status code
sl_zigbee_af_zcl_ip_get_packet_length#
uint16_t sl_zigbee_af_zcl_ip_get_packet_length (const uint8_t * zclIpPacket)
Get packet length.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| const uint8_t * | N/A | zclIpPacket |
Returns
uint16_t packet length
sl_zigbee_af_zcl_ip_get_received_packet_pointer#
uint8_t * sl_zigbee_af_zcl_ip_get_received_packet_pointer (void )
Get received packet pointer.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| void | N/A |
Returns
uint8_t* pointer to the received packet
sl_zigbee_af_zcl_ip_get_received_packet_command_id#
uint16_t sl_zigbee_af_zcl_ip_get_received_packet_command_id (void )
Get received packet command ID.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| void | N/A |
Returns
uint16_t command ID
sl_zigbee_af_zcl_ip_get_received_proxy_packet_eui64_pointer#
uint8_t * sl_zigbee_af_zcl_ip_get_received_proxy_packet_eui64_pointer (void )
Get received proxy packet eui64 pointer.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| void | N/A |
Returns
uint8_t eui64 packet pointer
sl_zigbee_af_zcl_ip_retrieve_incoming_add_device#
sl_status_t sl_zigbee_af_zcl_ip_retrieve_incoming_add_device (sl_802154_long_addr_t newDeviceEui64, sl_zigbee_key_data_t * newDeviceKeyData)
Retrieved incoming add device.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_802154_long_addr_t | N/A | newDeviceEui64 | |
| sl_zigbee_key_data_t * | N/A | newDeviceKeyData |
Returns
sl_status_t status code
sl_zigbee_af_zcl_ip_retrieve_incoming_configure_remote_binding#
sl_status_t sl_zigbee_af_zcl_ip_retrieve_incoming_configure_remote_binding (sl_zigbee_af_remote_binding_struct_t * returnData)
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_zigbee_af_remote_binding_struct_t * | N/A | returnData | Pointer to the remote binding struct |
Retrieve incoming configure remote binding.
Returns
sl_status_t status code
sl_zigbee_af_zcl_ip_retrieve_incoming_device_discovery_update#
sl_status_t sl_zigbee_af_zcl_ip_retrieve_incoming_device_discovery_update (sl_zigbee_af_device_info_t * device)
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_zigbee_af_device_info_t * | N/A | device | pointer to the device info struct |
Retrieve incoming device discovery update.
Returns
sl_status_t status code
Macro Definition Documentation#
EM_AF_ZCL_IP_MINIMUM_PACKET_SIZE#
#define EM_AF_ZCL_IP_MINIMUM_PACKET_SIZEValue:
(EM_AF_ZCL_IP_COMMAND_ID_INDEX + EM_AF_ZCL_IP_COMMAND_ID_FIELD_LENGTH)
EM_AF_ZCL_IP_COMMAND_ZCL_PROXY_PACKET_ID#
#define EM_AF_ZCL_IP_COMMAND_ZCL_PROXY_PACKET_IDValue:
0x0001
EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_ID#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_IDValue:
0x0002
EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_ID#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_IDValue:
0x0004
EM_AF_ZCL_IP_KEEPALIVE_DELAY_SECONDS_INDEX#
#define EM_AF_ZCL_IP_KEEPALIVE_DELAY_SECONDS_INDEXValue:
10
EM_AF_ZCL_IP_KEEPALIVE_PACKET_SIZE#
#define EM_AF_ZCL_IP_KEEPALIVE_PACKET_SIZEValue:
(EM_AF_ZCL_IP_KEEPALIVE_DELAY_SECONDS_INDEX + EM_AF_ZCL_IP_KEEPALIVE_DELAY_SECONDS_SIZE)
EM_AF_ZCL_IP_PROXY_PACKET_MINIMUM_SIZE#
#define EM_AF_ZCL_IP_PROXY_PACKET_MINIMUM_SIZEValue:
(EM_AF_ZCL_IP_ZCL_PAYLOAD_INDEX)
EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_COUNT_INDEX#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_COUNT_INDEXValue:
6
EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_START_INDEX#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_START_INDEXValue:
8
EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_COMMAND_OVERHEAD#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_COMMAND_OVERHEADValue:
2
EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_CLUSTER_OFFSET#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_CLUSTER_OFFSETValue:
0
EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_PROFILE_OFFSET#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_PROFILE_OFFSETValue:
2
EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_DEVICE_ID_OFFSET#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_DEVICE_ID_OFFSETValue:
4
EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_ENDPOINT_OFFSET#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_ENDPOINT_OFFSETValue:
6
EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_TYPE_OFFSET#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_TYPE_OFFSETValue:
7
EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_TYPE_OFFSET_LENGTH#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_TYPE_OFFSET_LENGTHValue:
2
EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_LENGTH#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_CLUSTERS_RECORD_LENGTHValue:
EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_COMMAND_TARGET_EUI_OFFSET#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_COMMAND_TARGET_EUI_OFFSETValue:
6
EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_COMMAND_SOURCE_ENDPOINT_OFFSET#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_COMMAND_SOURCE_ENDPOINT_OFFSETValue:
14
EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_COMMAND_DEST_ENDPOINT_OFFSET#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_COMMAND_DEST_ENDPOINT_OFFSETValue:
15
EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_COMMAND_CLUSTER_ID_OFFSET#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_COMMAND_CLUSTER_ID_OFFSETValue:
16
EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_COMMAND_DEST_EUI_OFFSET#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_COMMAND_DEST_EUI_OFFSETValue:
18
EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_COMMAND_SOURCE_EUI_OFFSET#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_COMMAND_SOURCE_EUI_OFFSETValue:
26
EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_COMMAND_LENGTH#
#define EM_AF_ZCL_IP_CONFIGURE_REMOTE_BINDING_COMMAND_LENGTHValue:
34
EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_EUI64_INDEX#
#define EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_EUI64_INDEXValue:
6
EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_STATUS_INDEX#
#define EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_STATUS_INDEXValue:
14
EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_CAPABILITIES_INDEX#
#define EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_CAPABILITIES_INDEXValue:
15
EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_ENDPOINT_COUNT_INDEX#
#define EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_ENDPOINT_COUNT_INDEXValue:
16
EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_ENDPOINT_INFO_INDEX#
#define EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_ENDPOINT_INFO_INDEXValue:
17
EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_ENDPOINT_OFFSET#
#define EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_ENDPOINT_OFFSETValue:
0
EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_PROFILE_ID_OFFSET#
#define EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_PROFILE_ID_OFFSETValue:
1
EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_DEVICE_ID_OFFSET#
#define EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_DEVICE_ID_OFFSETValue:
3
EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_CLUSTER_COUNT_OFFSET#
#define EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_CLUSTER_COUNT_OFFSETValue:
5
EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_CLUSTER_ID_OFFSET#
#define EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_CLUSTER_ID_OFFSETValue:
6
EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_ENDPOINT_INFO_MIN_LENGTH#
#define EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_ENDPOINT_INFO_MIN_LENGTHValue:
EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_CLUSTER_ID_OFFSET
EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_MIN_LENGTH#
#define EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_MIN_LENGTHValue:
EM_AF_ZCL_IP_DEVICE_DISCOVERY_UPDATE_COMMAND_ENDPOINT_INFO_INDEX