The Zigbee CLI supports the following commands:
Every command prints Done
when it is finished, or Error: <reason>
in case of errors.
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.
If the optional argument is not provided, get the state of the device.
Returns:
zc
if it is a coordinator,zr
it it is a router,zed
if it is an end device.If the optional argument is provided, set the device role to role
. Can be either zc
or zr
.
bdb extpanid - Set or get the Zigbee Extended Pan ID value.
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 channel - Set or get 802.15.4 channel.
If the optional argument is not provided, get the current number and bitmask of the channel.
If the optional argument is provided:
n
is in [11:26] range, set to that channel.n
as bitmask (logical or of a single bit shifted by channel number).Example:
zdo match_desc - Send match descriptor request.
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:
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.
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 off - Remove a binding between two endpoints on two nodes.
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.
Example:
zdo ieee_addr - Resolve EUI64 by sending IEEE address request.
zdo eui64 - Get the EUI64 address of the Zigbee device.
zdo short - Get the short 16-bit address of the Zigbee device.
zcl attr read - Retrieve the attribute value of the remote node.
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.
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
.
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.
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.
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
.
Example:
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.
Case 1: Ping with echo, without the APS acknowledgement (default mode):
In this default mode, the ping
command measures the time needed for a Zigbee frame to travel between two nodes in the network (there and back again). The command uses a custom "overloaded" ZCL frame, which is constructed as a ZCL frame of the new custom ping ZCL cluster (ID 64).
radio fem - Activate or deactivate FEM.
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.