xBee S2C sendExplicitData TimeOutException

Hi,

Zigbee IAS Zone end device (not digi) on occasion has different 16bit address than what is returned from ExplicitXBeeMessage getDevice get16BitAddress().This occurs on different ZEDs from different manufacturers. I’ve noticed the devices will sometimes send 2 0x0013 clusters first with address that is same as xbee java call above - the second the addresses differ.

In the case where addresses differ a call to sendExplicitData will throw a timeOutExpetion, however the error is transmit status frame 24 (Address not found)
Transmit status frame.
7e 00 07 8b 0a ff fd 0c 24 02 3c

off tty port connected to coordinator. 2 0x0013 from end devices.

7e 00 1e 91 00 0d 6f 00 0e ad e0 98 08 34 00 00 00 13 00 00 02 81 34 08 98 e0 ad 0e 00 6f 0d 00 80 82 – announce 7e 00 1e 91 00 0d 6f 00 0e ad e0 98 57 0f 00 00 00 13 00 00 02 82 0f 57 98 e0 ad 0e 00 6f 0d 00 80 2d – announce


1st announce – 16 bit address is correct
81 - 34 08 – 98 E0 AD 0E 00 6F 0D 00 – 80
2nd announce – 16 bit address changed - xbee still has old address
82 - 0F 57 – 98 E0 AD 0E 00 6F 0D 00 – 80
xbee getaddresses returns following…
08 34

this is one 0x0013 with different addresses in payload and remoteXbeeDevice
---------------------NEW MESSAGE------------------------------------
Explicit Message: request : clsid: 13, prof: 0, src-ep: 0, dest-ep: 0
Remote 64BitAddress 000D6F000EADE098
Remote 16BitAddress 10AB
Payload 82 - 43 85 - 98 E0 AD 0E 00 6F 0D 00 – 80
The correct 16Bit address is 8543 (above are little endian)

We coded around the issue by caching and using the correct address. Once the devices are enrolled no issues - devices work correctly.

Has anyone experienced this behavior?

Sounds like there is an additional joining function that is occur causing a rejoin to occur which is issuing a new 16 bit address. Try over writing this function and use the 16 bit address of 0xFFFE instead.