When a “Works with SmartThings” ZigBee device is added to SmartThings, two unique identifiers are assigned to it during the pairing / joining process, which you can view in the list of Devices on your hub’s IDE webpage:
Zigbee Id - a 16 hexidecimal digit (8 byte) string that is unique only to that ZigBee device, assigned by its manufacturer
Device Network Id - a 4 hexidecimal digit (2 byte) string that uniquely identifies the ZigBee device on your hub’s network that is assigned by your SmartThings hub
Although the Zigbee Id seems similar to the unique 6 byte MAC address assigned to every device by its manufacturer and used to identify it on IEEE 802 ethernet / wifi networks, on a SmartThings hub it is possible to manually add a ZigBee device to your hub’s device list without entering in a Zigbee Id, as long as you know and can enter the device’s Device Network Id that it was assigned during pairing.
Here in the SmartThings community, users of some ZigBee devices have explained how to do this using the “catchall” method. This involves pairing the device and then looking at the Hub Events page in the IDE for your hub for an entry with “catchall:” followed by a bunch of hexidecimal digits.
Two of those hexadecimal digits in a certain position of the catchall string are the Device Network Id for that ZigBee device, and with that ID, in the My Devices page of the IDE, you can manually add a new device, entering the required information, including the Device Network Id and importantly a Device Type (often a commmunity user-written Device Handler for “unsupported” ZigBee devices.)
So what I’d like to know and haven’t been able to confirm or deny: Is a ZigBee Id needed for a ZigBee device to work properly with SmartThings?
If not, then for what purpose does the ZigBee Id serve a SmartThings hub?