Node announcement

I’m not getting node announcements as a Node Identification packet (Xbee frame 0x95). Instead, I get them as an expicit message. I decoded the message and reverse engineered it as best I could. I don’t get the “NI String” part … Node Identification String, but is this telling me that the router in question simply has none set?

I’m curious why I am receiving this as an explicit message rather than a Node Identification Indicator message. It also has me curious what other messages I will receive this way, e.g. I/O messages. I’m particularly concerned in that this seems to be a deviation from the documentation - correct me if I’m wrong.

0x91 /* explicit RX frame /
0x0 0x13 0xa2 0x0 0x40 0x8c 0x55 0xc0 /
source unit address /
0x29 0x49 /
network address /
0xe8 /
source endpoint /
0xe8 /
dest endpoint /
0x0 0x95 /
Cluster ID 0x0095 - where is this documented? /
0xc1 0x5 /
profile id 0xC105, which is Digi /
0x2 /
receive options - it’s a broadcast */

/* Here is the payload part of the xbee explict rx frame */

0x29 0x49 /* network addr of node announcing itself /
0x0 0x13 0xa2 0x0 0x40 0x8c 0x55 0xc0 /
addr of node announcing itself /
0x20 /
NI String /
0x0 /
String is terminated with a null - is this an empty string? /
0xff 0xfe /
looks an awful lot like a broadcast network address /
0x1 /
Probably indicates this is a router /
0x3 /
probably indicates a power cycle (this is true) /
0xc1 0x5 /
looks like digi’s profile id /
0x10 0x1e /
looks like digi’s manufacturer id */


Hello Chris,

This is caused because the AO parameter is set to 1 or 3 instead of 0. When AO=0 there is no cluster nor endpoints information in the RX frame (only simple 0x90 frames are received, and others as 0x95). In AO=3, you only receive explicit frames (0x91) and all the endpoints and clusters information. In next XBee SDK there will be some examples on how to implement these, also the Node Discovery changes a little bit. Refer to Transparent Client example as it is the only one with AO=1 by default.

That’s right, AO is set to 1. Thanks for explaining.

If this affects discovery as well, is this the reason that X-CTU has trouble seeing my end devices (also using explicit framing)? I seem to have lost my ability to any of these nodes remotely. This is particularly a problem for my analog adapter… I’m afraid it is essentially “bricked” to me now. It won’t join my network even after four ident pushes + reset.

Bear in mind that when pushing commissioning button four times all commands are reset to default, even the PANID. If you have more than one network around it may have connected to another one. That’s happened to me more than once. Best regards,

I don’t, but as you know I’m using explicit RX mode. I’m also using escaping.

For a year now I’ve been using X-CTU and ignoring this check boxes on the main screen that says API mode / Escapes. For configuring a “local” node (FTDI adapter, serial) it never seemed to matter which way that was set. What I learned last night is that for REMOTE configuration it matters!!!

sorry, i don’t know.