I have had several request about how I map my ZigBee network with Digi’s XCTU software so I thought I would share a quick how to:
Caution: This is not a Digi supported procedure if something goes wrong during the firmware upgrade you could brick your Digi USB xStick and have to send it back to Digi to be recovered.
What is this and why would you want to do it?
ZigBee mesh networks are self configuring and self healing and in larger networks it helps to know what nodes are routing who’s information. You can’t really control the network configuration but it helps to see the relationship between your nodes if your troubleshooting a connection problem.
The screen capture below is how my SmartThings ZigBee network looks when it is mapped out by the XCTU software. The SmartThings hub is the red C (coordinator) and the other devices with an R are ZigBee routers and E are ZigBee end nodes. If I log into my SmartThings IDE and look at “my devices” under the “Zigbee Id” column I can lookup each device’s ZigBee address. For example the end node device 000D6F00032A0F17 is my SmartSense Open/Closed sensor, and I can see it is connected directly to the SmartThings hub with good signal strength.
What this isn’t
This is not a ZigBee protocol analyzer. You can not see the ZigBee traffic between your nodes it simply maps out the routing table held by each ZigBee device on your network. Protocol analyzers are expensive and give you massive amounts of information that is really only useful to a device engineer or low level programmer.
This is also not going to tell you one single thing about your Z-Wave network. There is a fair chance a lot of your devices are Z-Wave so don’t expect it to map those devices.
Setting it all up
You will need a Windows workstation with an available USB port. In my case I’m using Windows 7 but I think it will work on 10. You need to buy a Digi USB dongle and download and install the XCTU application. The USB dongle will be sent to you with a generic configuration and the SmartThings hub will not allow it to join the network. It must be configured with the proper security settings and the correct trust center link key for the ZigBee Home Automation profile. Once the USB dongle has the correct configuration the SmartThings hub will allow it to join as a “thing”. Here are the steps at a high level:
Install your XCTU software and plug in your USB dongle. Open the XCTU program and click on the scan icon to find your USB dongle.
You will need to make sure the radio firmware on the USB dongle is set to XB24-ZB, ZigBee Router API, 23A7 as shown below:
Once the firmware update is complete you will now need to update the security settings of the radio so it is compatible with SmartThings. Download the XML configuration file form my CoopBoss.com web site and copy it to your local hard drive. Now click on Load configuration file (the little down arrow by the person icon) and write it to your USB dongle by clicking on the pencil icon.
Open your ZigBee network for joining by going to SmartThings on your smartphone and click on Connect New Device. At this point your USB dongle is looking for a valid ZigBee home automation network to join and you can see the status of this quest by scrolling down to the Diagnostic Commands and look at the AI (Association Indication) parameter. You should see a 21 or 23 or FF they all basically say it is looking for a network to join. When it reads 0 you have joined a valid ZigBee network and can start mapping out the nodes.