Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sendExplicitData throws timeOutException - but error is really bad address from get16BitAddress.. #119

Open
albe1066 opened this issue Dec 15, 2017 · 0 comments

Comments

@albe1066
Copy link

albe1066 commented Dec 15, 2017

Hi,

xbjlib-1.1.1

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. We experienced issue with non-IASzone devices during bindrequest. I've noticed the ZEDs will sometimes send 2 0x0013 clusters first with address that is same as xbee java call above - the second the addresses differ. Problem occurs also when one 0x0013 is sent from ZED. This issue happens during factory reset or a new device - when we send data to enroll or bind endpoints.

In the case where addresses differ a call to sendExplicitData using the 16bit address from remoteZigbeeDevice will throw a timeOutExpcetion, 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 remoteDevice still has old address
82 - 0F 57 -- 98 E0 AD 0E 00 6F 0D 00 -- 80
remoteZigbeeDevice.get16BitAddress() 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 in payload. Once the devices are enrolled no issues - devices work correctly. However, we have not attempted to send messages after enrollment.

Has anyone experienced this behavior?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant