KeyMaster Z-Wave lock manager and scheduler

Empty cache and hard reload didn’t do it. I installed fold entity row (which is referenced in the resources, but not listed in the things to install, and still no joy. Here’s what my browser is giving me now:

Uncaught (in promise) Error: Invalid entity ID at position 5: dummy_garage
    at process-config-entities.ts:39
    at Array.map (<anonymous>)
    at n (process-config-entities.ts:12)
    at HTMLElement.value (hui-view.ts:263)
    at HTMLElement.value (hui-view.ts:208)
    at HTMLElement.performUpdate (updating-element.ts:720)
    at HTMLElement._enqueueUpdate (updating-element.ts:653)

I think you are to modify the entities.

Those entities are devices I don’t have but the instructions said to name them whatever we wanted.

Remove devices you don’t have from the lovelace UI

So I think I’ve got it working! Thank you @firstof9 for your help.

I already had a number of codes programmed (before adding the lock to Home Assistant) which are not showing up. Is there something I need to do to import them, or do I need to remove them from the device and program them through the HA interface to make them accessible?

1 Like

You’ll have to add them to the UI.

1 Like

I’m also having an issue with /packages – HA (installed on a raspberry pi 4) gives me this error at startup:
“ERROR (MainThread) [homeassistant.setup] Setup failed for packages: Integration not found.”

This is the relevant part of my configuration.yaml:

# 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
packages: !include_dir_named packages

My directory structure is the following:
~/config/packages/lockmanager, so since my configuration.yaml is in the /config directory, I’m really not sure what the issue is. Any ideas? Thanks!

That’s not where it goes. Review this link for how to activate the packages function.

I appreciate the link; I think I’m still confused from the documentation, sorry!

  1. from https://www.home-assistant.io/docs/configuration/splitting_configuration/ it seems like I should actually use !INCLUDE_DIR_MERGE_NAMED because it’s recursive and should hit any .yaml buried in packages/. I try that, though, and it fails again.
  2. Next, looking at the EXAMPLE: !INCLUDE_DIR_NAMED, from there it looks like there’s a .yaml in the top level directory they point to, so I tried the following: creating a lockmanager.yaml in the lockmanager directory, and including the boolean / other config for lockmanager into that .yaml… and it still fails.

Would you mind just spelling it out for me? I’m sorry.

Per my previous post you’ll use:

packages: !include_dir_named packages

It goes under homeassistant: example:

homeassistant:
     packages: !include_dir_named packages

Hi @joe_blow, would you mind posting for me your configuration.yaml and your lockmanager directory structure with associated .yamls? For the life of me, I can’t seem to do the include statement correctly. Thanks!

Yeah, happy to help. Assuming your “packages” folder is named the same, do you have this in your configuration.yaml?:

homeassistant:
  packages: !include_dir_named packages/

Here’s my configuration.yaml:

homeassistant:
  #includes
  packages: !include_dir_named packages/
  group: !include groups.yaml
  automation: !include automations.yaml
  script: !include scripts.yaml
  scene: !include scenes.yaml

  # 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
  # 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

My directory structure is as follows (running home assistant on RP4):
~/config/packages/lockmanager/

inside of lockmanager, I have lockmanager.yaml:

# lockmanager config
# first, the binary sensor
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

#now, the input_booleans
input_boolean:
  allow_automation_execution:
    name: 'Allow Automation'
    initial: off
  system_ready:
    name: 'System Ready'
    initial: off

I’m getting the following error now:
extra keys not allowed @ data[‘group’]

In case it’s relevant, yy automations.yaml (located back in ~/config):

- alias: homeassistant start-up
  initial_state: true
  trigger:
    platform: homeassistant
    event: start
  action:
  - service: script.turn_on
    entity_id: script.customstartup

- alias: Zwave_loaded_Start_System
  initial_state: true
  trigger:
  - platform: event
    event_type: zwave.network_ready
  - platform: event
    event_type: zwave.network_complete
  - platform: event
    event_type: zwave.network_complete_some_dead
  action:
  - service: script.turn_on
    entity_id: script.system_cleanup

The error message, on googling this, seems to point toward an error with automations, but I’m not sure where I’ve gone wrong given I’ve copy-pasted the instructions from github and validated the yaml. Thanks so much for all your help!

Your config is wrong.

Should be formatted like this:

homeassistant:
  packages: !include_dir_named packages/

# 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
# 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

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

That helped! The lock UI now doesn’t display errors and shows up the way it was intended I believe.

I think, however, something is still pretty broken: the UI doesn’t actually control the lock. I can create new PIN codes and enable them, but they don’t actually work on the lock.

Hunting through the log, I can only find:
“WARNING (MainThread) [homeassistant.components.template.sensor] Could not render template frontdoor Status Report, the state is unknown.”

Then, if I attempt to use the code I created in the lock, I’ll trigger the following error:
logger: homeassistant.components.automation
Source: helpers/service.py:107
Integration: Automation (documentation, issues)
First occurred: 11:05:36 PM (6 occurrences)
Last logged: 11:05:43 PM

  • FrontDoor Clear Code: Error executing script. Unexpected error for call_service at pos 1: Error rendering data template: UndefinedError: ‘None’ has no attribute ‘attributes’
  • FrontDoor Add Code: Error executing script. Unexpected error for call_service at pos 1: Error rendering data template: UndefinedError: ‘None’ has no attribute ‘attributes’

My automations.yaml seems to be normal:

- alias: homeassistant start-up
  initial_state: true
  trigger:
    platform: homeassistant
    event: start
  action:
  - service: script.turn_on
    entity_id: script.customstartup

- alias: Zwave_loaded_Start_System
  initial_state: true
  trigger:
  - platform: event
    event_type: zwave.network_ready
  - platform: event
    event_type: zwave.network_complete
  - platform: event
    event_type: zwave.network_complete_some_dead
  action:
  - service: script.turn_on
    entity_id: script.system_cleanup

Check your automatons in the UI… do you have some version of “frontdoor Add Code” and “frontdoor Clear Code” included there?

Yeah, both present, and look like they should work. I feel like somehow I must’ve screwed up all of my automations – even my light automations are now throwing errors, where the automation can’t find the entities–even though they’re controllable still from the UI!

So I’ve had this up and running for a few days, and finally had the time to test everything out. It looks like all the advanced features are working, except I’m not getting any notification (yes I enabled them in the GUI). I signed up for Nabu Casa and have the android app setup, so it would be great if I could get push notifications through the app. Also is there a way to hide the PIN codes in the interface

No unfortunately there isn’t.

You’ll need to mod the automation’s notifications to send the messages to your phone(s) via the app.

I looked through the code in the automations.yaml, configuration.yaml, and LoveLace but couldn’t find it. I’d appreciate if you could point me in the right direction.

Thanks