If you have critically important devices in SmartThings, and you need to know if they ever go into an ‘offline’ state, then this Edge driver can help you build the needed automations in the post-Groovy world.
Be forewarned that this driver requires my edgebridge app running on an always-on computer with internet access. I know this isn’t ideal for a lot of people, but it is needed to access the SmartThings API. If you already use edgebridge, you may still need to update or create your edgebridge configuration file to provide your SmartThings token.
Please see this README for all the details for installing, configuring, and using this driver.
Please note that device Controls screen labels are still broken - particularly for iOS users. For those suffering from this, know that the button in the Main section on the Controls screen is for creating new devices (it may be labeled ‘Untitled’).
My thanks to @smartie for the original request for this function!
Joy, then no joy! It just so happens that I’m working on an update to the edgebridge app and I think it may address what you are seeing, but I’m not positive. Let me do a little bit more testing, including trying to recreate your request. I should be able to get right back to you soon and maybe you can be an early tester for my updated version. What form file do you need, is plain Python script ok or do you need an executable?
I’m using the python script, deployed in an official python container.
I was playing around and added the payload and had that working for POST yesterday. I simply pull the data into a variable with json load, and then pass it into only the POST call.
I’ll test a little more then can share the changes I made for comparison too.
Thanks for letting me know this since I hardly use or even go to My SmartThings. So now I don’t need to use a computer with the CLI commands to get the device number to create my Android Tasker HTML routine API calls. I can just copy-and-paste the device numbers using Android alone. Sweet!
OK - I have not uploaded my own latest changes to github, as I’ve still been testing. Have a couple things to address. I’ll take a look at your PR. Happy to have you contribute, so thank you!!
Can’t believe I managed to get this working, thank you.
Your install info was great.
Running it on a little cheap fanless PC.
I’ve only added a few devices so far to monitor offline status. I’m creating a routine but is there somehow a way to notify me on exactly what device is offline?
Here’s my automation. If I have 10 devices on there and 1 goes offline, there’s no way to know which one from a notification is there?
Yeah ive created a group for 15 motion sensors and a group for 15 open/close sensors, at least that way I’ll know its a motion sensor or an open close sensor
Another question that you may know.
So I have it checking every 60 mins and I have my routines to send me a notification if any devices are offline.
If a device goes offline within that 60 minute period but comes back online before it, would it still flag it as offline because It did in fact go offline. Does that make sense?
This driver queries the SmartThings API to find out the health status of a known SmartThings device.
If you want to monitor whether your Synology NAS is up or not, unless you have it integrated with SmartThings already, then you’ll need a different approach (and a different driver).
If your Synology NAS supports UPnP, then you could use my LAN Device Monitor driver.
If you are ok with running a script on your server, then you could install my edgebridge app and use my edgebridge monitor driver. That periodically polls the edgebridge app to see if it answers, so you’d be using that as a surrogate health status.
Another approach would be to use my pinger app running on some other machine on your LAN, along with edgebridge, plus my LAN Presence Edge driver. This would give you a SmartThings device that shows whether your server is responding to basic PING requests.