Getting Device Zigbee IEEE address [EUI 64]

How do you retrieve the ZigBee Id [eui] of [input] devices in a SmartApp?

The SmartApp I’m working with needs to establish a direct Zigbee Bind between two devices (e.g. Light Switch and Light Bulb) as opposed to binding with the ST Hub. It’s easy to get network Id, but I can’t see anything other than getting the Hub’s Zigbee Id.

The information is present on the device detail on the graph.api site, but there has to be a better way than asking the user to type in a 64-bite number.

A SmartApp can’t communicate directly with a ZigBee device, but must use the Commands and Attributes of the device’s DTH.

Device Type Handlers have access to low level ZigBee HA commands (including sending configuration and event and reports requests, etc.) and receive the response messages (just look at any sample ZigBee DTH code).

So it might be possible. I’ll try to tag a couple relevant experts if I can recall their handles…

thanks tgauchat!

The DTH has a specific command to receive the eui + configuration for the binding device. Asking the DTH [or a zigbee device] to try and retrieve another device’s EUI is complicated, but it’s much easier [and necessary] to request a bind knowing both party’s EUI.

So use two Device Instances and the SmartApp as intermediary… Like every interaction between Things in SmartThings… ?

If we use the SmartApp to only set up the bind and attribute reporting [between two devices] then we can leave the hub alone, not run scheduled tasks every 30s, cut RF traffic in half, and things would still work if the hub goes down.

The other issue with going through the smartApp is the much larger latency. The ZigBee Bind mechanism was created exactly for this purpose. so it’d be nice to do things right [get EUI, create binding].

1 Like

I agree that if you can set up binding it would be beneficial.

I cannot say if this is possible.

It is certainly not inherent in the SmartThings architecture which aims to abstract all events (triggers and actions) from the protocols, manufacturers, and models, whether homogeneous or heterogeneous.

If you want to use direct associations, you might be better off with a platform / controller that has been designed specifically with this feature.