Having a standard attribute for all to use is a great idea.
The only thing is that all of the drivers will need to be updated to implement this. But at least having a capability will allow them to implement it in a standard way that all can follow. This will be a bit of work.
I've implemented a system on all of my device drivers and also created an app to notify me once a device stops checking in. From a high level this is what I do,
- a custom attribute on the device called checkInInterval that defines how often a device should check in. (every device reports differently).
- a custom setting that allows you to set the above attribute but also allows you to define weather it should ping on this schedule to force the check in if need on devices that don't automatically check in on an interval.
- in the driver code I have an extra line that will update a data value with the last check in time every time a device does something that I consider a sign of it "being alive". I use a data value mainly because I don't want to flood event logs with a bunch of updates to this key and its less overhead.
- My device monitor app will just read this data value and ensure that it has checked in, in the time specified by the interval and if not send me a notification and it runs every hour.
Doing it this way I know within the hour when a device hasn't checked in within its period and I can address it. It works well. Later on if they add a custom attribute for "online/offline" then I would just make it set that based on the above calculation as well.
I'm not saying this is the best way, just dropping my method here in case the HE team are thinking of doing something like this and can use some input.