nRF5 SDK for Thread and Zigbee v2.0.0
Zigbee CLI Reference

The Zigbee CLI supports the following commands:

Every command prints Done when it is finished, or Error: <reason> in case of errors.

Note
The command argument description uses the following convention:
  • command [arg]: square brackets mean that an argument is optional.
  • command <d:arg1> <h:arg2>: a single letter before an argument name defines the format of the argument:
    • h: hexadecimal strings (arg2),
    • d: decimal values (arg1).
  • command <arg> ...: the ellipsis after an argument means that the preceding argument can be repeated several times.

bdb role - Set or get Zigbee role of the device.

bdb role [<role>]
Precondition
Setting only before bdb start. Reading only after bdb start.

If the optional argument is not provided, get the state of the device.
Returns:

If the optional argument is provided, set the device role to role. Can be either zc or zr.

Note
Zigbee End Device is not currently supported on the CLI Agent.

bdb extpanid - Set or get the Zigbee Extended Pan ID value.

bdb extpanid [<h:id>]
Precondition
Setting only before bdb start. Reading only after bdb start.

If the optional argument is not provided, gets the extended PAN ID of the joined network.

If the optional argument is provided, gets the extended PAN ID to id.


bdb start - Start the commissioning process.

> bdb start
Started coordinator
Done

bdb channel - Set or get 802.15.4 channel.

bdb channel <n>
Precondition
Setting only before bdb start.

If the optional argument is not provided, get the current number and bitmask of the channel.

If the optional argument is provided:

Example:

> bdb channel 0x110000
Setting channel bitmask to 110000
Done

zdo match_desc - Send match descriptor request.

zdo match_desc <h:16-bit destination address>
<h:requested address/type> <h:profile ID>
<d:number of input clusters> [<h:input cluster IDs> ...]
<d:number of output clusters> [<h:output cluster IDs> ...]

Send Match Descriptor Request to the dst_addr node that is a query about the req_addr node of the prof_id profile ID, which must have at least one of n_input_clusters(whose IDs are listed in {...}) or n_output_clusters (whose IDs are listed in {...}). The IDs can be either a decimal value or a hexadecimal string.

Example:

match_desc 0xfffd 0xfffd 0x0104 1 6 0

In this example, the command sends a Match Descriptor Request to all non-sleeping nodes regarding all non-sleeping nodes that have 1 input cluster ON/OFF (ID 6) and 0 output clusters.


zdo bind on - Create a binding between two endpoints on two nodes.

zdo bind on <h:source eui64> <d:source ep> <h:destination eui64>
<d:destination ep> <h:source cluster id> <h:request dst addr>`

Create bound connection between a device identified by source eui64 and endpoint source ep, and a device identified by destination eui64 and endpoint destination ep. The connection is created for ZCL commands and attributes assigned to the ZCL cluster source cluster id on the request dst addr node (usually the same address as for the source eui64 device).

Example:

zdo bind on 0B010E0405060708 1 0B010E4050607080 2 8

zdo bind off - Remove a binding between two endpoints on two nodes.

zdo bind off <h:source eui64> <d:source ep> <h:destination eui64>
<d:destination ep> <h:source cluster id> <h:request dst addr>`

Remove bound connection between a devices identified by source eui64 and endpoint source ep, and a device identified by destination eui64 and endpoint destination ep. The connection is removed for ZCL commands and attributes assigned to the ZCL cluster source cluster id on the request dst addr node (usually the same address as for the source eui64 device).


zdo nwk_addr - Resolve eui64 address to a short network address.

zdo nwk_addr <h:eui64>

Example:

zdo nwk_addr 0B010E0405060708

zdo ieee_addr - Resolve EUI64 by sending IEEE address request.

zdo ieee_addr <h:short_addr>

zdo eui64 - Get the EUI64 address of the Zigbee device.

> zdo eui64
0b010eaafd745dfa
Done

zdo short - Get the short 16-bit address of the Zigbee device.

> zdo short
0000
Done

zcl attr read - Retrieve the attribute value of the remote node.

zcl attr read <h:dst_addr> <d:ep> <h:cluster> <h:profile> <h:attr_id>

Read the value of the attribute attr_id in the cluster cluster. The cluster belongs to the profile profile, which resides on the endpoint ep of the remote node dst_addr.


zcl attr write - Write the attribute value to the remote node.

zcl attr write <h:dst_addr> <d:ep> <h:cluster> <h:profile> <h:attr_id> <h:attr_type> <h:attr_value>

Write the attr_value value of the attribute attr_id of the type attr_type in the cluster cluster. The cluster belongs to the profile profile, which resides on the endpoint ep of the remote node dst_addr.

Note
The attr_value value must be in hexadecimal format, unless it is a string (attr_type == 42), then it must be a string.

zcl subscribe on - Subscribe to the attribute changes on the remote node.

zcl subscribe on <h:eui64> <d:ep> <h:cluster> <h:profile>
<h:attr ID> <d:attr type>
[<d:min interval (s)>] [<d:max interval (s)>]

Enable reporting on the node identified by eui64, with the endpoint ep that uses the profile profile of the attribute attr ID with the type attr type in the cluster cluster.

Reports must be generated in intervals not shorter than min interval (1 second by default) and not longer than max interval (60 seconds by default).


zcl subscribe off - Unsubscribe from attribute reports.

zcl subscribe off <h:eui64> <d:ep> <h:cluster> <h:profile> <h:attr ID> <d:attr type>

Disable reporting on the node identified by eui64, with the endpoint ep that uses the profile profile of the attribute attr ID with the type attr type in the cluster cluster.


zcl ping - ping over ZCL

zcl ping [--no-echo] [--aps-ack] <h:eui64> <d:payload size>

Example:

zcl ping 0b010eaafd745dfa 32
Precondition
Only after bdb start.

Issue a ping-style command to another CLI device of the address dst_addr by using payload_size bytes of payload.

Optionally, the device can request an APS acknowledgement (--aps-ack) or ask destination not to sent ping reply (--no-echo).

To implement the ping-like functionality, a new custom cluster has been defined with ID 64. There are four custom commands defined inside it, each with its own ID.

See the following flow graphs for details.


radio fem - Activate or deactivate FEM.

radio fem <enable|disable>

The configuration of the FEM is the default one (defined at compile time, see the define NRF_802154_FEM_DEFAULT_SETTINGS).

For more information, see the description of the FEM on the 802.15.4 radio driver Wiki.


Documentation feedback | Developer Zone | Subscribe | Updated