I'm developing a Coordinator. What's the best way to confirm that a device is still on the network?

Some platforms will implement a "Network Heartbeat" mechanism. However, this requires cooperation from the device vendors. Alternatively, you can schedule a task to periodically read an attribute value from each device. Or, better yet, you can configure attribute reporting on each device so that it will automatically report in on a schedule of your choosing. For example, most lighting devices can be configured to have the OnOff state report upon a change in value and/or at a set interval. If your Coordinator does not receive a report from a device at the expected time, you can check to see if it's still on the network using a NWK_addr_req or a IEEE_addr_req. Note that the attribute report will be identified by Node ID, so you will have to map it from Node ID => IEEE address.

Legal Notices

Copyright © 2020 MMB Networks, Inc. All rights reserved.
Confidential materials prepared and delivered by MMB Networks for receipt and review only by any partner subject to a valid and enforceable MMB Networks confidentiality agreement. Any receipt, review, or misuse of any of the content exchanged hereunder by any party not a party to this confidential exchange shall be subject to any and all rights available under the law. All rights, title and interest to the materials shall remain with MMB Networks.
Any suggestions provided to MMB Networks with respect to MMB Networks' products or services shall be collectively deemed “Feedback.” You, on behalf of yourself, or if you are providing Feedback on behalf of your employer or another entity, represent and warrant that you have full legal authority to bind such entity to these terms, agree to grant and hereby grant to MMB Networks a nonexclusive, perpetual, irrevocable, royalty free, worldwide license to use and otherwise exploit such Feedback within any MMB Networks products and services.