Configuration Frames#

Name: version

ID: 0x0000

Description: The command allows the Host to specify the desired EZSP version and must be sent before any other command. The response provides information about the firmware running on the NCP.

Command Parameters:

uint8_t desiredProtocolVersion

The EZSP version the Host wishes to use. To successfully set the version and allow other commands, this must be same as EZSP_PROTOCOL_VERSION.

Response Parameters:

uint8_t protocolVersion

The EZSP version the NCP is using.

uint8_t stackType

The type of stack running on the NCP (2).

uint16_t stackVersion

The version number of the stack.

Name: getConfigurationValue

ID: 0x0052

Description: Reads a configuration value from the NCP.

Command Parameters:

sl_zigbee_ezsp_config_id_t configId

Identifies which configuration value to read.

Response Parameters:

sl_status_t status

SL_STATUS_OK if the value was read successfully, SL_STATUS_ZIGBEE_EZSP_ERROR (for SL_ZIGBEE_EZSP_ERROR_INVALID_ID) if the NCP does not recognize configId.

uint16_t value

The configuration value.

Name: setConfigurationValue

ID: 0x0053

Description: Writes a configuration value to the NCP. Configuration values can be modified by the Host after the NCP has reset. Once the status of the stack changes to SL_STATUS_NETWORK_UP, configuration values can no longer be modified and this command will respond with SL_ZIGBEE_EZSP_ERROR_INVALID_CALL.

Command Parameters:

sl_zigbee_ezsp_config_id_t configId

Identifies which configuration value to change.

uint16_t value

The new configuration value.

Response Parameters:

sl_status_t status

SL_STATUS_OK if the configuration value was changed, SL_STATUS_ZIGBEE_EZSP_ERROR if there was an error. Retrievable EZSP errors can be SL_ZIGBEE_EZSP_ERROR_OUT_OF_MEMORY if the new value exceeded the available memory, SL_ZIGBEE_EZSP_ERROR_INVALID_VALUE if the new value was out of bounds, SL_ZIGBEE_EZSP_ERROR_INVALID_ID if the NCP does not recognize configId, SL_ZIGBEE_EZSP_ERROR_INVALID_CALL if configuration values can no longer be modified.

Name: readAttribute

ID: 0x0108

Description: Read attribute data on NCP endpoints.

Command Parameters:

uint8_t endpoint

Endpoint

uint16_t cluster

Cluster.

uint16_t attributeId

Attribute ID.

uint8_t mask

Mask.

uint16_t manufacturerCode

Manufacturer code.

Response Parameters:

sl_zigbee_af_status_t af_status

An sl_zigbee_af_status_t value indicating success or the reason for failure, handled by the EZSP layer as a uint8_t. 255 indicates an EZSP-specific error.

uint8_t dataType

Attribute data type.

uint8_t readLength

Length of attribute data.

uint8_t[] dataPtr

Attribute data.

Name: WriteAttribute

ID: 0x0109

Description: Write attribute data on NCP endpoints.

Command Parameters:

uint8_t endpoint

Endpoint

uint16_t cluster

Cluster.

uint16_t attributeId

Attribute ID.

uint8_t mask

Mask.

uint16_t manufacturerCode

Manufacturer code.

bool overrideReadOnlyAndDataType

Override read only and data type.

bool justTest

Override read only and data type.

uint8_t dataType

Attribute data type.

uint8_t dataLength

Attribute data length.

uint8_t[] data

Attribute data.

Response Parameters:

sl_zigbee_af_status_t af_status

An sl_zigbee_af_status_t value indicating success or the reason for failure.

Name: addEndpoint

ID: 0x0002

Description: Configures endpoint information on the NCP. The NCP does not remember these settings after a reset. Endpoints can be added by the Host after the NCP has reset. Once the status of the stack changes to SL_STATUS_NETWORK_UP, endpoints can no longer be added and this command will respond with SL_ZIGBEE_EZSP_ERROR_INVALID_CALL.

Command Parameters:

uint8_t endpoint

The application endpoint to be added.

uint16_t profileId

The endpoint's application profile.

uint16_t deviceId

The endpoint's device ID within the application profile.

uint8_t appFlags

The device version and flags indicating description availability.

uint8_t inputClusterCount

The number of cluster IDs in inputClusterList.

uint8_t outputClusterCount

The number of cluster IDs in outputClusterList.

uint16_t[] inputClusterList

Input cluster IDs the endpoint will accept.

uint16_t[] outputClusterList

Output cluster IDs the endpoint may send.

Response Parameters:

sl_status_t status

SL_STATUS_OK if the endpoint was added, SL_STATUS_ZIGBEE_EZSP_ERROR if there was an error. Errors could be SL_ZIGBEE_EZSP_ERROR_OUT_OF_MEMORY if there is not enough memory available to add the endpoint, SL_ZIGBEE_EZSP_ERROR_INVALID_VALUE if the endpoint already exists, SL_ZIGBEE_EZSP_ERROR_INVALID_CALL if endpoints can no longer be added.

Name: setPolicy

ID: 0x0055

Description: Allows the Host to change the policies used by the NCP to make fast decisions.

Command Parameters:

sl_zigbee_ezsp_policy_id_t policyId

Identifies which policy to modify.

sl_zigbee_ezsp_decision_id_t decisionId

The new decision for the specified policy.

Response Parameters:

sl_status_t status

SL_STATUS_OK if the policy was changed, SL_STATUS_ZIGBEE_EZSP_ERROR (for SL_ZIGBEE_EZSP_ERROR_INVALID_ID) if the NCP does not recognize policyId.

Name: getPolicy

ID: 0x0056

Description: Allows the Host to read the policies used by the NCP to make fast decisions.

Command Parameters:

sl_zigbee_ezsp_policy_id_t policyId

Identifies which policy to read.

Response Parameters:

sl_status_t status

SL_STATUS_OK if the policy was read successfully, SL_STATUS_ZIGBEE_EZSP_ERROR (for SL_ZIGBEE_EZSP_ERROR_INVALID_ID) if the NCP does not recognize policyId.

sl_zigbee_ezsp_decision_id_t decisionId

The current decision for the specified policy.

Name: sendPanIdUpdate

ID: 0x0057

Description: Triggers a pan id update message.

Command Parameters:

sl_802154_pan_id_t newPan

The new Pan Id

Response Parameters:

bool status

true if the request was successfully handed to the stack, false otherwise

Name: getValue

ID: 0x00AA

Description: Reads a value from the NCP.

Command Parameters:

sl_zigbee_ezsp_value_id_t valueId

Identifies which value to read.

Response Parameters:

sl_status_t status

SL_STATUS_OK if the value was read successfully, SL_STATUS_ZIGBEE_EZSP_ERROR otherwise. Errors could be SL_ZIGBEE_EZSP_ERROR_INVALID_ID if the NCP does not recognize valueId, SL_ZIGBEE_EZSP_ERROR_INVALID_VALUE if the length of the returned value exceeds the size of local storage allocated to receive it.

uint8_t valueLength

Both a command and response parameter. On command, the maximum size in bytes of local storage allocated to receive the returned value. On response, the actual length in bytes of the returned value.

uint8_t[] value

The value.

Name: getExtendedValue

ID: 0x0003

Description: Reads a value from the NCP but passes an extra argument specific to the value being retrieved.

Command Parameters:

sl_zigbee_ezsp_extended_value_id_t valueId

Identifies which extended value ID to read.

uint32_t characteristics

Identifies which characteristics of the extended value ID to read. These are specific to the value being read.

Response Parameters:

sl_status_t status

SL_STATUS_OK if the value was read successfully, SL_STATUS_ZIGBEE_EZSP_ERROR otherwise. Errors could be SL_ZIGBEE_EZSP_ERROR_INVALID_ID if the NCP does not recognize valueId, SL_ZIGBEE_EZSP_ERROR_INVALID_VALUE if the length of the returned value exceeds the size of local storage allocated to receive it.

uint8_t valueLength

Both a command and response parameter. On command, the maximum size in bytes of local storage allocated to receive the returned value. On response, the actual length in bytes of the returned value.

uint8_t[] value

The value.

Name: setValue

ID: 0x00AB

Description: Writes a value to the NCP.

Command Parameters:

sl_zigbee_ezsp_value_id_tvalueId

Identifies which value to change.

uint8_t valueLength

The length of the value parameter in bytes.

uint8_t[] value

The new value.

Response Parameters:

sl_status_t status

SL_STATUS_OK if the value was changed, SL_STATUS_ZIGBEE_EZSP_ERROR otherwise. Errors could be SL_ZIGBEE_EZSP_ERROR_INVALID_VALUE if the new value was out of bounds, SL_ZIGBEE_EZSP_ERROR_INVALID_ID if the NCP does not recognize valueId, SL_ZIGBEE_EZSP_ERROR_INVALID_CALL if the value could not be modified.

Name: setPassiveAckConfig

ID: 0x0105

Description: Allows the Host to control the broadcast behavior of a routing device used by the NCP.

Command Parameters:

uint8_t config

Passive ack config enum.

uint8_t minAcksNeeded

The minimum number of acknowledgments (re-broadcasts) to wait for until deeming the broadcast transmission complete.

Response Parameters:

sl_status_t status

An sl_status_t value indicating success or the reason for failure.

Name: setPendingNetworkUpdatePanId

ID: 0x011E

Description: Set the PAN ID to be accepted by the device in a NLME Network Update command. If this is set to a different value than its default 0xFFFF, NLME network update messages will be ignored if they do not match this PAN ID.

Command Parameters:

uint16_t panId

PAN ID to be accepted in a network update.

Response Parameters: None

Name: getEndpoint

ID: 0x012E

Description: Retrieve the endpoint number located at the specified index.

Command Parameters:

uint8_t index

Index to retrieve the endpoint number for.

Response Parameters:

uint8_t endpoint

Endpoint number at the index.

Name: getEndpointCount

ID: 0x012F

Description: Get the number of configured endpoints.

Command Parameters: None

Response Parameters:

uint8_t count

Number of configured endpoints.

Name: getEndpointDescription

ID: 0x0130

Description: Retrieve the endpoint description for the given endpoint number.

Command Parameters:

uint8_t endpoint

Endpoint number to get the description of.

Response Parameters:

sl_zigbee_endpoint_description_t result

Description of this endpoint.

Name: getEndpointCluster

ID: 0x0131

Description: Retrieve one of the cluster IDs associated with the given endpoint.

Command Parameters:

uint8_t endpoint

Endpoint number to get a cluster ID for.

uint8_t listId

Which list to get the cluster ID from. (0 for input, 1 for output).

uint8_t listIndex

Index from requested list to look at the cluster ID of.

Response Parameters:

uint16_t endpoint_cluster

ID of the requested cluster.