Meaning of Offline

Can someone explain exactly what it means when the IDE show a device status of offline? I have a few devices listed in the IDE as offline. Some of those make perfect sense. For instance, I have two devices that currently don’t have batteries in them – offline, right. I have two Iris motion sensors that show in the IDE as offline, but report motion whenever I test them. So…

If the DTH supports the Health Check capability it tells SmartThings how often it should check in and if the devices goes longer than that without any activity SmartThings executes the device’s ping command. A few seconds after that if the device still has no activity then SmartThings marks it offline.

If the device is battery operated it most likely sleeps so the ping command won’t actually do anything so SmartThings sometimes accidentally marks devices offline that aren’t. In those situations the device usually changes back to online within 4-8 hours.

If you’re running into that problems with a lot of devices you can disable the “Device Health” feature in the mobile app.

You can use custom SmartApps like the Simple Device Viewer or Device Monitor to view the last event times of your devices and receive notifications if they stop responding.

I turned this off a long time ago. Device Health was a total disaster on my system.

The confusing thing with the Iris motion sensors is that they show offline even after they just reported an event (motion). I have several other Iris motion sensors that the IDE usually shows as online. Why those two and not the others?

I have a switch that is also marked as Offline but I can control it via the app and smartapps. The one thing I can’t do is control it via Alexa because SmartThings reports it as offline so Alexa can’t connect to it. No matter what I do, I can’t seem to bring the switch online (in the cloud).

Great question, @mwiseman. I have devices that show as online but don’t respond and devices that show as offline and consistently respond. It seems like offline/online reporting serves no real purpose or is fatally flawed. I’ve often wondered why it exists and how (if) it can be used in a meaningful way.

1 Like

That feature works perfectly for me, but I’ve written all of my own DTHs. The Health Check capability hasn’t been documented so the information below is based on trial and error.

The changes below are kind of overkill, but they should solve the problem for all devices. On the downside, they’ll increase traffic on your network, devices will take a lot longer to get marked offline, and you’ll lose local execution because all custom DTHs run in the cloud.

Making the parse command always send an event with isStateChange set to true will fix the problem for a lot of devices, but sometimes you also have to increase the “checkInterval”.

When SmartThings adds a zwave device that supports the wakeup command class it sets the wakeup interval to 4 hours so setting the “checkInterval” to 8 hours 5 minutes (21900) or 12 hours 5 minutes (43500) will solve the problem for most devices. if that does’t work you’ll have to check the DTH to see if it changed the wakeup interval and adjust the checkInterval accordingly

I don’t believe there’s a standard minimum reporting interval for zigbee devices, but for ST DTHs you can usually solve the problem by doubling the value that SmartThings used in the DTH.

Powered devices don’t check in automatically and SmartThings usually doesn’t wait long enough after sending the ping command so you can usually solve the problem by implementing the “Polling” capability and setting the “checkInterval” to 2 days 5 minutes. (173100) SmartThings is supposed to automatically execute the poll command every 10 minutes, but I’ve seen it take up to a day which is why I suggested setting it to 2 days.

I use slightly different techniques in my DTHs and lower checkIntervals, but a few users have still had the offline issue with my DTHs.

I ran into the same problem with Alexa and all of my Cree Bulbs using the built-in Cree Bulb DTH.

It might have been a temporary bug in the platform, but I had already written a DTH for them a while ago that had the polling capability so I switched them back to that DTH and it fixed the problem.

1 Like

Thanks for the tip, I changed the DTH from Z-Wave switch to Z-wave Relay and now Smartthings sees it as Active.

I’m not willing to give up local processing.