KeyMaster Z-Wave lock manager and scheduler

Those should all be created when you run the setup script. You might try running it again.

You might also do a search for “input_boolean.notify” and see if anything comes up. Might elucidate whether they were created but naming was wrong in original ini or naming didn’t properly occur for door lock entities.

Otherwise, post your original ini file too.

search for it where?

Here’s my ini file:

#See README for more information.

#number of PINS to setup in lovelace

#the name or location of the lock you are setting up (no spaces)

#the "lowest common denominator" of the factory lock name.  

#The name of the (optional) door sensor.

#the "lowest common denominator" of the factory door sensor name.  

#the Home Assistant EntityID of your (optional) garage door

searched for an entity “input_boolean.notify”

found nothing.

I cannot accurately say whether or not this package works for a yale lock or not. I believe it was built for a schlage connect. You would need to dig into this thread a bit to see if anyone has been successful with your model lock. Sorry I can’t help you anymore but I don’t have any knowledge of that device or how it may/may not interact with the setup script improperly.

Thanks for your help–looks like Joe and I are in the same boat here. Hopefully something will come up…

1 Like

I found this in the original project page. You may do some digging and see how it relates: Simplified Zwave Lock Manager

Thanks, I actually ran across that myself which gave me some hope that it would be compatible with the Yale lock as well. I wonder if @FutureTense might recognize those errors in the screenshot above. It seems like the script is not properly associating the correct entities. I would think it was an .ini issue if I hadn’t been back through my ini many times.

Hey Joe,

Yes, you will need to edit some of the original setup files to ensure the proper entities are being created. It is currently “built” to support the Schlage Connect which means all of the out of the box sensors/etc that come with that specific lock are accounted for and automated for creation during setup. Likewise, I am sure this plays into the naming convention used.

Hope this helps.

1 Like
bash-5.0# ./
awk: cmd. line:9: Unexpected token
lock_manager.ini is incomplete or does not exist
./ line 80: ((: i<=: syntax error: operand expected (error token is "<=")
./ line 97: ((: i<=: syntax error: operand expected (error token is "<=")
BusyBox v1.31.1 () multi-call binary.

Usage: mkdir [OPTIONS] DIRECTORY...


        -m MODE Mode
        -p      No error if exists; make parent directories as needed
BusyBox v1.31.1 () multi-call binary.

Usage: mv [-fin] SOURCE DEST
or: mv [-fin] SOURCE... DIRECTORY

Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY

        -f      Don't prompt before overwriting
        -i      Interactive, prompt before overwrite
        -n      Don't overwrite an existing file
BusyBox v1.31.1 () multi-call binary.

Usage: mv [-fin] SOURCE DEST
or: mv [-fin] SOURCE... DIRECTORY

Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY

        -f      Don't prompt before overwriting
        -i      Interactive, prompt before overwrite
        -n      Don't overwrite an existing file

originally was using backdoor.ini but saw the initial error and changed it to lock_manager.ini . still getting syntax errors and error saying the ini does not exist or is incomplete.

running home assistant most recent version, 0.107.7 and running inside of docker

Are you attempting to run this for the first time? If so, not sure why you renamed to lock_manager.ini…?

Could someone please clarify which guide is correct to where to place the files. Looking through the post I see examples of both. Or does it not matter. Many thanks

Per OP original post
" Place the files from github into a directory called packages/lock-manager . From a command prompt, modify the script so that it is executable."

Per Github Repo
" Download the files and put into your Home Assistant place them in the packages\lockmanager directory."

Either directory name should be fine.

I am stuck on the part to run the script…not sure where to run it. My HA instance is running on an RPI. I have console access, logged in with root, and tried executing the script from there…I get a result saying “No such file or directory”. Do I need to enter the pull path of the script? Or is there somewhere else I should be executing the script from?

Hey Matt,

Did you change the rights on the file first (chmod +x If so, then just go to the directory of the script in your console and run the script (./

That’s part of my confusion…I get the “No such file or directory” when trying to run the chmod +x command.

Is that something I actually add within the script file itself? Or is it a command to be run from console (or elsewhere)?

Hey All,

Has anyone sorted out the issue with multiple locks yet? It seems like there are several people on here facing the same problem: 1 lock works but when you introduce a second then that second throws an error when attempting to set a code to a position:

LOCK_NAME Clear Code: Error executing script. Invalid data for call_service at pos 1: expected int for dictionary value @ data['code_slot']

If I go into the script and hard code position 1 as the code slot in the clear code automation, I then get:

Error rendering data template: str: Invalid entity ID 'input_text.garagesd_pin_'

I am convinced that code_slot is not properly setting and is likely conflicting with the script of the first lock that is working. Not sure where to go from here… anyone have any luck?

This is a general linux command that changes the rights on a particular file. You should run that command from the terminal window WHILE in the same directory as the file

This would only occur if the objects all had the same names, and that won’t happen, so there’s not conflict.

Why not post the bit of code for troubleshooting from the generated yaml?

Thanks to @tmman for getting me pointed in the right direction.

I also ran into the issue others had reported with the error of “lock_manager.ini is incomplete or does not exist”. But, as @firstof9 recommended, running “apk add gawk” before running the script allowed it to run.

I now see the folder created for my front door, with a bunch of yaml files. That said, I did still receive an error from the

Is this going to throw anything off down the line? Or is that just noise? For reference, I am only setting up a front door lock (no sensors or any other locks). And like I said, the frontdoor folder was created and is populated with a bunch of yaml files.

Definitely not good.
Seems like based on the error message maybe you didn’t fill in all the bits in the .ini file