The Network Commissioning command set allows the Host to prompt the Module to either form a network or join an existing network. A third option exists for performing HA 1.2 EZ-Mode Commissioning, defined as an automated process that prompts the application to join an existing network and, failing to find one, to form its own.
- ( PH:0x01, SH:0x00 ) - Join Network Command
- ( PH:0x01, SH:0x01 ) - Form Network Command
- ( PH:0x01, SH:0x03 ) - Permit Join Command
- ( PH:0x01, SH:0x04 ) - Leave Network Command
- ( PH:0x01, SH:0x05 ) - Rejoin Network Command
- ( PH:0x01, SH:0x08 ) - Network Status Request Command
- ( PH:0x01, SH:0x09 ) - Network Status Response Command
- ( PH:0x01, SH:0x10 ) - Trust Center Device Update Command
- ( PH:0x01, SH:0x11 ) - Network Auto Join Command
- ( PH:0x01, SH:0x12 ) - Network Reset Auto Join Command
- ( PH:0x01, SH:0x13 ) - Trust Center Removed Device Notification
- ( PH:0x01, SH:0x30 ) - Network Steering Command
- ( PH:0x01, SH:0x31 ) - Network Formation Command
( PH:0x01, SH:0x00 ) - Join Network Command
The Join Network command is sent by the Host to the Module to prompt the Module to scan for and join an existing network.
Payload for Join Network Command
Byte Index | Field Name | Notes |
---|---|---|
0..3 | Channel Mask | Four-byte channel mask. Each bit represents channels 0 – 31. Example: Channel 11 = 0x00000800 or interpreted as a 32-bit bitmap - 0000 0000 0000 0000 0000 1000 0000 0000 - bit 11 would be flipped Channel 13 = 0x00002000 or interpreted as a 32-bit bitmap - 0000 0000 0000 0000 0010 0000 0000 0000 - bit 13 would be flipped Zigbee networks can only operate on channels 11 through 26. It should be noted that in order to comply with FCC regulations, a MMB Networks device on channel 26 will operate in a reduced power mode. |
4 | Auto Options | Bit 0 = 1 – Auto PAN ID If both bits are “1” and multiple networks exist on the channel, |
5,6 | Short PAN ID | The Short PAN ID of the network that the Module must join. |
7..14 | Extended PAN ID | The Extended PAN ID of the network Module must join to. |
Effect on Receipt
The Module will sequentially scan all channels defined by the Channel Mask. The Module will attempt to join any network with an open Permit Join window and matching the PAN IDs as specified in the command payload. If a join attempt fails, the Module will resume scanning until it has tried all available and applicable networks. The possible Status Responses generated by the Module in response to this command are listed in the following table.
Status Responses to Join Network Command
Status Response | Enum | Description |
---|---|---|
Success | 0x00 | The Module successfully processed the command, and shall start the scan and join sequence. |
Invalid Call | 0x01 | The Module is already on a network. The command is only valid when the application’s network state is Network Down. |
Invalid Data | 0x02 | No channels have been selected in the Channel Mask defined in the command. |
Allowed Context | Sent By Host/Module |
---|---|
Network Down | Host |
( PH:0x01, SH:0x01 ) - Form Network Command
The Form Network command is sent by the Host to the Module to prompt the latter to form a network. Additionally on reception of this command, the application Zigbee Device Type is set to Coordinator.
Payload for Form Network Command
Byte Index | Field Name | Notes |
---|---|---|
0..3 | Channel Mask | 4-byte channel mask. Each bit represents channels 0 – 31. The least significant bit, bit 0, corresponds to channel 0, bit 1 to channel 1, etc. Example: Channel 11 = 0x00000800 or interpreted as a 32-bit bitmap - 0000 0000 0000 0000 0000 1000 0000 0000 - bit 11 would be flipped Channel 13 = 0x00002000 or interpreted as a 32-bit bitmap - 0000 0000 0000 0000 0010 0000 0000 0000 - bit 13 would be flipped Zigbee networks only operate on channels 11-26 (inclusive). If multiple channels are selected, the Module will form a network on the channel with the least interference. Please note: channel 26 is restricted. Networks formed on this channel are in violation of FCC rules and regulations. |
4 | Auto Options | Bit 0 = 1 – Auto PAN ID |
5,6 | Short PAN ID | The Short PAN ID of the new network. |
7..14 | Extended PAN ID | The Extended PAN ID of the new network. |
Effect on Receipt
The Module will sequentially scan all channels defined by the channel mask and select the one with the least interference. It will then attempt to form a network with the Short and Extended PAN ID’s specified by the Host. Otherwise, if the Host has enabled the Auto Options for those parameters, the Module will generate randomized PAN ID’s that do not conflict with any other network within range.
The possible Status Responses generated by the Module in response to this command are listed in the following table. Additionally, when a network is successfully formed, the Module will inform the Host by issuing a Network Status Response indicating the new application network state.
Status Responses to Form Network Command
Status Response | Description |
---|---|
Success | Module successfully processed the command, and shall start to form network. Host shall wait for a Network Status Response for the final status result |
Invalid Call | Already on a network. The command can only be called in state of Network Down |
Invalid Data | No channels are selected |
Unsupported | Module is configured as a Reduced Function Device. Command is only available for Full Function Device. |
Allowed Context | Sent By Host/Module |
---|---|
Network Down | Host |
( PH:0x01, SH:0x03 ) - Permit Join Command
The Permit Join command is sent by the Host to the Module in order to prompt the Module to open its Permit Join window for a given duration.
Payload for Permit Join Command
Byte Index | Field Name | Notes |
---|---|---|
0 | Permit Join Duration | The Duration in seconds to permit joining If a value of 0xFF is specified to establish a permanent duration the application will automatically revert the value to 0xFE. This precaution prevents the possibility of setting a permanent join window on a receiving router node and subsequently not closing it (e.g. if a subsequent permit join message is missed). The Host retains the option of refreshing the permit join window to effectively retain a permanent duration, but this is discouraged. |
Effect on Receipt
When the application Zigbee device type is configured as an end device, the Module will ignore this command. When configured as a router, the Module will open its Permit Join window for the specified Permit Join Duration. When configured as a coordinator, the Module will open its Permit Join window for the specified Permit Join Duration and will additionally broadcast a message to prompt all routers on its network to also permit joining.
Allowed Context | Sent By Host/Module |
---|---|
Network Up | Host |
( PH:0x01, SH:0x04 ) - Leave Network Command
The Leave Network command is sent by the Host to the Module in order to prompt the Module to leave the network to which it is currently joined. The command has no payload.
Effect on Receipt
The application will leave the network and clear all data pertaining to that network from its non-volatile memory. The Host must apply this command with caution, as once the Module is prompted to leave a network it will be unable to join that network again until it is re-commissioned with the network coordinator.
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Host |
( PH:0x01, SH:0x05 ) - Rejoin Network Command
The Rejoin Network command is sent by the Host to the Module in order to prompt the latter to rejoin the network to which it is currently joined. Though the Module may automatically engage in Rejoin behavior when having lost the connection to the network (i.e., as determined by the Network Heartbeat), this command provides facilities for the Host to manually engage the process (i.e., to re-initiate Service Discovery and Binding). The command has no payload.
Effect on Receipt
The application will enter the Rejoin state, alternating between Secure Rejoin and Trust Center Rejoin until it successfully rejoins the network.
Allowed Context | Sent By Host/Module |
---|---|
Network Up | Host |
( PH:0x01, SH:0x08 ) - Network Status Request Command
The Network Status Request is sent by the Host to the Module to query the application Network State. The Host is not required to issue this command, as the Module will automatically issue a Network Status Response on any change of the application Network State. The command has no payload.
Effect on Receipt
The Module will respond with a Network Status Response.
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Host |
( PH:0x01, SH:0x09 ) - Network Status Response Command
The Network Status Response is sent by the Module to the Host, either as a response to the Network Status Request command, or automatically upon a change to the application Network State or Permit Join Duration (i.e., on transition from non-zero to zero or vice versa).
Payload for Network Status Response Command
Byte Index | Field Name | Notes |
---|---|---|
0 | Network State | 0x00 = Network Down |
1 | Zigbee Device Type | 0x00 = Coordinator |
2 | Channel | 0xFF = Unknown |
3,4 | Node ID | 0xFFFF = Unknown |
5,6 | PAN ID | 0xFFFF = Unknown |
7..14 | Extended PAN ID | All 0’s = Unknown |
15 | Permit Join Time | The remaining Permit Join Duration at the time of issuance. |
Allowed Context | Sent By Host/Module |
---|---|
- | Module |
( PH:0x01, SH:0x10 ) - Trust Center Device Update Command
When the application Zigbee device type is configured as a coordinator and a network has been formed, the Trust Center Device Update command is sent by the Module to the Host when any device attempts to join or leave that network.
Payload for Trust Center Device Update Command
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Node ID | Node ID of the device attempting to join or leave the network |
2..9 | EUI64 | EUI64 of the device attempting to join or leave the network |
10 | Device Update Event | Event that triggered the update. 0x00 = MAC Association |
11,12 | Parent Node ID | Node ID of the device’s parent |
Event Triggers explained:
MAC Association -- a device's attempt to join the network. Seeing this does not mean that a device successfully joined, however. The indication for when the device joining successfully is when you see Device Announce.
Secure Rejoin -- this is a device rejoining the network using the network key
Trust Center Rejoin -- this is a device rejoining the network without the network key. It needs to get the network key from the Trust Center, which sends the network key encrypted using the trust center key.
Network Leave -- a device leaving the network.
Allowed Context | Sent By Host/Module |
---|---|
Network Up | Module |
( PH:0x01, SH:0x11 ) - Network Auto Join Command
The Network Auto Join command is sent by the Host to the Module to prompt the Module to scan all channels for X number of retries and with Y number of seconds delay between each scan.
The average scan period is roughly 8 seconds. Sending a Leave Network command terminates the scan loop.
Payload for Network Auto Join Command
Byte Index | Field Name | Notes |
---|---|---|
0 | Scan Count | Number of scans to perform |
1 | Delay | Delay between each scan in seconds |
Effect on Receipt
The Module will perform a scan on all channels for X number of retries with Y number of seconds delay between each scan. The Module will attempt to join a network on the channel with the strongest signal strength/lowest noise ratio. If multiple networks exist on the that channel, the Module will join the first viable network that responds.
Status Responses to Network Auto Join Command
Status Response | Enum | Description |
---|---|---|
Success | 0x00 | The Module successfully processed the command, and shall start the scan and join sequence. |
Invalid Call | 0x01 | The Module is already on a network. The command is only valid when the application’s network state is Network Down. |
Allowed Context | Sent By Host/Module |
---|---|
Network Down | Host |
( PH:0x01, SH:0x12 ) - Network Reset Auto Join Command
The Network Reset Auto Join command is sent by the Host to the Module to prompt it to leave any network to which it may be joined and then scan all channels for X number of retries and with Y number of seconds of delay between each scan.
The average scan period is roughly 8 seconds. Sending a Leave Network command terminates the scan loop.
Payload for Network Reset Auto Join Command
Byte Index | Field Name | Notes |
---|---|---|
0 | Scan Count | Number of scans to perform |
1 | Delay | Delay between each scan in seconds |
Effect on Receipt
The Module will leave any network to which it belongs. The Module will then perform a scan on all channels for X number of retries with Y number of seconds delay between each scan. The Module will attempt to join a network on the channel with the strongest signal strength/lowest noise ratio. If multiple networks exist on that channel, the Module will join the first viable network that responds.
Status Responses to Network Reset Auto Join Command
Status Response | Enum | Description |
---|---|---|
Success | 0x00 | The Module successfully processed the command, and shall start the scan and join sequence. |
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Host |
( PH:0x01, SH:0x13 ) - Trust Center Removed Device Notification
The Trust Center Removed Device Notification is sent by the Module to notify the Host that Module, as the Trust Center of the network, removed a device from the network. The command payload indicates the reason.
Note: The notification means that Module has requested the device to leave. A device that is malicious may not voluntarily leave the network.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0..1 | Device Node ID | |
2..9 | Device EUI64 | |
10 | Remove Reason | 0x00 = TC Key Exchange Failed or Timed Out |
Allowed Context | Sent By Host/Module |
---|---|
Network Up | Module |
( PH:0x01, SH:0x30 ) - Network Steering Command
The Network Steering command is sent by the Host to the Module to prompt it to start the EZ-Mode network steering process. When the command is triggered when network is down, the effect is the same as issuing a Scan and Join command. When the command is triggered when network is already up, then Module opens permit join to support other devices to join the network.
The command has no payload.
Effect on Receipt
If network is down, then Module will look for a joinable network. Once Module joins the network, it will broadcast permit join on for the duration of bdbcMinCommissioningTime (180 seconds).
If network is already up AND Module is a full-function device, then Module will broadcast permit join for the duration of bdbcMinCommissioningTime (180 seconds).
Status Responses to Network Steering Command
Status Response | Enum | Description |
---|---|---|
Success | 0x00 | The Module successfully started the network steering process |
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Host |
( PH:0x01, SH:0x31 ) - Network Formation Command
The Network Formation command is sent by the Host to the Module to prompt it to start the EZ-Mode network formation process. The command has the same effect as the Form Network command, except all network parameters (i.e. channel, PAN, XPAN) are automatically selected.
The command has no payload.
Effect on Receipt
If Module is a full-function device, it will form a centralized network. If Module is a reduced function device, it will do nothing.
If network is already up, Module will do nothing.
Status Responses to Network Steering Command
Status Response | Enum | Description |
---|---|---|
Success | 0x00 | The Module successfully started the network formation process |
Allowed Context | Sent By Host/Module |
---|---|
All Contexts | Host |