Retry timeout for commands and raising an alarm if failed

One other issue I’ve seen happen inconsistently. Sometimes my hub controls the lock and somethings it’s doesn’t.
I don’t know why but sometimes the command (say lock) doesn’t go through for a few tries and then suddenly it starts working. (the internet connection is solid and fast).

The other day we all left the house and it was supposed to lock up but it didn’t (assuming the command didn’t reach the lock).I had to keep retrying to lock it remotely for a longgggg time.

Does the smartthings hub confirm that an action has taken place and if not is there someway to configure the retry? For e.g. I can set it to retry upto 10 times for 1 hour and if it doesn’t happen it should send me an eMail to shoot an alarm that a command wasn’t executed.

This is a pretty serious issue since if locks aren’t engaged we are pretty exposed here. There should be some to retry and if it still doesn’t work then raise an alarm

Currently there doesn’t appear to be a way to ensure that a command executes or guarantee that it executes in a timely manner. I was running about 50/50 on whether my garage door would open when I approached home. About half the time it would open as I approached and the other half it never opened. Once it opened about ten minutes after I was home (so I had opened and closed it manually and it re-opened later).

Because of that, I wouldn’t rely on actions that open or close doors or lock or unlock doors unless you have some non-ST way to verify they happened and resolve it if they didn’t.

Perhaps the back end updates will make things more reliable but the current architecture doesn’t seem to allow for the level of certainty that things like locks require.

That’s just my opinion. I’m not trying to bash ST; I just don’t think it’s suitable yet for lock automation where security is a concern.

Ouch! That’s a pretty serious issue.

I would love to hear from Ben of any of the ST folks on the plans to address this issue. I love ST and the power of what it does but if this is the case I may need to back to ADT or something reliable for home security automation.

To be fair, there is only so much ST can do about it. The only truly reliable way to ensure a door is locked is to lock it manually. When you stick a bunch of technology between the door lock and the locking operation then a failure at any step can stop it from working.

In this case you have the electronics in the lock, the ST hub, your internet connection and the ST cloud. Lately, it’s the ST cloud that has been the weak link but a failure at any point could be just as bad.

Hopefully the v2 hub will allow us to remove the cloud and internet from the equation for critical smartapps, but it doesn’t matter how many 9’s ST puts into their cloud reliability, there is no way they can possibly guarantee the door is locked. The most they can do is try really hard and then try to notify you when it doesn’t. But, I wouldn’t want to risk leaving my house unlocked.

Even if the v2 hub has local processing there can still be issues that prevent the lock from working.

Call me paranoid, but I wouldn’t take that chance right now. To be fair, ST doesn’t bill themselves as a security solution but as a home automation solution. There’s a lot of overlap but it’s important to understand the limitations of what their solution provides as well as the limits of what can potentially be done in any kind of a cost effective manner.

Make sure your mesh is optimized. Also, are there powered zwave devices between the hub and the lock? The mesh may be spread to thin.

You can repair the mesh by logging into the IDE. Click on “My hubs”>View Utilities>Repair Z-Wave Network.

This may help, but then again you may just have a communication problem due to distance. If you don’t have a powered zwave module between the hub and the lock that may be your problem. (if this is the case, its not STs fault, but an inherent problem with the z-wave platform)

You could also use this from @tslagle13 which will check your lock

Is my home secure?

1 Like

Thanks for 2 things

  1. The pointer this looks useful I just need to figure out how to use the code
  2. You just reenforced my point. Verification and validation of events are a fundamental requirement of a automation platform. If it’s so easy why hasn’t ST included this in the platform features or at least as a default option or a smart app. A user should not have to go around tryin to figure out how to convert code into a fundamental feature. @Ben I look forward to your comments.

We need to pull in some more technical folks here: @urman @wackware @bflorian ?

Connectivity issues have always been around and will always be around. The wider the adoption the more such issues. The defense cannot be I don’t have enough range. More importantly the explanation shouldn’t have to come from posting an (awesome) user forum.
Consumers (mass adoption) have a basic expectation for a stable and reliable platform to use.

I don’t see any reason why ST should not “verify” if the action was successfully completed. If the device is out of range or the network is broken it NEEDS to alert the user to the malfunction or misconfiguration of the device or network. Better yet it should automatically try to attempt the repair, and, if not provide recommendations to correct it.

From what I have seen so far it should not be difficult for ST to achieve these things. I hope someone from ST is monitoring this thread and take these inputs seriously. Otherwise this will always remain a platform for early adopters and never a mass market product.

I’ve got some code that I think does what your looking for. I’ll dig tonight and post a link or something.

When I think home security, I think supervised devices.

Does ST, zwave devices, zigbee devices support device supervision?

Below is the first app that I wrote in SmartThings. So please no digs on not being elegant or somethings like that. Anyway, if you look at the “checkStatus” method you’ll see how I use a scheduled job to check on the switch coming on. I think this is what you’re looking for. If the switch does not register a state of “on” after 3 attempts it sends me a push and or text message. In this use case, I did not want to come home to luke warm uncooked food.

Here’s the famous crockpot code.

If you don’t mind me asking why not just publish this app and include it as a default app for each device being controlled?

I have no idea how to “use” this code, I’m sure in a few days I’ll figure it out but isnt’ the whole point of ST to be just plug and play for users?
This is a fantastic app/use case, but I don’t even know if you’re telling me whether this’ll work as is or if I need to modify this/rewrite this.

I hope you see where I’m coming from.

Maybe on a very superficial level currently. For me, the whole point of SmartThings is an open platform where I can create what I need.

As I said, it was my first app and ST had been in my hands about a week. It had just released and was not widely available to the public. Hubs had just begun to ship.

The goal is plug and play. But in one of the first trials of using the app, the wife forgot to plug in the GE outdoor control module which the crockpot was plugged in to. Luckily it was Saturday, but it showed me that I needed to account for user/system errors if I wanted a robust app.

The app is specifically written to schedule/control a switch. It is assumed you’ve hooked a crockpot to that switch. I was using this app as an example to answer the question about how to create fail-over or checking that a “state” has been achieved. As with most code, it is just one of possibly many ways to do something. Think of it as my style of getting a desired result.

As for you, and using it for other use cases, you would have to modify it to your specific needs. But, at least you see that it is possible for with cooking food. :grinning:


:smile: okay thanks @wackware I appreciate your thoughts. I’m disappointed at ST. These are pretty basic features that I expect the platform to have. Verify and Retry is as about as basic as it gets for any command.

I don’t want to be messing around trying to figure to figure out how to write code (it’s great that one can) but I don’t want to. I guess ST is only targetted at programmers and not the mass community. Sigh…another new language to learn.

I think that you misunderstood me. I was only showing that verification can be done with code. In my case it was because the user (wife) did not plug in the power switch, which is what I was trying to detect and notify about.

I never said that ST does not verify and retry. You’ll have to get someone from SmartThings (@urman or @Ben maybe) to pipe in here to state what exactly they do. I wouldn’t be disappointed at all yet. You don’t have all the information. Now if you’re a Kansas City Royals fan, then you can be dissapointed :grin:

Good luck and enjoy your day!

1 Like

@urman, @Ben - any thought on the comments from @wackware. Does ST platform do verify and retry? If not can that functionality be implemented as a default option (or provide one) in the default apps?

we do not verify or retry, but it is in the pipeline.

also working on better overall better error handling and device health.

Thanks @urman, do you know by when we can expect those to be implemented? (any tentative ETA’s)