Improvement #267

Improve detection of sleepy devices

Added by Philipp Buluschek almost 4 years ago. Updated almost 4 years ago.

Status:In Progress Start date:10/27/2014
Priority:High Due date:
Assignee:Stefano Lenzi % Done:


Category:zigbee.basedriver Spent time: -
Target version:org.aaloa.zb4osgi.zigbee.basedriver-0.8.0
Has a patch:No Has license agreement signed:No


After startup with an existing network, sleepy devices are typically not discovered by the current detection methods (as they don't answer requests and don't publish an announce at that point).

Discovery is still possible as soon as the device sends a first async message. This must be handled by an AFMessageListener. This message is not enough to build an ZigBeeNode as the IEEE address is not part of the message (only transports the network address is).
Most sleepy devices stay awake for a short period when they send something to allow configuration. During this short time a full discovery can be performed which must do the following:
- request IEEE using only the network address from the AFMessage
- add node to build queue of DeviceBuilderThread
- let DeviceBuilderThread do the rest of the work

I have it working as a prototype here and could contribute if interested.

sleepy_device_discovery.diff Magnifier - Patch to be applied to rev 1075. (5.9 kB) Philipp Buluschek, 11/02/2014 12:36 pm


#1 Updated by Stefano Lenzi almost 4 years ago

  • Category set to zigbee.basedriver
  • Status changed from New to In Progress
  • Assignee set to Stefano Lenzi
  • Priority changed from Normal to High
  • Target version set to org.aaloa.zb4osgi.zigbee.basedriver-0.8.0

Yes we are really interested in suche improvement, it will be great.

Which async message are you using as "alert" ?

#2 Updated by Philipp Buluschek almost 4 years ago

I'm using all async messages except announces, as these are handled by the AnnounceListenerThread.

I have prepared a patch to be applied to rev 1075 (attached). I just extracted the code from my own branch (which has diverged quite a bit from trunk). I didn't run or test the merged version (only the one in my branch), so please review and test.

Also available in: Atom PDF