Anyone know how to setup ST with a smartlock ( Yale, Schlage, etc) so that the code-unlocking will only work when certain presence sensor is in the vicinity? so to prevent someone without the presence sensor tries to unlock your door with a working code.
I will throw in what I think, maybe others can help if they have more information or I have guessed incorrectly. The ST Website states:
- “By adding a SmartThings-compatible lock, you can lock or unlock your door from anywhere, trigger your door to automatically unlock as you approach, or set it to lock behind you as you leave.”
I think that one can designate one or more “presence devices” like a supported mobile phone or dedicated ST Presence Sensor to unlock the Z-Wave lock when a ST Defined Routine, like “GoodBye and I’m Back” is configured.
But, the ST GeoFence is pretty large and sometimes quite undependable. So the Z-Wave lock may encounter a false positive (Unlock unexpectedly when no one is close to the house) or false negative (will not unlock when you are right outside the door with the Z-Wave lock)
As to your question, I do not think that one can software defeat a Z-Wave lock from unlocking if a defined correct unlock code is manually entered. Even if one had a custom SmartAPP that instructed the Z-wave lock to stay locked when a presence is not detected. The ST system is simply not fast enough to beat the firmware in the Z-Wave lock from unlocking when a defined correct user code is manually entered. You could remove all user codes, but then again you would only have the ST defined GeoFence presence to activate the lock.
I wonder if the best way to do this is use your presence sensors to set modes, and then only unlock when mode is “Home…”. Most of the apps restrict by mode which is very helpful. I don’t have locks, so don’t know if this will for sure work but it’s how I’d approach it.
Just thinking here, but wouldn’t that solution leave the door unlocked when one is “Home”?
Thanks everyone for your input. really appreciate it. I just thought it would be nice to have this feature similar to keyless entry for cars ( only unlocks when you touch or enter code with keyfob in your pocket or purse). It looks like the lock manufacturer should be one integrating this for more accuracy.
I used to work as a network engineer (my first commercial install was at a nuclear power plant) so I’m always really interested in this kind of issue.
HOUSE LOCKS ARE SUPPOSED TO WORK EVEN IF THEY LOSE CONNECTION TO THE NETWORK
The first thing to know is that for residential locks, the lock is almost always designed to work as a fully independent Device. That’s for safety reasons, so that if everything else has gone out in your house, including the Internet, the local network, the power, the lock will still work. That’s why these locks are battery-operated. So you can’t remove the lock itself from the equation.
SO ROTATING CODES MEANS REPROGRAMMING THE SCHEDULE IN THE LOCK, RATHER THAN IGNORING IT
That said, the concept of “rotating code” or codes which require a second factor authentication, is very old. And used in a lot of office building or secure facility arrangements.
The easiest, simplest way to implement this when you have a programmable lock, which is what all the locks THat work with Smartthings are, is to set up a schedule manager program which literally reprograms the lock when the second factor authentication mode changes.
So, if you wanted the codes to only work when a specific person was present, you would have their presence trigger a reprogramming of the lock to set up all the codes for the other people that you want to be able to come in.
Similarly, when that specific person left, you would have their leaving trigger another reprogramming of the lock to erase any codes that you no longer wanted to work while you were away. Or for locks that support code schedules for individual users, you just change the allowed times for the other people as you come and go.
ONLY SMARTTHINGS DOESN’T HAVE THAT KIND OF TRIGGER BUILT IN TO THE STANDARD FEATURES
The problem is that smartthings just isn’t set up for this kind of schedule management for locks. In fact officially it doesn’t even support adding a new user remotely. Officially you’re supposed to do all the code management on the lock itself, and then just have smartthings issue lock and unlock requests.
So while it might be something that a lock manufacturer would consider adding, it’s also something SmartThings could add for a programmable lock from the SmartThings side, I just don’t think there’s been any indication that they were interested in doing that.
IF YOU’RE OK RUNNING YOUR OWN SEPARATE SERVER, YOU CAN PROBABLY FILL THE GAP
Meanwhile, if you’re the kind of person who is capable and comfortable setting up your own server, I think it’s entirely possible that you could do this triggered schedule resetting.
There is a popular community created lock manager which allows you to set individual lock schedules, but it assumes you’re doing that manually through the app. But at least that shows you can get access to schedules for some locks. So you would have to combine that with programming to do the reset based on the coming and going of the presence indicator. That’s not the kind of programming that smartthings typically supports. (@ethayer )
There are community members who have that kind of set up for various different reasons. They may have wanted to add additional device integration for things like home theaters that SmartThings does not directly integrate with, or they may have wanted to add extensive home automation functionality beyond what SmartThings provides, or they may just like writing their own code. Some of these people include @pstuart , @schettj , @Kristopher , @scottinpollock , @geko , @tgauchat
My guess is that they could do it with their kind of set up but again, this means having a whole separate Computer running to do the schedule management and make the requests to SmartThings.
So SmartThings just becomes a message carrier to the programmable end device, in this case the lock.
So there’s no easy way to do this with the SmartThings built-in functionality. But if it’s something that you really want, for one reason or another, I think you could add it with additional programming and hardware cost.
EVEN IF YOU CAN SET IT UP, SHOULD YOU COUNT ON IT FOR HOME SECURITY?
The next question is how reliable would it be, which is a whole different conversation. If you need two factor authentication for your doorlock, you may need a barrier control system which is a lot more reliable than what you get with a $99 controller.