Indicate Device Health values such as: Unavailable or Offline
I have noticed that any Hue lamps, etc., and other Sensors, etc., that are unavailable due to no power or connectivity issues are displayed with "normal" or "active" status in ActionTiles.
In the case of Hue, the Hue and SmartThings apps show them as "unavailable" or "OFFLINE"
This value seems to come from the "status" Attribute generated when Device Health is enabled.
Answers
Hi Guy,
Are you able to look in the SmartThings IDE to determine the value reported in the Bulb's "Current States"?
- Login at https://account.smartthings.com
- Go into My Devices
- Open the "unavailable" Bulb, and capture the values shown in the table under Current States...
- It might even be useful to see what entries exist in "List Events" too.
Thank-you,
...Terry.
Terry,
1. For a Hue bulb physically powered off, SmartThings app shows "unavailable" when Current States show "Switch=On" and "Status=offline".
2. The other apps are SmartThings app and the Hue app.
3. Bulbs connected to Hue Bridge.
John
- Do you have "Health Check" enabled?
- Could you please paste a screenshot of the SmartThings App device detail screen or wherever it is showing this "unavailable" message?
(I have never noticed "unavailable" in the SmartThings App, but, well, obviously I use ActionTiles much more than SmartThings App!)
I don't want to jump to conclusions regarding this issue, but the basic theory is that, according to SmartThings's own specifications;
- Capability "Switch" only has 1 Attribute: switch
- And its values are only: "on" or "off".
- There are no other allowed values (such as "unavailable", "offline", "turning on", "turning off").
- There is no documented Attribute called "status" (well, except in obscure unrelated Capabilities).
- There is no documentation for Health Check (where the status Attribute is likely being set... I think).
Terry,
The "Health Check" is definitely the difference. I had it enabled, so I disabled it to see how SmartThings reacted. The same bulb now shows "ON" just like Action Tiles does, even with the bulb unscrewed and laying on the table next to me! With Health Check enabled, the bulb shows "unavailable". This link shows how unavailable looks on SmartThings app.
https://support.smartthings.com/hc/en-us/articles/214529303-Device-Health
John
Until the Health Check API is published by SmartThings for 3rd Party Developers to use, however, this may not be possible.
Update: November 4, 2019:
SmartThings's current API still does not inform SmartApps (like ActionTiles, WebCoRE, etc) of Device Health status, but we have some indications from SmartThings Engineering that this will become available in the "New API".
Frankly, we've heard and very often found this status to be misleading and SmartThings's Device Health Feature to be generally more trouble than valuable. Sometimes it seems to improve, and then sometimes there are suddenly homes with a dozen devices marked "Offline" but still function normally!
Anyhow: Once the new SmartThings API has officially been released with Device Health interface, we will reopen this Feature Request. In the meantime, your VOTES are still valuable in helping us track the importance of this to customers.
Thank-you,
... Terry.
Thanks Terry,
Just an FYI - the link I provided above also mentions devices that the batteries die on, so this might be more widespread than just Hue lamps.
Thanks for your time and I hope you are able to find a simple solution!
Regards,
John
Hi Claudia,
I can see how this would be useful, but implementation is very difficult due to multiple factors.
- The most common reason a Hub is offline is because the internet is down; in which case ActionTiles also won't be working - yes; you may be at another location or have cell phone internet, but that won't be a common situation.
- The second most common reason is a failure of the SmartThings Cloud; in which case ActionTiles won't be updated with any information.
- For all other reasons: SmartThings currently does not issue "Hub Status" events to any service / SmartApp.
Thanks for the idea,
...Terry.
Yes, I monitor this property remotely. But I would suspect there are other users who monitor vacation properties and second homes remotely as well.
Aha.
I think I may have found a way. (Would be better if there was a more official way) In case you are curious..I'm going to go by this method.
(Hopefully you understand whats going on if you used any or all services/apps.)
- Create a virtual SmartThings switch. (On and Off)
- On WebCore, create two pistons. One for on and one for off for the virtual switch created above.
- Tasker>Profile>AutoNotification "SmarthThing hub has gone offline (or online).
- Link the each notifications to a task that does action HTTP GET. Use the url for on or off (depending on notification received.)
"SmartThings has gone online" turns on the virtual switch.
"SmartThings has gone offline" turns off the virtual switch.
Thats it! :)
Idea to Show: No-updates / Hub disconnect / Power Failure
What is a lightweight way to indicate stale data on a dashboard?
Every dashboard tile looks live - but the automation system is dead by any other means. I have made heartbeats in other systems but that seems like a hammer for this purpose. Is there a built-in feature to indicate dashboard freshness or something like that?
I can do webcore monitoring or grovestreams reporting so I'm not looking for that... I'd like to make the dashboard a tiny bit more clear on this detail, but with trivial work?"
My thinking is a passive recent activity indicator or status, that could be used to change a tile symbol color or its value/status. I use theme Slate, status Blue and warning/alert Orange. If the dashboard could indicate no sensor updates in the past 20 minutes then some tile would turn orange and I would know to look further to see if my corrective action is needed or just check the burglar alarm is operating, or cameras , or something else.
This concept is like my impression of ST "device health" but a single status or color change for one tile, for all of my ActionTiles sensors.
I'd be very interested in knowing if a "Thing" is offline, eg. I've just spotted one of the door sensors has been offline for a couple of days thou still reports as it's last status in ActionTiles panel.
Can the device status not be gleaned from SmartThings as an attribute?
Hi Andrew,
We already have a similar relevant Feature Request for this (link below, please VOTE), but the short answer is: No! ... There is no API provided by SmartThings in to the "device health status events or Attributes".
Please see the post below for further details:
Customer support service by UserEcho
Until the Health Check API is published by SmartThings for 3rd Party Developers to use, however, this may not be possible.
Update: November 4, 2019:
SmartThings's current API still does not inform SmartApps (like ActionTiles, WebCoRE, etc) of Device Health status, but we have some indications from SmartThings Engineering that this will become available in the "New API".
Frankly, we've heard and very often found this status to be misleading and SmartThings's Device Health Feature to be generally more trouble than valuable. Sometimes it seems to improve, and then sometimes there are suddenly homes with a dozen devices marked "Offline" but still function normally!
Anyhow: Once the new SmartThings API has officially been released with Device Health interface, we will reopen this Feature Request. In the meantime, your VOTES are still valuable in helping us track the importance of this to customers.
Thank-you,
... Terry.
Idea to Show: No-updates / Hub disconnect / Power Failure
What is a lightweight way to indicate stale data on a dashboard?
Every dashboard tile looks live - but the automation system is dead by any other means. I have made heartbeats in other systems but that seems like a hammer for this purpose. Is there a built-in feature to indicate dashboard freshness or something like that?
I can do webcore monitoring or grovestreams reporting so I'm not looking for that... I'd like to make the dashboard a tiny bit more clear on this detail, but with trivial work?"
My thinking is a passive recent activity indicator or status, that could be used to change a tile symbol color or its value/status. I use theme Slate, status Blue and warning/alert Orange. If the dashboard could indicate no sensor updates in the past 20 minutes then some tile would turn orange and I would know to look further to see if my corrective action is needed or just check the burglar alarm is operating, or cameras , or something else.
This concept is like my impression of ST "device health" but a single status or color change for one tile, for all of my ActionTiles sensors.
Aha.
I think I may have found a way. (Would be better if there was a more official way) In case you are curious..I'm going to go by this method.
(Hopefully you understand whats going on if you used any or all services/apps.)
- Create a virtual SmartThings switch. (On and Off)
- On WebCore, create two pistons. One for on and one for off for the virtual switch created above.
- Tasker>Profile>AutoNotification "SmarthThing hub has gone offline (or online).
- Link the each notifications to a task that does action HTTP GET. Use the url for on or off (depending on notification received.)
"SmartThings has gone online" turns on the virtual switch.
"SmartThings has gone offline" turns off the virtual switch.
Thats it! :)