// This file is generated by Simplicity Studio.  Please do not edit manually.
//
//

// Enclosing macro to prevent multiple inclusion
#ifndef SILABS_EMBER_AF_CLI
#define SILABS_EMBER_AF_CLI


/**
 * @addtogroup cli Application Framework CLI Command Reference
 * This header provides cli command function prototypes for the Application
 * Framework's core ZigBee Cluster Library implementation.
 * @{
 */



/** @addtogroup attribute Attribute Management
 * @ingroup cli
 * Commands related to reading and writing attributes locally on a device.
 * 
 * @{
 */

/** @brief <b>read [endpoint:1] [cluster:2] [attribute:2] [mask:1] </b>
 *   - <i>Read an attribute from the local attribute table. The attribute is displayed on the command line.</i>
 *     - endpoint - INT8U - endpoint of the attribute to read
 *     - cluster - INT16U - cluster id of the attribute to read
 *     - attribute - INT16U - attribute id of the attribute to read
 *     - mask - INT8U - direction mask of the attribute to read (client=0 or server=1)
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ATTRIBUTE_READ

/** @brief <b>write [endpoint:1] [cluster:2] [attribute:2] [mask:1] [dataType:1] [dataBytes:-1] </b>
 *   - <i>Write an attribute value into the local attribute table</i>
 *     - endpoint - INT8U - endpoint of the attribute to write
 *     - cluster - INT16U - cluster id of the attribute to write
 *     - attribute - INT16U - attribute id of the attribute to write
 *     - mask - INT8U - direction mask of the attribute to write (client=0 or server=1)
 *     - dataType - INT8U - the attribute type as listed in the generated file attribute-type.h
 *     - dataBytes - OCTET_STRING - string of bytes you wish to write into the attribute table.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ATTRIBUTE_WRITE

/** @} */ // end group attribute

/** @addtogroup build-send-msg Building and Sending Messages
 * @ingroup cli
 * Commands for building and sending messages out onto the network.
 * 
 * @{
 */

/** @brief <b>bsend [srcEndpoint:1] </b>
 *   - <i>Send using a binding based on the clusterId in the globalApsFrame and the srcEndpoint specified (if the src endpoint is zero it only sends based on the clusterId)</i>
 *     - srcEndpoint - INT8U - Source endpoint to send a binding based message from
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_BUILD_SEND_MSG_BSEND

/** @brief <b>interpan group [groupId:2] [destPan:2] [destprofileID:2] </b>
 *   - <i>send an interpan message to a group id.</i>
 *     - groupId - INT16U - group id to send to
 *     - destPan - INT16U - destination pan id
 *     - destprofileID - INT16U - destination profile ID
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_BUILD_SEND_MSG_INTERPAN_GROUP

/** @brief <b>interpan long [longId:8] [destPAN:2] [destProfileID:2] [options:2] </b>
 *   - <i>Send an interpan message to a long address (8 byte eui64)</i>
 *     - longId - IEEE_ADDRESS - long ieee address to send the interpan message to
 *     - destPAN - INT16U - two byte destination PA ID
 *     - destProfileID - INT16U - two byte destination profile ID
 *     - options - INT16U - two byte options
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_BUILD_SEND_MSG_INTERPAN_LONG

/** @brief <b>interpan short [shortId:2] [destPan:2] [destprofileID:2] </b>
 *   - <i>Send an interpan message to a short id.</i>
 *     - shortId - INT16U - group id to send to
 *     - destPan - INT16U - destination pan id
 *     - destprofileID - INT16U - destination profile ID
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_BUILD_SEND_MSG_INTERPAN_SHORT

/** @brief <b>raw [clusterId:2] [data:-1] </b>
 *   - <i>Creates a message by specifying the raw bytes. Use "send" to send the message once it has been created. Ex: raw 0x000F {00 0A 00 11 22 33 44 55} sends a message to cluster 15 (0x000F) of length 8 which includes the ZCL header.</i>
 *     - clusterId - INT16U - two byte cluster id
 *     - data - OCTET_STRING - ZCL message, including ZCL header and payload
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_BUILD_SEND_MSG_RAW

/** @brief <b>send [id:2] [src-endpoint:1] [dst-endpoint:1] </b>
 *   - <i>Send a pre-buffered message from a given endpoint to an endpoint on a device with a given short address.</i>
 *     - id - INT16U - short id of the device to send the message to
 *     - src-endpoint - INT8U - The endpoint to send the message from
 *     - dst-endpoint - INT8U - The endpoint to send the message to
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_BUILD_SEND_MSG_SEND

/** @brief <b>send-using-multicast-binding [useMulticastBinding:1] </b>
 *   - <i>When sending using a binding, specify whether a multicast binding should be used.</i>
 *     - useMulticastBinding - BOOLEAN - Whether to send via a multicast binding
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_BUILD_SEND_MSG_SEND_USING_MULTICAST_BINDING

/** @brief <b>send_multicast [groupId:2] [src-endpoint:1] </b>
 *   - <i>Send a pre-buffered multicast message to a given group id from a given endpoint.</i>
 *     - groupId - INT16U - group id of the multicast group to send the message to
 *     - src-endpoint - INT8U - The endpoint to send the message from
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_BUILD_SEND_MSG_SEND_MULTICAST

/** @brief <b>timesync [id:2] [srcEndpoint:1] [destEndpoint:1] </b>
 *   - <i>This sends a read attr for the time of the device specified. It sets a flag so when it gets the response it writes the time to its own time attr</i>
 *     - id - INT16U - two byte short id of the time server
 *     - srcEndpoint - INT8U - source endpoint to send time sync from
 *     - destEndpoint - INT8U - destination endpoint to expect response on
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_BUILD_SEND_MSG_TIMESYNC

/** @} */ // end group build-send-msg

/** @addtogroup endpoint Endpoint Manipulation
 * @ingroup cli
 * Commands related to the manipulation of endpoints.
 * 
 * @{
 */

/** @brief <b>endpoint disable [endpoint:1] </b>
 *   - <i>Disable the endpoint for processing ZCL messages.</i>
 *     - endpoint - INT8U - Endpoint in question.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ENDPOINT_ENDPOINT_DISABLE

/** @brief <b>endpoint enable [endpoint:1] </b>
 *   - <i>Enable the endpoint for processing ZCL messages.</i>
 *     - endpoint - INT8U - Endpoint in question.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ENDPOINT_ENDPOINT_ENABLE

/** @brief <b>endpoint print </b>
 *   - <i>Print the status of all the endpoints.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ENDPOINT_ENDPOINT_PRINT

/** @} */ // end group endpoint

/** @addtogroup general General
 * @ingroup cli
 * General commands that are applicable to the node regardless of clusters or
 * plugins.
 * 
 * @{
 */

/** @brief <b>echo [echoOn:1] </b>
 *   - <i>Turns echo on the command line on or off depending on the argument</i>
 *     - echoOn - INT8U - bool indicating whether to turn echo on (1) or off (0)
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_GENERAL_ECHO

/** @brief <b>events </b>
 *   - <i>Print the list of timer events.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_GENERAL_EVENTS

/** @brief <b>reset </b>
 *   - <i>resets the device</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_GENERAL_RESET

/** @brief <b>zcl mfg-code [mfgSpecificId:2] </b>
 *   - <i>Sets the two byte manufacturer specific identifier to use for the next command if the command is not already built.</i>
 *     - mfgSpecificId - INT16U - Manufacturer Specific Id
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_GENERAL_ZCL_MFG_CODE

/** @brief <b>zcl time [utcTime:4] </b>
 *   - <i>Cli command to call emberAfSetTime function documented in af.h</i>
 *     - utcTime - INT32U - ZigBee UTC time, number of seconds since the year 2000
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_GENERAL_ZCL_TIME

/** @brief <b>zcl use-next-sequence [useNextSequence:1] </b>
 *   - <i>Sets the flag to use the incremented sequence number from the framework for the next raw command.</i>
 *     - useNextSequence - BOOLEAN - bool value indicating whether raw command will use the incremented seq number from framework, set(1) or not(0).
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_GENERAL_ZCL_USE_NEXT_SEQUENCE

/** @brief <b>zcl x-default-resp [disableDefaultResponse:1] </b>
 *   - <i>Sets the Disable Default Response Frame Control bit to use for the next command if the command is not already built.</i>
 *     - disableDefaultResponse - BOOLEAN - bool value indicating whether the disable default response bit is set(1) or not (0).
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_GENERAL_ZCL_X_DEFAULT_RESP

/** @} */ // end group general

/** @addtogroup zcl-global Global ZCL
 * @ingroup cli
 * All the ZCL global commands defined in the ZigBee Cluster Library
 * Specification. These command line commands can be used to send messages over
 * the air to, for instance, read and write attributes to devices on the
 * network.
 * 
 * @{
 */

/** @brief <b>zcl global direction [direction:1] </b>
 *   - <i>Sets the direction for global commands, either client to server or server to client.</i>
 *     - direction - INT8U - The direction for global commands, 0 = client to server, 1 = server to client.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZCL_GLOBAL_ZCL_GLOBAL_DIRECTION

/** @brief <b>zcl global disc-com-gen [clusterId:2] [startCommandId:1] [maxCommandId:1] </b>
 *   - <i>Create a Discover Commands Generated command with associated values.</i>
 *     - clusterId - INT16U - The cluster to find commands on.
 *     - startCommandId - INT8U - The command id to start the command search on.
 *     - maxCommandId - INT8U - Max command ids to search for.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZCL_GLOBAL_ZCL_GLOBAL_DISC_COM_GEN

/** @brief <b>zcl global disc-com-rec [clusterId:2] [startCommandId:1] [maxCommandId:1] </b>
 *   - <i>Create a Discover Commands Received command with associated values.</i>
 *     - clusterId - INT16U - The cluster to find commands on.
 *     - startCommandId - INT8U - The command id to start the command search on.
 *     - maxCommandId - INT8U - Max command ids to search for.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZCL_GLOBAL_ZCL_GLOBAL_DISC_COM_REC

/** @brief <b>zcl global discover [cluster:2] [attributeId:2] [max:1] </b>
 *   - <i>Creates discovery message for devices with the associated cluster and attribute specified.</i>
 *     - cluster - INT16U - The cluster id of the cluster to discover.
 *     - attributeId - INT16U - The attribute id of the attribute to read during discovery.
 *     - max - INT8U - Max number of discovery responses.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZCL_GLOBAL_ZCL_GLOBAL_DISCOVER

/** @brief <b>zcl global expect-report-from-me [cluster:2] [attributeId:2] [timeout:2] </b>
 *   - <i>Create a expect-report-from-me message with associated values.</i>
 *     - cluster - INT16U - The cluster id for the requested report.
 *     - attributeId - INT16U - The attribute id for the requested report.
 *     - timeout - INT16U - Maximum amount of time between reports.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZCL_GLOBAL_ZCL_GLOBAL_EXPECT_REPORT_FROM_ME

/** @brief <b>zcl global nwrite [cluster:2] [attributeId:2] [type:1] [data:-1] </b>
 *   - <i>Creates a global write command message to write to the cluster and attribute specified</i>
 *     - cluster - INT16U - The cluster id of the cluster to read from.
 *     - attributeId - INT16U - The attribute id of the attribute to read.
 *     - type - INT8U - The type of the attribute to write.
 *     - data - OCTET_STRING - The data to be written.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZCL_GLOBAL_ZCL_GLOBAL_NWRITE

/** @brief <b>zcl global read [cluster:2] [attributeId:2] </b>
 *   - <i>Creates a global read command message to read from the cluster and attribute specified</i>
 *     - cluster - INT16U - The cluster id of the cluster to read from.
 *     - attributeId - INT16U - The attribute id of the attribute to read.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZCL_GLOBAL_ZCL_GLOBAL_READ

/** @brief <b>zcl global report [endpoint:1] [clusterId:2] [attributeId:2] [mask:1] </b>
 *   - <i></i>
 *     - endpoint - INT8U - The desired endpoint.
 *     - clusterId - INT16U - The cluster id.
 *     - attributeId - INT16U - The attribute id.
 *     - mask - INT8U - The mask.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZCL_GLOBAL_ZCL_GLOBAL_REPORT

/** @brief <b>zcl global report-read [cluster:2] [attributeId:2] [direction:1] </b>
 *   - <i>Creates a global read reporting command for the associated cluster, attribute and server/client direction.</i>
 *     - cluster - INT16U - The cluster id to read from.
 *     - attributeId - INT16U - The attribute id to read from.
 *     - direction - INT8U - 0 for client-to-server, 1 for server-to-client.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZCL_GLOBAL_ZCL_GLOBAL_REPORT_READ

/** @brief <b>zcl global send-me-a-report [cluster:2] [attributeId:2] [dataType:1] [minReportTime:2] [maxReportTime:2] [reportableChange:-1] </b>
 *   - <i>Creates a global send me a report command for the associated values.</i>
 *     - cluster - INT16U - The cluster id of the requested report.
 *     - attributeId - INT16U - The attribute id for requested report.
 *     - dataType - INT8U - The two byte ZigBee type value for the requested report.
 *     - minReportTime - INT16U - Minimum number of seconds between reports.
 *     - maxReportTime - INT16U - Maximum number of seconds between reports.
 *     - reportableChange - OCTET_STRING - Amount of change to trigger a report.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZCL_GLOBAL_ZCL_GLOBAL_SEND_ME_A_REPORT

/** @brief <b>zcl global uwrite [cluster:2] [attributeId:2] [type:1] [data:-1] </b>
 *   - <i>Creates a global write undivided command message to write to the cluster and attribute specified</i>
 *     - cluster - INT16U - The cluster id of the cluster to write to.
 *     - attributeId - INT16U - The attribute id of the attribute to write.
 *     - type - INT8U - The type of the attribute to write.
 *     - data - OCTET_STRING - The data to be written.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZCL_GLOBAL_ZCL_GLOBAL_UWRITE

/** @brief <b>zcl global write [cluster:2] [attributeId:2] [type:4] [data:-1] </b>
 *   - <i>Creates a global write command message to write to the cluster and attribute specified</i>
 *     - cluster - INT16U - The cluster id of the cluster to write to.
 *     - attributeId - INT16U - The attribute id of the attribute to write.
 *     - type - INT32U - The type of the attribute to write.
 *     - data - OCTET_STRING - The data to be written.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZCL_GLOBAL_ZCL_GLOBAL_WRITE

/** @} */ // end group zcl-global

/** @addtogroup info Informational
 * @ingroup cli
 * The Informational command set provides commands for displaying information
 * about the device. These commands include things like printing out the
 * attribute tablerr
 * 
 * @{
 */

/** @brief <b>debugprint all_off </b>
 *   - <i>Turns off all debug printing</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_DEBUGPRINT_ALL_OFF

/** @brief <b>debugprint all_on </b>
 *   - <i>Turns on all compiled in debug printing</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_DEBUGPRINT_ALL_ON

/** @brief <b>debugprint off [area:1] </b>
 *   - <i>Turns off compiled in debug printing for a specific debug printing area. Debug print areas are defined in the generated <application>.h header file.</i>
 *     - area - INT8U - The debug area mask listed in the <application>.h file
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_DEBUGPRINT_OFF

/** @brief <b>debugprint on [area:1] </b>
 *   - <i>Turns on compiled in debug printing for a specific debug printing area. Debug print areas are defined in the generated <application>.h header file.</i>
 *     - area - INT8U - The debug area mask listed in the <application>.h file
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_DEBUGPRINT_ON

/** @brief <b>debugprint status </b>
 *   - <i>Prints out the current settings for debug printing on the device</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_DEBUGPRINT_STATUS

/** @brief <b>help </b>
 *   - <i>Prints out the cli command options for the device</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_HELP

/** @brief <b>info </b>
 *   - <i>Gives information about the local node</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_INFO

/** @brief <b>libs </b>
 *   - <i>Lists which optional libraries of the stack are implemented on this device</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_LIBS

/** @brief <b>option binding-table print </b>
 *   - <i>Prints out the binding table to the command line.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_OPTION_BINDING_TABLE_PRINT

/** @brief <b>option print-rx-msgs disable </b>
 *   - <i>Disable the printing of received messages.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_OPTION_PRINT_RX_MSGS_DISABLE

/** @brief <b>option print-rx-msgs enable </b>
 *   - <i>Enable the printing of received messages.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_OPTION_PRINT_RX_MSGS_ENABLE

/** @brief <b>print attr </b>
 *   - <i>Print the attribute table.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_PRINT_ATTR

/** @brief <b>print entropy source </b>
 *   - <i>Print the the entropy source that is used for true random number generation.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_PRINT_ENTROPY_SOURCE

/** @brief <b>print time </b>
 *   - <i>Print out the time information</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_PRINT_TIME

/** @brief <b>version </b>
 *   - <i>Shows the version of the software</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_INFO_VERSION

/** @} */ // end group info

/** @addtogroup network Network
 * @ingroup cli
 * The Network command set provides commands for interacting with the network.
 * This includes building as well as sending ZigBee commands out on to the
 * network.
 * 
 * @{
 */

/** @brief <b>network broad-pjoin [seconds:1] </b>
 *   - <i>Permit joining on the network for a given number of seconds AND broadcast a ZDO Mgmt Permit Joining request to all routers.</i>
 *     - seconds - INT8U - Number of seconds during which devices will be allowed to join the network. A value of 0xff turns permit joining on permanently
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_BROAD_PJOIN

/** @brief <b>network change-channel [channel:1] </b>
 *   - <i>Attempts to change device over to a different channel given in the channel argument.</i>
 *     - channel - INT8U - The channel to change to.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_CHANGE_CHANNEL

/** @brief <b>network change-keep-alive-mode [keepAliveMode:1] </b>
 *   - <i>Switch between different keep alive modes supported by a router</i>
 *     - keepAliveMode - INT8U - The keep alive mode.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_CHANGE_KEEP_ALIVE_MODE

/** @brief <b>network extpanid [extPanId:-1] </b>
 *   - <i>Write the extended pan id for the device.</i>
 *     - extPanId - OCTET_STRING - The bytes for the extended pan id
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_EXTPANID

/** @brief <b>network find joinable </b>
 *   - <i>Begin a search for a joinable network. Will automatically attempt to join the first network that it finds.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_FIND_JOINABLE

/** @brief <b>network find unused </b>
 *   - <i>Begin a search for an unused Channel and Pan Id. Will automatically form a network on the first unused Channel and Pan Id it finds.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_FIND_UNUSED

/** @brief <b>network form [channel:1] [power:1] [panId:2] </b>
 *   - <i>Create a network on the given channel, power and panId.</i>
 *     - channel - INT8U - The channel on which to form the network
 *     - power - INT8S - One byte signed value indicating the TX power that the radio should be set to
 *     - panId - INT16U - Two byte pan id for the network
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_FORM

/** @brief <b>network id </b>
 *   - <i>Prints the current Node ID, EUI64, and Pan ID.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_ID

/** @brief <b>network init </b>
 *   - <i>Initialize a network; this is a test command used for tc-swap-out testing.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_INIT

/** @brief <b>network join [channel:1] [power:1] [panId:2] </b>
 *   - <i>Join an existing network on the given channel, power and panId.</i>
 *     - channel - INT8U - The channel on which to form the network
 *     - power - INT8S - One byte signed value indicating the TX power that the radio should be set to
 *     - panId - INT16U - Two byte pan id for the network
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_JOIN

/** @brief <b>network leave </b>
 *   - <i>Leave the current network.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_LEAVE

/** @brief <b>network multi-phy-start [page:1] [channel:1] [power:1] </b>
 *   - <i>To start multi phy interface other than native and form the network. The stack uses same PanId as native radio network.</i>
 *     - page - INT8U - The page on which to form the network.
 *     - channel - INT8U - The channel on which to form the network.
 *     - power - INT8S - One byte signed value indicating the TX power that the radio should be set to
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_MULTI_PHY_START

/** @brief <b>network multi-phy-stop </b>
 *   - <i>Terminates the multi phy interface</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_MULTI_PHY_STOP

/** @brief <b>network pjoin [seconds:1] </b>
 *   - <i>Permit joining on the network for a given number of seconds</i>
 *     - seconds - INT8U - Number of seconds during which devices will be allowed to join the network. A value of 0xff turns permit joining on permanently
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_PJOIN

/** @brief <b>network rejoin [haveCurrentNetworkKey:1] [channelMask:4] </b>
 *   - <i>Rejoin an existing network in a secure or insecure manner.</i>
 *     - haveCurrentNetworkKey - INT8U - Boolean indicating whether the device can rejoin secure or not. 1=rejoin with encryption, 0=rejoin without encryption
 *     - channelMask - INT32U - 4 byte channel mask which should be used to search for the network to rejoin.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_REJOIN

/** @brief <b>network rejoin-diff-device-type [haveCurrentNetworkKey:1] [channelMask:4] [nodeType:1] </b>
 *   - <i>Rejoin an existing network in a secure or insecure manner with a different device type.</i>
 *     - haveCurrentNetworkKey - INT8U - Boolean indicating whether the device can rejoin secure or not. 1=rejoin with encryption, 0=rejoin without encryption
 *     - channelMask - INT32U - 4 byte channel mask which should be used to search for the network to rejoin.
 *     - nodeType - INT8U - An enumeration indicating the device type to rejoin as.The stack only accepts EMBER_END_DEVICE and EMBER_SLEEPY_END_DEVICE.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_REJOIN_DIFF_DEVICE_TYPE

/** @brief <b>network set [networkIndex:1] </b>
 *   - <i>Set the network index used by all future CLI commands.  Before executing a CLI command, the framework will switch to this network.  After the command finishes executing, the framework will switch back to the previous network.  The CLI uses the same network index until the device resets or it is changed through this command.</i>
 *     - networkIndex - INT8U - The network index to use for CLI commands
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_SET

/** @brief <b>network timeout-option-mask [mask:2] </b>
 *   - <i>Attempts to change child timeout option mask to filter out undesirable values (e.g. no more than 3 days).</i>
 *     - mask - INT16U - The timeout option mask.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_NETWORK_TIMEOUT_OPTION_MASK

/** @brief <b>option apsretry default </b>
 *   - <i>Forces the AppFramework to set/clear the APS Retry option (in APS Frame options mask) for all subsequent outgoing messages; a value of "default" allows the AppFramework to use its own default logic to determine when the APS Retry option should be used.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_OPTION_APSRETRY_DEFAULT

/** @brief <b>option apsretry off </b>
 *   - <i>Forces the AppFramework to set/clear the APS Retry option (in APS Frame options mask) for all subsequent outgoing messages; Turns APS retry off</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_OPTION_APSRETRY_OFF

/** @brief <b>option apsretry on </b>
 *   - <i>Forces the AppFramework to set/clear the APS Retry option (in APS Frame options mask) for all subsequent outgoing messages; Turns APS retry on.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_OPTION_APSRETRY_ON

/** @brief <b>option binding-table clear </b>
 *   - <i>Clear the binding table</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_OPTION_BINDING_TABLE_CLEAR

/** @brief <b>option binding-table set [bindingTableIndex:1] [clusterId:2] [localEndpoint:1] [remoteEndpoint:1] [ieeeAddress:8] </b>
 *   - <i>Set a binding table entry for the arguments specified.</i>
 *     - bindingTableIndex - INT8U - one byte index into the binding table
 *     - clusterId - INT16U - cluster id to send with the discovery message
 *     - localEndpoint - INT8U - local endpoint to bind
 *     - remoteEndpoint - INT8U - remote endpoint to bind
 *     - ieeeAddress - IEEE_ADDRESS - 8 byte IEEE address provided big endian
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_OPTION_BINDING_TABLE_SET

/** @brief <b>option disc [profileId:2] [clusterId:2] </b>
 *   - <i>Sends a ZDO Match Descriptor Request for the server side of the specified cluster from the specified application profile. Match Descriptor Responses received are printed to the serial output.</i>
 *     - profileId - INT16U - the profile id to send with the discovery message
 *     - clusterId - INT16U - cluster id to send with the discovery message
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_OPTION_DISC

/** @brief <b>option edb [endpoint:1] </b>
 *   - <i>Sends a ZDO End Device Bind Request using the given local endpoint.</i>
 *     - endpoint - INT8U - The local endpoint whose simple descriptor will be used to create the request
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_NETWORK_OPTION_EDB

/** @} */ // end group network

/** @addtogroup security Security
 * @ingroup cli
 * The Security command set includes all of the commands related to security
 * configuration on the device.
 * 
 * @{
 */

/** @brief <b>changekey link [key:-1] </b>
 *   - <i>Change the link key to the one provided in the 16 byte array argument for this command.</i>
 *     - key - OCTET_STRING - The link key provided as a 16 byte array
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_CHANGEKEY_LINK

/** @brief <b>changekey network [key:-1] </b>
 *   - <i>Change the network key to the 16 byte array provided as an argument to this command.</i>
 *     - key - OCTET_STRING - The network key provided as a 16 byte array
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_CHANGEKEY_NETWORK

/** @brief <b>keys clear </b>
 *   - <i>Clear all security keys</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_KEYS_CLEAR

/** @brief <b>keys delete [index:1] </b>
 *   - <i>Delete a security key from a given index</i>
 *     - index - INT8U - index into the security key table
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_KEYS_DELETE

/** @brief <b>keys print </b>
 *   - <i>Print all security keys out to the command line.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_KEYS_PRINT

/** @brief <b>option install-code [keyTableIndex:1] [ieeeAddress:8] [installCode:-1] </b>
 *   - <i>Derives a link key from an install code and sets it in the link key table.</i>
 *     - keyTableIndex - INT8U - index into the link key table
 *     - ieeeAddress - IEEE_ADDRESS - IEEE address to enter into the link key table
 *     - installCode - OCTET_STRING - install code including two-byte, little-endian CRC
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_OPTION_INSTALL_CODE

/** @brief <b>option link [keyTableIndex:1] [ieeeAddress:8] [linkKey:-1] </b>
 *   - <i>Sets a link key in the link key table. Example: option link 0x00 { 06 00 ab 41 64 30 00 0a } {aa bb cc dd ee ff aa bb cc dd ee ff aa bb cc dd}</i>
 *     - keyTableIndex - INT8U - index into the link key table
 *     - ieeeAddress - IEEE_ADDRESS - IEEE address to enter into the link key table
 *     - linkKey - OCTET_STRING - link key to enter into the table
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_OPTION_LINK

/** @brief <b>option register </b>
 *   - <i>Initiates Smart Energy Registration including Key Establishment. This command expects that the device has already joined a smart energy network.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_OPTION_REGISTER

/** @brief <b>option security aps off </b>
 *   - <i>Turns aps security off</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_OPTION_SECURITY_APS_OFF

/** @brief <b>option security aps on </b>
 *   - <i>Turns aps security on</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_OPTION_SECURITY_APS_ON

/** @brief <b>option security set-allow-trust-center-rejoin-using-well-known-key [allowTrustCenterRejoinUsingWellKnownKey:1] </b>
 *   - <i>Set whether or not a Trust Center application will allow trust center rejoins for devices using the well-known key.</i>
 *     - allowTrustCenterRejoinUsingWellKnownKey - BOOLEAN - Whether or not the Trust Center should allow trust center rejoins for devices using the well-known key.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_OPTION_SECURITY_SET_ALLOW_TRUST_CENTER_REJOIN_USING_WELL_KNOWN_KEY

/** @brief <b>option security set-allow-trust-center-rejoin-using-well-known-key-timeout [trustCenterRejoinUsingWellKnownKeyTimeout:2] </b>
 *   - <i>Sets the number of seconds to allow trust center rejoins for devices using the well-known key. A value of 0 means the policy should not be changed after a timeout. This must be called prior to forming or joining a network.</i>
 *     - trustCenterRejoinUsingWellKnownKeyTimeout - INT16U - The number of seconds that trust center rejoins will be responded to using the well-known link key.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_OPTION_SECURITY_SET_ALLOW_TRUST_CENTER_REJOIN_USING_WELL_KNOWN_KEY_TIMEOUT

/** @brief <b>option security set-key-request-policy [tcLinkKeyRequestPolicy:1] [appLinkKeyRequestPolicy:1] </b>
 *   - <i>Sets the local policy for handling TC link key requests and application link key requests. This command sets the emberTrustCenterLinkKeyRequestPolicy and emberAppLinkKeyRequestPolicy attributes. This command should only be entered on the trust center.</i>
 *     - tcLinkKeyRequestPolicy - INT8U - The value to assign to emberTrustCenterLinkKeyRequestPolicy
 *     - appLinkKeyRequestPolicy - INT8U - The value to assign to emberAppLinkKeyRequestPolicy
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_OPTION_SECURITY_SET_KEY_REQUEST_POLICY

/** @brief <b>security mfg-token get </b>
 *   - <i></i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_SECURITY_MFG_TOKEN_GET

/** @brief <b>security mfg-token set [magicNumber:4] [value:2] </b>
 *   - <i></i>
 *     - magicNumber - INT32U
 *     - value - INT16U
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_SECURITY_SECURITY_MFG_TOKEN_SET

/** @} */ // end group security

/** @addtogroup test Test Harness
 * @ingroup cli
 * All commands related to the testing of a device.
 * 
 * @{
 */

/** @brief <b>zcl test response off </b>
 *   - <i>Sets a flag so that the application framework WILL NOT respond to the next ZCL message that comes in over the air.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_TEST_ZCL_TEST_RESPONSE_OFF

/** @brief <b>zcl test response on </b>
 *   - <i>Sets a flag so that the application framework WILL respond to the next ZCL message that comes in over the air.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_TEST_ZCL_TEST_RESPONSE_ON

/** @} */ // end group test

/** @addtogroup zdo ZigBee Device Object Commands (ZDO)
 * @ingroup cli
 * Commands related to the management of a ZigBee device including device
 * discovery and commissioning.
 * 
 * @{
 */

/** @brief <b>zdo active [nodeId:2] </b>
 *   - <i>Send an active endpoint request to the device with the given short id.</i>
 *     - nodeId - INT16U - Two byte short id, destination for the active endpoint request
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_ACTIVE

/** @brief <b>zdo bind [destination:2] [source Endpoint:1] [destEndpoint:1] [cluster:2] [remoteEUI64:8] [destEUI64:8] </b>
 *   - <i>Send a ZDO Bind command to a device specified in the command arguments.</i>
 *     - destination - INT16U - Two byte destination node id
 *     - source Endpoint - INT8U - Remote device's source endpoint to bind
 *     - destEndpoint - INT8U - Remote endpoint to bind
 *     - cluster - INT16U - Cluster on which to bind
 *     - remoteEUI64 - IEEE_ADDRESS - Remote node EUI64
 *     - destEUI64 - IEEE_ADDRESS - Binding's dest EUI64.  Usually the local node's EUI64
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_BIND

/** @brief <b>zdo ieee [nodeId:2] </b>
 *   - <i>Request an ieee address based on a given node id.</i>
 *     - nodeId - INT16U - Short address of the device for which a long address is requested
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_IEEE

/** @brief <b>zdo in-cl-list add [clusterId:2] </b>
 *   - <i>Add clusters to the known server (in) clusters on this device.</i>
 *     - clusterId - INT16U - Server cluster id
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_IN_CL_LIST_ADD

/** @brief <b>zdo in-cl-list clear </b>
 *   - <i>Clear the ZDO list of server (in) clusters.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_IN_CL_LIST_CLEAR

/** @brief <b>zdo leave [target:2] [removeChildren:1] [rejoin:1] </b>
 *   - <i>Send a ZDO Management Leave command to the target device.</i>
 *     - target - INT16U - Target node ID
 *     - removeChildren - BOOLEAN - Remove children
 *     - rejoin - BOOLEAN - Rejoin after leave
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_LEAVE

/** @brief <b>zdo match [nodeId:2] [profile:2] </b>
 *   - <i>Sends a matchDescriptorsRequest to the given destination with the given profile.</i>
 *     - nodeId - INT16U - Two byte node id indicating wher
 *     - profile - INT16U - Two byte profile id for the match descriptor request
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_MATCH

/** @brief <b>zdo mgmt-bind [target:2] [startIndex:1] </b>
 *   - <i>Send a ZDO MGMT-Bind (Binding Table) Request to the target device.</i>
 *     - target - INT16U - Target node ID
 *     - startIndex - INT8U - Starting index into table query
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_MGMT_BIND

/** @brief <b>zdo mgmt-lqi [target:2] [startIndex:1] </b>
 *   - <i>Send a ZDO MGMT-LQI (LQI Table) Request to the target device.</i>
 *     - target - INT16U - Target node ID
 *     - startIndex - INT8U - Starting index into table query
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_MGMT_LQI

/** @brief <b>zdo node [target:2] </b>
 *   - <i>Sends a node descriptor request to a given target device</i>
 *     - target - INT16U - Two byte address for the target device.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_NODE

/** @brief <b>zdo nwk [ieee:8] </b>
 *   - <i>Sends a network address request for the given IEEE address.</i>
 *     - ieee - IEEE_ADDRESS - IEEE address for which a short address is being requested
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_NWK

/** @brief <b>zdo nwk-upd chan [channel:1] </b>
 *   - <i>Sends an update channel request.</i>
 *     - channel - INT8U - One byte channel to change to.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_NWK_UPD_CHAN

/** @brief <b>zdo nwk-upd chanPg [channel:1] [page:1] </b>
 *   - <i>Sends an update channel page request. The stack shall send network enhanced update request if page is non-zero.</i>
 *     - channel - INT8U - One byte channel to change to.
 *     - page - INT8U - One byte page to change to.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_NWK_UPD_CHAN_PG

/** @brief <b>zdo nwk-upd scan [targetNodeId:2] [scanDuration:1] [scanCount:2] </b>
 *   - <i>Performs an energy scan.</i>
 *     - targetNodeId - INT16U - Two byte short id of the target device
 *     - scanDuration - INT8U - One byte scan duration. Must be in range 0 - 5
 *     - scanCount - INT16U - Number of scans to perform. Must be in range 1 - 8
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_NWK_UPD_SCAN

/** @brief <b>zdo nwk-upd scan-chan-mask [targetNodeId:2] [scanDuration:1] [scanCount:2] [channelMask:4] </b>
 *   - <i>Performs an energy scan on given channel mask. This can be used to perform scanning with page number embedded in channel mask, it mainly used for subghz network. The stack shall send network enhanced update request if page is non-zero.</i>
 *     - targetNodeId - INT16U - Two byte short id of the target device
 *     - scanDuration - INT8U - One byte scan duration. Must be in range 0 - 5
 *     - scanCount - INT16U - Number of scans to perform. Must be in range 1 - 8
 *     - channelMask - INT32U - Four byte channel mask
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_NWK_UPD_SCAN_CHAN_MASK

/** @brief <b>zdo nwk-upd set [nwkMgrId:2] [channelMask:4] </b>
 *   - <i>Broadcasts the ID of the new network manager and active channels.</i>
 *     - nwkMgrId - INT16U - Two byte network manager id
 *     - channelMask - INT32U - Four byte channel mask
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_NWK_UPD_SET

/** @brief <b>zdo out-cl-list add [clusterId:2] </b>
 *   - <i>Add clusters to the known client (out) clusters on this device.</i>
 *     - clusterId - INT16U - Client cluster ids
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_OUT_CL_LIST_ADD

/** @brief <b>zdo out-cl-list clear </b>
 *   - <i>Clear the ZDO list of client (out) clusters.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_OUT_CL_LIST_CLEAR

/** @brief <b>zdo power [target:2] </b>
 *   - <i>Send a ZDO Power Descriptor Request to the target device.</i>
 *     - target - INT16U - Target node ID
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_POWER

/** @brief <b>zdo route [target:2] [index:1] </b>
 *   - <i>Send a ZDO route request command to the target.</i>
 *     - target - INT16U - Target node ID
 *     - index - INT8U - The index of the remote node's routing table to request.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_ROUTE

/** @brief <b>zdo simple [dest:2] [targetEndpoint:1] </b>
 *   - <i>Sends out a simple descriptor request for the short address and endpoint specified.</i>
 *     - dest - INT16U - Short address of the device where the simple descriptor request should be sent
 *     - targetEndpoint - INT8U - The endpoint on the target device where the simple descriptor request will be sent
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_SIMPLE

/** @brief <b>zdo unbind group [target:2] [source eui64:8] [source endpoint:1] [clusterID:2] [groupAddress:2] </b>
 *   - <i>Sends an unbind request for a multicast binding to the target device.</i>
 *     - target - INT16U - Target node ID
 *     - source eui64 - IEEE_ADDRESS - The source EUI64 of the binding (the remote device's EUI64)
 *     - source endpoint - INT8U - The source endpoint of the binding.
 *     - clusterID - INT16U - The cluster ID to unbind.
 *     - groupAddress - INT16U - The group address in the binding
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_UNBIND_GROUP

/** @brief <b>zdo unbind unicast [target:2] [source eui64:8] [source endpoint:1] [clusterID:2] [destinationEUI64:8] [destEndpoint:1] </b>
 *   - <i>Sends an unbind request for a unicast binding to the target device.</i>
 *     - target - INT16U - Target node ID
 *     - source eui64 - IEEE_ADDRESS - The source EUI64 of the binding (the remote device's EUI64)
 *     - source endpoint - INT8U - The source endpoint of the binding.
 *     - clusterID - INT16U - The cluster ID to unbind.
 *     - destinationEUI64 - IEEE_ADDRESS - The destination EUI64 in the binding (usually the local node's EUI64
 *     - destEndpoint - INT8U - The destination endpoint of the binding
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_ZDO_ZDO_UNBIND_UNICAST

/** @} */ // end group zdo

/** @addtogroup identify Cluster Commands: Identify
 * @ingroup cli
 * This group describes the CLI commands for the Identify cluster. Listed below
 * is a description of the cluster:<br><br><i> Attributes and commands for
 * putting a device into Identification mode (e.g. flashing a light).</i>
 * 
 * @{
 */

/** @brief <b>zcl identify off [endpoint:1] </b>
 *   - <i>Writes the IdentifyTime attribute</i>
 *     - endpoint - INT8U - The endpoint on which to stop identifying
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_IDENTIFY_ZCL_IDENTIFY_OFF

/** @brief <b>zcl identify on [endpoint:1] [time:2] </b>
 *   - <i>Writes the IdentifyTime attribute</i>
 *     - endpoint - INT8U - The endpoint on the device which should begin identifying
 *     - time - INT16U - The number of seconds to spend identifying
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_IDENTIFY_ZCL_IDENTIFY_ON

/** @} */ // end group identify

/** @addtogroup plugin-address-table Plugin Commands: Address Table
 * @ingroup cli
 * This plugin provides a set of APIs and CLI commands for managing the address
 * table
 * 
 * @{
 */

/** @brief <b>plugin address-table add [entry:8] </b>
 *   - <i>Add an entry to the address table.</i>
 *     - entry - IEEE_ADDRESS - Entry to be added.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_ADDRESS_TABLE_PLUGIN_ADDRESS_TABLE_ADD

/** @brief <b>plugin address-table lookup [entry:8] </b>
 *   - <i>Lookup an entry in the address table.</i>
 *     - entry - IEEE_ADDRESS - Entry to be looked up.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_ADDRESS_TABLE_PLUGIN_ADDRESS_TABLE_LOOKUP

/** @brief <b>plugin address-table print </b>
 *   - <i>Prints the address table.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_ADDRESS_TABLE_PLUGIN_ADDRESS_TABLE_PRINT

/** @brief <b>plugin address-table remove [entry:8] </b>
 *   - <i>Remove an entry from the address table.</i>
 *     - entry - IEEE_ADDRESS - Entry to be removed.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_ADDRESS_TABLE_PLUGIN_ADDRESS_TABLE_REMOVE

/** @brief <b>plugin address-table set [index:1] [eui64:8] [nodeId:2] </b>
 *   - <i>Set an entry in the address table according to the arguments specified</i>
 *     - index - INT8U
 *     - eui64 - IEEE_ADDRESS
 *     - nodeId - INT16U
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_ADDRESS_TABLE_PLUGIN_ADDRESS_TABLE_SET

/** @} */ // end group plugin-address-table

/** @addtogroup plugin-counters Plugin Commands: Counters
 * @ingroup cli
 * This plugin provides APIs and CLI commands for reading and manipulating
 * counters that record different events in the stack.
 * 
 * @{
 */

/** @brief <b>plugin counter print-counter-type [type:1] </b>
 *   - <i>Print value of this particular counter.</i>
 *     - type - INT8U - The counter type       to print.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_COUNTERS_PLUGIN_COUNTER_PRINT_COUNTER_TYPE

/** @brief <b>plugin counters clear </b>
 *   - <i>Clear all counter values.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_COUNTERS_PLUGIN_COUNTERS_CLEAR

/** @brief <b>plugin counters print </b>
 *   - <i>Print all counter values and clear them.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_COUNTERS_PLUGIN_COUNTERS_PRINT

/** @brief <b>plugin counters print-thresholds </b>
 *   - <i>Prints the thresholds of all the counters.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_COUNTERS_PLUGIN_COUNTERS_PRINT_THRESHOLDS

/** @brief <b>plugin counters reset-threshold </b>
 *   - <i>Resets all thresholds values to 0xFFFF.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_COUNTERS_PLUGIN_COUNTERS_RESET_THRESHOLD

/** @brief <b>plugin counters send-request </b>
 *   - <i>Sends a request for ota counters</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_COUNTERS_PLUGIN_COUNTERS_SEND_REQUEST

/** @brief <b>plugin counters set-threshold [type:1] [threshold:2] </b>
 *   - <i>Set a threshold value for a particular type of counter.</i>
 *     - type - INT8U - type of counter
 *     - threshold - INT16U - Threshold Value
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_COUNTERS_PLUGIN_COUNTERS_SET_THRESHOLD

/** @brief <b>plugin counters simple-print </b>
 *   - <i>Print all counter values.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_COUNTERS_PLUGIN_COUNTERS_SIMPLE_PRINT

/** @} */ // end group plugin-counters

/** @addtogroup plugin-eeprom Plugin Commands: EEPROM
 * @ingroup cli
 * The EEPROM plugin provides CLI commands to display details about the current
 * EEPROM part.
 * 
 * @{
 */

/** @brief <b>plugin eeprom data-print [offset:4] </b>
 *   - <i>Print raw bytes stored in the EEPROM</i>
 *     - offset - INT32U - The offset within the EEPROM to print.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_EEPROM_PLUGIN_EEPROM_DATA_PRINT

/** @brief <b>plugin eeprom info </b>
 *   - <i>Print detailed info about the EEPROM part.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_EEPROM_PLUGIN_EEPROM_INFO

/** @brief <b>plugin eeprom status </b>
 *   - <i>Print the state of the EEPROM driver.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_EEPROM_PLUGIN_EEPROM_STATUS

/** @} */ // end group plugin-eeprom

/** @addtogroup plugin-groups-server Plugin Commands: Groups Server
 * @ingroup cli
 * The groups server plugin contributes a CLI command to the application
 * framework to be used for printing information related to groups.
 * 
 * @{
 */

/** @brief <b>plugin groups-server clear </b>
 *   - <i>Clear the groups table on every endpoint.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_GROUPS_SERVER_PLUGIN_GROUPS_SERVER_CLEAR

/** @brief <b>plugin groups-server print </b>
 *   - <i>Print information about the contents of the groups table.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_GROUPS_SERVER_PLUGIN_GROUPS_SERVER_PRINT

/** @} */ // end group plugin-groups-server

/** @addtogroup plugin-identify Plugin Commands: Identify
 * @ingroup cli
 * The identify plugin contributes a CLI command to the application framework to
 * be used for printing information related to identification.
 * 
 * @{
 */

/** @brief <b>plugin identify print </b>
 *   - <i>Print which endpoints are reporting.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_IDENTIFY_PLUGIN_IDENTIFY_PRINT

/** @} */ // end group plugin-identify

/** @addtogroup plugin-manufacturing-library-cli Plugin Commands: Manufacturing Library CLI
 * @ingroup cli
 * CLI commands related to the manufacturing library.
 * 
 * @{
 */

/** @brief <b>plugin mfglib mfgenable [enabled:1] </b>
 *   - <i>Enable mfglib.</i>
 *     - enabled - INT8U - 1 = enable, 0 = disable.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_MFGENABLE

/** @brief <b>plugin mfglib programEui [duration:8] </b>
 *   - <i>Program EUI.</i>
 *     - duration - IEEE_ADDRESS - IEEE address to program.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_PROGRAM_EUI

/** @brief <b>plugin mfglib send message [data:-1] [numPackets:2] </b>
 *   - <i>Send a test message with the specified data in it.</i>
 *     - data - OCTET_STRING - The hex data to send, up to 16 bytes.
 *     - numPackets - INT16U - The number of packets to send.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_SEND_MESSAGE

/** @brief <b>plugin mfglib send random [numPackets:2] [length:1] </b>
 *   - <i>Send a series of test packets with random data..</i>
 *     - numPackets - INT16U - The number of packets to send.
 *     - length - INT8U - The length of the packet to send.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_SEND_RANDOM

/** @brief <b>plugin mfglib send test [numPackets:2] [length:1] </b>
 *   - <i>Send a series of test packets with fixed data.</i>
 *     - numPackets - INT16U - The number of packets to send.
 *     - length - INT8U - The length of the packet to send.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_SEND_TEST

/** @brief <b>plugin mfglib set-channel [channel:1] </b>
 *   - <i>Sets the channel used by the manufacturing library for testing.</i>
 *     - channel - INT8U - The 802.15.4 channel number.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_SET_CHANNEL

/** @brief <b>plugin mfglib set-options [options:1] </b>
 *   - <i>Sets options in the manufacturing library for testing.</i>
 *     - options - INT8U - The options bitmask (0 = normal transmit, 1 = CSMA transmit).
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_SET_OPTIONS

/** @brief <b>plugin mfglib set-power [powerLevel:1] [powerMode:2] </b>
 *   - <i>Set the power level and mode for the manufacturing test.</i>
 *     - powerLevel - INT8S - The power level
 *     - powerMode - INT16U - The power mode
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_SET_POWER

/** @brief <b>plugin mfglib sleep [duration:2] </b>
 *   - <i>Sleep.</i>
 *     - duration - INT16U - Sleep duration (mS).
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_SLEEP

/** @brief <b>plugin mfglib start [useCallback:1] </b>
 *   - <i>Start the mfglib test mode.</i>
 *     - useCallback - BOOLEAN - Use the Rx callback.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_START

/** @brief <b>plugin mfglib status </b>
 *   - <i>Prints the current status of the manufacturing library.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_STATUS

/** @brief <b>plugin mfglib stop </b>
 *   - <i>Stop the mfglib test mode.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_STOP

/** @brief <b>plugin mfglib stream start </b>
 *   - <i>Start the stream test.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_STREAM_START

/** @brief <b>plugin mfglib stream stop </b>
 *   - <i>Stop the stream test.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_STREAM_STOP

/** @brief <b>plugin mfglib tone start </b>
 *   - <i>Starts a tone test.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_TONE_START

/** @brief <b>plugin mfglib tone stop </b>
 *   - <i>Stops the tone test.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_MANUFACTURING_LIBRARY_CLI_PLUGIN_MFGLIB_TONE_STOP

/** @} */ // end group plugin-manufacturing-library-cli

/** @addtogroup plugin-network-steering Plugin Commands: Network Steering
 * @ingroup cli
 * The Network Steering plugin commands are currently being used for the Profile
 * Interop event.
 * 
 * @{
 */

/** @brief <b>plugin network-steering mask add [whichMask:1] [channel:1] </b>
 *   - <i>Adds a channel to either the primary or secondary channel mask of the network-steering plugin.</i>
 *     - whichMask - INT8U - The channel mask to add a channel to.
 *     - channel - INT8U - The channel to add to the mask.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_NETWORK_STEERING_PLUGIN_NETWORK_STEERING_MASK_ADD

/** @brief <b>plugin network-steering mask set [whichMask:1] [mask:4] </b>
 *   - <i>Set either the primary or secondary channel mask.</i>
 *     - whichMask - INT8U - The channel mask to subtract the channel from.
 *     - mask - INT32U - The value to set the channel mask to.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_NETWORK_STEERING_PLUGIN_NETWORK_STEERING_MASK_SET

/** @brief <b>plugin network-steering mask subtract [whichMask:1] [channel:1] </b>
 *   - <i>Subtracts a channel from either the primary or secondary channel mask of the network-steering plugin.</i>
 *     - whichMask - INT8U - The channel mask to subtract the channel from.
 *     - channel - INT8U - The channel to subtract the mask from.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_NETWORK_STEERING_PLUGIN_NETWORK_STEERING_MASK_SUBTRACT

/** @brief <b>plugin network-steering pre-configured-key-set [preconfiguredkey:-1] </b>
 *   - <i>Set the pre-configured key</i>
 *     - preconfiguredkey - OCTET_STRING - Set the preconfigured key so that the joining device can enter the network.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_NETWORK_STEERING_PLUGIN_NETWORK_STEERING_PRE_CONFIGURED_KEY_SET

/** @brief <b>plugin network-steering start [options:1] </b>
 *   - <i>Starts the network steering process.</i>
 *     - options - INT8U - A mask of options for indicating specific behavior within the network-steering process.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_NETWORK_STEERING_PLUGIN_NETWORK_STEERING_START

/** @brief <b>plugin network-steering status </b>
 *   - <i>Displays the current status of the network steering process.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_NETWORK_STEERING_PLUGIN_NETWORK_STEERING_STATUS

/** @brief <b>plugin network-steering stop </b>
 *   - <i>Stops the network steering process.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_NETWORK_STEERING_PLUGIN_NETWORK_STEERING_STOP

/** @} */ // end group plugin-network-steering

/** @addtogroup plugin-ota-bootload Plugin Commands: OTA Bootload
 * @ingroup cli
 * The OTA Bootload Plugin provides information on the installed bootloader.
 * 
 * @{
 */

/** @brief <b>plugin ota-bootload info </b>
 *   - <i>Prints info about the installed bootloader.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_BOOTLOAD_PLUGIN_OTA_BOOTLOAD_INFO

/** @} */ // end group plugin-ota-bootload

/** @addtogroup plugin-ota-client Plugin Commands: OTA Client
 * @ingroup cli
 * The OTA Client plugin provides Over-the-air commands for upgrading firmware
 * and downloading specific files on the client side.
 * 
 * @{
 */

/** @brief <b>plugin ota-client block-test </b>
 *   - <i>Sends an image block request for a file the server should not have.  Test harness only (test case 9.5.6 - Missing File)</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_CLIENT_PLUGIN_OTA_CLIENT_BLOCK_TEST

/** @brief <b>plugin ota-client bootload [index:1] </b>
 *   - <i>Bootloads the image at the specified index by calling the OTA bootload callback.</i>
 *     - index - INT8U - The index at which to begin bootloading the image
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_CLIENT_PLUGIN_OTA_CLIENT_BOOTLOAD

/** @brief <b>plugin ota-client disable-downgrades </b>
 *   - <i>Disable OTA downgrades</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_CLIENT_PLUGIN_OTA_CLIENT_DISABLE_DOWNGRADES

/** @brief <b>plugin ota-client enable-downgrades </b>
 *   - <i>Enable OTA downgrades</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_CLIENT_PLUGIN_OTA_CLIENT_ENABLE_DOWNGRADES

/** @brief <b>plugin ota-client info </b>
 *   - <i>Prints the manufacturer ID, Image Type ID, and Version information that are used when a query next image is sent to the server by the client</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_CLIENT_PLUGIN_OTA_CLIENT_INFO

/** @brief <b>plugin ota-client page-request [pageRequest:1] </b>
 *   - <i></i>
 *     - pageRequest - INT8U - boolean value turning on (1) or off (0) the page request flag
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_CLIENT_PLUGIN_OTA_CLIENT_PAGE_REQUEST

/** @brief <b>plugin ota-client pause-at [stopDownloadPercentage:1] </b>
 *   - <i></i>
 *     - stopDownloadPercentage - INT8U
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_CLIENT_PLUGIN_OTA_CLIENT_PAUSE_AT

/** @brief <b>plugin ota-client start </b>
 *   - <i>Starts the ota client state machine. The state machine discovers the OTA server, queries for new images, downloads the images and waits for the server command to upgrade</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_CLIENT_PLUGIN_OTA_CLIENT_START

/** @brief <b>plugin ota-client status </b>
 *   - <i>Prints information on the current state of the OTA client download.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_CLIENT_PLUGIN_OTA_CLIENT_STATUS

/** @brief <b>plugin ota-client stop </b>
 *   - <i>Stops the OTA state machine</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_CLIENT_PLUGIN_OTA_CLIENT_STOP

/** @brief <b>plugin ota-client upgrade-request </b>
 *   - <i>Send an OTA server an UpgradeEndRequest</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_CLIENT_PLUGIN_OTA_CLIENT_UPGRADE_REQUEST

/** @brief <b>plugin ota-client verify [index:1] </b>
 *   - <i>Perform signature verification on the image at the specified index</i>
 *     - index - INT8U - The index at which to begin verification of the image
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_CLIENT_PLUGIN_OTA_CLIENT_VERIFY

/** @} */ // end group plugin-ota-client

/** @addtogroup plugin-ota-storage-simple-eeprom Plugin Commands: OTA Simple Storage EEPROM
 * @ingroup cli
 * These commands are specific to the OTA Simple Storage EEPROM plugin.
 * 
 * @{
 */

/** @brief <b>plugin ota-storage-eeprom wipe </b>
 *   - <i>Wipes all data in the storage device.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_STORAGE_SIMPLE_EEPROM_PLUGIN_OTA_STORAGE_EEPROM_WIPE

/** @} */ // end group plugin-ota-storage-simple-eeprom

/** @addtogroup plugin-ota-storage-common Plugin Commands: OTA Storage Common
 * @ingroup cli
 * The OTA Storage Common plugin provides Over-the-air commands for upgrading
 * firmware and 
      downloading specific files common to both server and
 * client.
 * 
 * @{
 */

/** @brief <b>plugin ota-storage-common data-print [index:1] [offset:4] </b>
 *   - <i>Print arbitray bytes of the OTA image on disk.</i>
 *     - index - INT8U - The index of the image to print its data.
 *     - offset - INT32U - The offset into the OTA image that will be printed.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_STORAGE_COMMON_PLUGIN_OTA_STORAGE_COMMON_DATA_PRINT

/** @brief <b>plugin ota-storage-common delete [index:1] </b>
 *   - <i>Deletes the image at the specified index.</i>
 *     - index - INT8U - The index at which to begin bootloading the image
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_STORAGE_COMMON_PLUGIN_OTA_STORAGE_COMMON_DELETE

/** @brief <b>plugin ota-storage-common printImages </b>
 *   - <i>Prints the images.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_STORAGE_COMMON_PLUGIN_OTA_STORAGE_COMMON_PRINT_IMAGES

/** @brief <b>plugin ota-storage-common reload </b>
 *   - <i>Reload the storage device.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_STORAGE_COMMON_PLUGIN_OTA_STORAGE_COMMON_RELOAD

/** @brief <b>plugin ota-storage-common storage-info </b>
 *   - <i>Print information about the storage device.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_OTA_STORAGE_COMMON_PLUGIN_OTA_STORAGE_COMMON_STORAGE_INFO

/** @} */ // end group plugin-ota-storage-common

/** @addtogroup plugin-reporting Plugin Commands: Reporting
 * @ingroup cli
 * The reporting plugin contributes several CLI commands to the application
 * framework to be used in creating and managing reporting table entries
 * directly on the device.
 * 
 * @{
 */

/** @brief <b>plugin reporting add [endpoint:1] [clusterId:2] [attributeId:2] [mask:1] [minInterval:2] [maxInterval:2] [reportableChange:4] </b>
 *   - <i>Add a new entry to the report table.</i>
 *     - endpoint - INT8U - The local endpoint from which the attribute is reported.
 *     - clusterId - INT16U - The cluster where the attribute is located.
 *     - attributeId - INT16U - The id of the attribute being reported.
 *     - mask - INT8U - 0 for client-side attributes or 1 for server-side attributes.
 *     - minInterval - INT16U - The minimum reporting interval, measured in seconds.
 *     - maxInterval - INT16U - The maximum reporting interval, measured in seconds.
 *     - reportableChange - INT32U - The minimum change to the attribute that will result in a report being sent.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_REPORTING_PLUGIN_REPORTING_ADD

/** @brief <b>plugin reporting clear </b>
 *   - <i>Clear all entries from the report table.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_REPORTING_PLUGIN_REPORTING_CLEAR

/** @brief <b>plugin reporting clear-last-report-time </b>
 *   - <i>Clear last report time of attributes.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_REPORTING_PLUGIN_REPORTING_CLEAR_LAST_REPORT_TIME

/** @brief <b>plugin reporting print </b>
 *   - <i>Print the report table.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_REPORTING_PLUGIN_REPORTING_PRINT

/** @brief <b>plugin reporting remove [index:1] </b>
 *   - <i>Remove an entry from the report table.</i>
 *     - index - INT8U - The index of the report to be removed.
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_REPORTING_PLUGIN_REPORTING_REMOVE

/** @} */ // end group plugin-reporting

/** @addtogroup plugin-scenes Plugin Commands: Scenes Server
 * @ingroup cli
 * The Scenes server plugin contributes a CLI command to the application
 * framework to be used for printing information related to scenes.
 * 
 * @{
 */

/** @brief <b>plugin scenes clear </b>
 *   - <i>Clear the scenes table on every endpoint.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_SCENES_PLUGIN_SCENES_CLEAR

/** @brief <b>plugin scenes print </b>
 *   - <i>Print information about the contents of the scenes table.</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_SCENES_PLUGIN_SCENES_PRINT

/** @} */ // end group plugin-scenes

/** @addtogroup plugin-update-tc-link-key Plugin Commands: Update TC Link Key
 * @ingroup cli
 * The update trust center link key commands are used to manipulate the behavior
 * of the joining device to attempt the trust center link key updates in a
 * certain fashion.
 * 
 * @{
 */

/** @brief <b>plugin update-tc-link-key timer [timeInMilliseconds:4] </b>
 *   - <i>This sets the the amount of time between subsequent trust center link key updates in milliseconds.</i>
 *     - timeInMilliseconds - INT32U - The amount of time between subsequent trust center link key updates in milliseconds
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_PLUGIN_UPDATE_TC_LINK_KEY_PLUGIN_UPDATE_TC_LINK_KEY_TIMER

/** @} */ // end group plugin-update-tc-link-key

/** @addtogroup attribute Attribute Management
 * @ingroup cli
 * Commands related to reading and writing attributes locally on a device.
 * 
 * @{
 */

/** @} */ // end group attribute

/** @addtogroup build-send-msg Building and Sending Messages
 * @ingroup cli
 * Commands for building and sending messages out onto the network.
 * 
 * @{
 */

/** @} */ // end group build-send-msg

/** @addtogroup endpoint Endpoint Manipulation
 * @ingroup cli
 * Commands related to the manipulation of endpoints.
 * 
 * @{
 */

/** @} */ // end group endpoint

/** @addtogroup general General
 * @ingroup cli
 * General commands that are applicable to the node regardless of clusters or
 * plugins.
 * 
 * @{
 */

/** @} */ // end group general

/** @addtogroup zcl-global Global ZCL
 * @ingroup cli
 * All the ZCL global commands defined in the ZigBee Cluster Library
 * Specification. These command line commands can be used to send messages over
 * the air to, for instance, read and write attributes to devices on the
 * network.
 * 
 * @{
 */

/** @} */ // end group zcl-global

/** @addtogroup info Informational
 * @ingroup cli
 * The Informational command set provides commands for displaying information
 * about the device. These commands include things like printing out the
 * attribute tablerr
 * 
 * @{
 */

/** @} */ // end group info

/** @addtogroup network Network
 * @ingroup cli
 * The Network command set provides commands for interacting with the network.
 * This includes building as well as sending ZigBee commands out on to the
 * network.
 * 
 * @{
 */

/** @} */ // end group network

/** @addtogroup security Security
 * @ingroup cli
 * The Security command set includes all of the commands related to security
 * configuration on the device.
 * 
 * @{
 */

/** @} */ // end group security

/** @addtogroup test Test Harness
 * @ingroup cli
 * All commands related to the testing of a device.
 * 
 * @{
 */

/** @} */ // end group test

/** @addtogroup zdo ZigBee Device Object Commands (ZDO)
 * @ingroup cli
 * Commands related to the management of a ZigBee device including device
 * discovery and commissioning.
 * 
 * @{
 */

/** @} */ // end group zdo

/** @addtogroup identify Cluster Commands: Identify
 * @ingroup cli
 * This group describes the CLI commands for the Identify cluster. Listed below
 * is a description of the cluster:<br><br><i> Attributes and commands for
 * putting a device into Identification mode (e.g. flashing a light).</i>
 * 
 * @{
 */

/** @brief <b>zcl identify id [identifyTime:2] </b>
 *   - <i>Command description for Identify</i>
 *     - identifyTime - INT16U
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_IDENTIFY_ID

/** @brief <b>zcl identify query </b>
 *   - <i>Command description for IdentifyQuery</i>
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_IDENTIFY_QUERY

/** @brief <b>zcl identify ez-mode [action:1] </b>
 *   - <i>Invoke EZMode on an Identify Server</i>
 *     - action - BITMAP8
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_IDENTIFY_EZ_MODE

/** @brief <b>zcl identify trigger [effectId:1] [effectVariant:1] </b>
 *   - <i>Command description for TriggerEffect</i>
 *     - effectId - IdentifyEffectIdentifier [ENUM8]
 *     - effectVariant - IdentifyEffectVariant [ENUM8]
 * @sa 
 * EmberAfIdentifyEffectIdentifier
 * EmberAfIdentifyEffectVariant
 */
#define EMBER_AF_DOXYGEN_CLI_COMMAND_IDENTIFY_TRIGGER

/** @} */ // end group identify

/** @addtogroup plugin-address-table Plugin Commands: Address Table
 * @ingroup cli
 * This plugin provides a set of APIs and CLI commands for managing the address
 * table
 * 
 * @{
 */

/** @} */ // end group plugin-address-table

/** @addtogroup plugin-counters Plugin Commands: Counters
 * @ingroup cli
 * This plugin provides APIs and CLI commands for reading and manipulating
 * counters that record different events in the stack.
 * 
 * @{
 */

/** @} */ // end group plugin-counters

/** @addtogroup plugin-eeprom Plugin Commands: EEPROM
 * @ingroup cli
 * The EEPROM plugin provides CLI commands to display details about the current
 * EEPROM part.
 * 
 * @{
 */

/** @} */ // end group plugin-eeprom

/** @addtogroup plugin-groups-server Plugin Commands: Groups Server
 * @ingroup cli
 * The groups server plugin contributes a CLI command to the application
 * framework to be used for printing information related to groups.
 * 
 * @{
 */

/** @} */ // end group plugin-groups-server

/** @addtogroup plugin-identify Plugin Commands: Identify
 * @ingroup cli
 * The identify plugin contributes a CLI command to the application framework to
 * be used for printing information related to identification.
 * 
 * @{
 */

/** @} */ // end group plugin-identify

/** @addtogroup plugin-manufacturing-library-cli Plugin Commands: Manufacturing Library CLI
 * @ingroup cli
 * CLI commands related to the manufacturing library.
 * 
 * @{
 */

/** @} */ // end group plugin-manufacturing-library-cli

/** @addtogroup plugin-network-steering Plugin Commands: Network Steering
 * @ingroup cli
 * The Network Steering plugin commands are currently being used for the Profile
 * Interop event.
 * 
 * @{
 */

/** @} */ // end group plugin-network-steering

/** @addtogroup plugin-ota-bootload Plugin Commands: OTA Bootload
 * @ingroup cli
 * The OTA Bootload Plugin provides information on the installed bootloader.
 * 
 * @{
 */

/** @} */ // end group plugin-ota-bootload

/** @addtogroup plugin-ota-client Plugin Commands: OTA Client
 * @ingroup cli
 * The OTA Client plugin provides Over-the-air commands for upgrading firmware
 * and downloading specific files on the client side.
 * 
 * @{
 */

/** @} */ // end group plugin-ota-client

/** @addtogroup plugin-ota-storage-simple-eeprom Plugin Commands: OTA Simple Storage EEPROM
 * @ingroup cli
 * These commands are specific to the OTA Simple Storage EEPROM plugin.
 * 
 * @{
 */

/** @} */ // end group plugin-ota-storage-simple-eeprom

/** @addtogroup plugin-ota-storage-common Plugin Commands: OTA Storage Common
 * @ingroup cli
 * The OTA Storage Common plugin provides Over-the-air commands for upgrading
 * firmware and 
      downloading specific files common to both server and
 * client.
 * 
 * @{
 */

/** @} */ // end group plugin-ota-storage-common

/** @addtogroup plugin-reporting Plugin Commands: Reporting
 * @ingroup cli
 * The reporting plugin contributes several CLI commands to the application
 * framework to be used in creating and managing reporting table entries
 * directly on the device.
 * 
 * @{
 */

/** @} */ // end group plugin-reporting

/** @addtogroup plugin-scenes Plugin Commands: Scenes Server
 * @ingroup cli
 * The Scenes server plugin contributes a CLI command to the application
 * framework to be used for printing information related to scenes.
 * 
 * @{
 */

/** @} */ // end group plugin-scenes

/** @addtogroup plugin-update-tc-link-key Plugin Commands: Update TC Link Key
 * @ingroup cli
 * The update trust center link key commands are used to manipulate the behavior
 * of the joining device to attempt the trust center link key updates in a
 * certain fashion.
 * 
 * @{
 */

/** @} */ // end group plugin-update-tc-link-key


/** @} END addtogroup */
#endif // SILABS_EMBER_AF_CLI
