KeyMaster Z-Wave lock manager and scheduler

Thanks so much for your reply!

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
# http:
#   base_url: example.duckdns.org:8123

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

# Lutron Caseta entry
lutron_caseta:
  host: 192.168.0.105
  keyfile: /ssl/lutron/caseta.key
  certfile: /ssl/lutron/caseta.crt
  ca_certs: /ssl/lutron/caseta-bridge.crt

allow_automation_execution:
  name: 'Allow Automation'
  initial: off

input_boolean.system_ready:
  name: 'System Ready'
  initial: off
  
allow_automation:
  friendly_name: "Allow Automation"
  value_template: "{{ is_state('input_boolean.allow_automation_execution', 'on') }}"

system_ready:
  friendly_name: "System ready"
  value_template: "{{ is_state('input_boolean.system_ready', 'on') }}"
  device_class: moving

You are missing the input_boolean and binary_sensor statements. For example, for input_boolean it should be:

input_boolean:
  allow_automation_execution:
    name: 'Allow Automation'
    initial: off

  system_ready:
    name: 'System Ready'
    initial: off

do that for the binary_sensor and other sections if you didn’t already.

Sorry, I’m still doing something wrong: getting the following error messages:
“Invalid config for [binary_sensor]: required key not provided @ data[‘platform’]. Got None. (See /config/configuration.yaml, line 33). Invalid config for [input_boolean]: invalid slug input_boolean.system_ready (try input_boolean_system_ready) for dictionary value @ data[‘input_boolean’]. Got OrderedDict([(‘allow_automation_execution’, OrderedDict([(‘name’, ‘Allow Automation’), (‘initial’, False)])), (‘input_boolean.system_ready’, OrderedDict([(‘name’, ‘System Ready’), (‘initial’, False)]))]). (See /config/configuration.yaml, line 24).”

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
# http:
#   base_url: example.duckdns.org:8123

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

# Lutron Caseta entry
lutron_caseta:
  host: 192.168.0.105
  keyfile: /ssl/lutron/caseta.key
  certfile: /ssl/lutron/caseta.crt
  ca_certs: /ssl/lutron/caseta-bridge.crt

input_boolean:
  allow_automation_execution:
    name: 'Allow Automation'
    initial: off

  input_boolean.system_ready:
    name: 'System Ready'
    initial: off

binary_sensor:  
  allow_automation:
    friendly_name: "Allow Automation"
    value_template: "{{ is_state('input_boolean.allow_automation_execution', 'on') }}"

  system_ready:
    friendly_name: "System ready"
    value_template: "{{ is_state('input_boolean.system_ready', 'on') }}"
    device_class: moving

Your binary sensors need a platform, as the error calls out:

binary_sensor:
  - platform: template
    sensors:
      allow_automation:
        friendly_name: "Allow Automation"
        value_template: "{{ is_state('input_boolean.allow_automation_execution', 'on') }}"
      system_ready:
        friendly_name: "System ready"
        value_template: "{{ is_state('input_boolean.system_ready', 'on') }}"
        device_class: moving
input_boolean:
  allow_automation_execution:
    name: 'Allow Automation'
    initial: off
  system_ready:
    name: 'System Ready'
    initial: off

Thanks so much! No errors in the log when I boot home assistant now. Unfortunately, still showing:

. Something seems wrong, apparently, with the entities, but I thought I followed the instructions re: the base name (yale in my case) and the appended entity names (_frontdoor). Any ideas there?

I’m stuck at the same spot, getting the same errors. Log is error free also.

Can you please confirm that these entities exist in your entities list (under configuration)?

@tmman They do not. But I’m not sure why.

EDIT: realized you were replying to @whymca. Sounds like we have the same issue but I’ll defer in hopes that a solution might fix my issue as well.

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.
[lockmanager]

#number of PINS to setup in lovelace
numcodes=6

#the name or location of the lock you are setting up (no spaces)
lockname="FrontDoor"

#the "lowest common denominator" of the factory lock name.  
lockfactoryname="assa_abloy_yale_key_free_touchscreen_deadbolt_yrd446"

#The name of the (optional) door sensor.
sensorname="frontdoor"

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

#the Home Assistant EntityID of your (optional) garage door
garageentityid="cover.garage_door_opener"

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# ./setup.sh
awk: cmd. line:9: Unexpected token
lock_manager.ini is incomplete or does not exist
./setup.sh: line 80: ((: i<=: syntax error: operand expected (error token is "<=")
./setup.sh: line 97: ((: i<=: syntax error: operand expected (error token is "<=")
creating
BusyBox v1.31.1 () multi-call binary.

Usage: mkdir [OPTIONS] DIRECTORY...

Create 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 setup.sh 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.