XBee /ZigBee discovery vs join vs bind and XBeeJavaLibrary

I’m trying to set up a ZigBee HA server using an XBee S2B module and the official digi xbee java library.

I’ve got it discovering the ZigBee HA switch, but when it comes to joining it to the network I’m a little confused.

I’ve been pouring over the ZigBee specs and library API and have a couple questions:

Joining a network vs binding: are these the same?

XBee discovery: does this join what it discovers, or is joining not implemented in the current library version? If it does join, do I need to save device info and add it manually after every startup?


No they are not the same thing.

Joining is where a Node Joins the network and is able to send and receive data on it. The act of binding occurs after Joining occurs. Binding is establishing a connection between two points on a network.

Before I forget, the S2 modules do not support binding or HA. Only the S2C does.

I purchased an S2C module. How does the binding process work specifically for the XBee? is there anything ready in place (be it in XCTU or the Java XBee library) to do this, or does the code to do this still need to be implemented?

You will need to read both the product manual as well as the Zigbee HA profile for how to assemble the proper packets.