So, I got started with Home Assistant about 6 months ago. One of the things I really missed from SmartThings was a lock manager for my Schlage. Like many SmartThings converts, I had used a paid app developed by rboy. It worked great, and had lots of nice features. On the community here there was a wide array of automations, sensors, scripts, etc that provided some of the features, but not everything I wanted. The closest one to start was a long package file written by @nalipaz. This package had the ability to manage codes, including scheduled codes. This is where I started and then over time I have added a lot of additional sensor for information I cared about with help of @hejman08. Then a lot of templating help from @firstof9 @petro, I was able to really get this to where I wanted it.
I’ll say there are still a few things that I have not gotten around to doing. The main things left that I may come back to in the future would be a scheduled recurring code, like M-F, 8am to 5pm, and the ability to disable some codes based on device trackers presence. Those are useful for a worker code for example, where you don’t want a worker using a code to get into the house when you’re at home. They can knock on the door then. This one could be handled with other automations, and just did not want to over engineer this one.
Anyway, here is what this package does at the moment. Allows management of 18 slots (that was more than enough for me, easy enough to figure out how to add more if you like).
- Always (permanent)
- Reoccurring – This will disable based on schedule, but won’t delete name or code in HA
- Temporary – This will remove the code and the name of the person at the end of the schedule time
One time use slot with Random Code:
I have slots 15-18 set up to allow one-time use. As soon as they are used, the code is deleted and removed from the lock.
Door report will tell you if the door was unlocked with a code, which code and name, unlocked with HA, Locked with HA, manually unlocked, manually locked, which person last unlocked the door with a code.
Everything above should work on most zwave locks. I know that it’s been tested with Yale, and I’ve used it with a different schlage lock as well.
Zwave configuration (Only works with Schlage)
My most recent addition was to add a simple way to configure zwave options for Schalge Locks. I have BE469, and tested with those only.
This simple input select allows you to set the various options. You can set these in the zwave control panel as well, but some people like to have something more in the HA UI.
Some background info. The input selects used for the zwave are ordered so that the selection you see is the default option. If you’ve never changed your configuration, they they’ll be correct. If you have made any changes to your settings, these input selects will not match your settings, If that’s your case, just set them how you want the lock to be configured and it will all match.
I created two packages, named them with .txt so they don’t interfere with my system:
If you only have one zwave lock use this
If you have two zwave locks use this:
And if you’re like me and have three you can use the one I’m using
I’ll try to keep them all updated, but the one I’m using is most likely to be fully up to date and
To use these create a put the yaml from the file you choose into a package file under the packages directory.
Lastly I’ll say that there are many long threads about schlage, and other zwave locks such as this one
So I hesitated as to if creating a new post was the right thing to do. Ultimately for me I felt like it was because I know how many different posts I had to comb through to get all of this together. I thought it would be good to have a lock manager thread. Enjoy
EDIT: This package is old and outdated, but still has some good examples of automations, etc. It was designed using the depreciated zwave 1.4. I have no intentions on maintaining this package as the Keymaster integration is far superior and updated often. It’s what I’m using now.