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.