What is the recommended sleep duration when developing a Sleepy End Device?
By definition, end devices do not route messages to other devices. As such, they can sleep for as long as they want, although it is recommended not to sleep longer than 7 seconds. A router cannot "wake" an end device and as such the end device must wake up at a pre-defined interval and "poll" the router for data while reporting any changes.
The zigbee specs dictate that a router must cache a message for a minimum of ~7 seconds. Therefore if the end device waits longer than 7 seconds between polls, the parent device may no longer have the message saved.