Accessing XBee DIO/ADC through ZigBee ZCL?

What I want to achieve is to toggle the DIO lines on a XBee module. The catch is the commands will be issued by a non-Xbee device (TI USB dongle). So I don’t have access to those XBee API commands for querying/setting DIO/AD lines.

Is there XBee firmware available that exposes the DIO lines as ZigBee endpoints/clusters (much like a ZigBee plug device or light switch relay)?

I realize I could attach an MCU to the XBee UART, send ZigBee ZCL commands to the XBee which will then be passed to the MCU and have the MCU send the necessary XBee API commands to toggle/query the DIO lines. But I’d really like to avoid adding unnecessary hardware if possible.

So to summarize: An XBee device on a non-XBee ZigBee network. What’s the best way to remotely toggle the XBee’s DIO lines?



Digging around I found another XBee manual which mentions a ZigBee command end point at 230 (0xE6) and a data end point at 232 (0xE8). Within the data end point there is Cluster ID 0x0092 which is “Sample IO”. This looks promising. Querying active endpoints via ZDP/ZDO I can see these end points, but so far no joy attempting to read data. My firmware is “ZIGBEE ROUTER API”, version 2370. Has anyone used these endpoints/clusters in a ZigBee network? Any docs/howtos/examples out there? thanks!

PS: I see this question has been asked before, but no answer :frowning:,8944#27001

Ok, another clue. Set up two XBee Series 2 modules, one with ZIGBEE COORDINATOR AT and the other with ZIGBEE ROUTER AT firmware. Set both to talk to each other. Opened a 802.15.4 packet sniffer and entered some keystrokes in the X-CTU terminal.

I can see from the packet sniffer interesting activity on
Endpoint 232, Profile 0xC105 (Digi custom profile), Cluster ID 0x11 (binary value basic).

Googling some more it seems Cluster ID 0x0011 is the cluster to send data to the device. Cluster ID 0x0012 is a loopback. However I can’t find any more documentation.

I’ll update this thread if I get any further.

I’ve figured it out and wrote up my findings in a blog post:

Thanks for sharing this!
It’s a pity that Digi provide no documentation for this.