KeyMaster Z-Wave lock manager and scheduler

Oh thanks. Didn’t realize so many of the sensors were disabled.

So now I (think) I have everything done, all panels are showing up in lovelace, but I am just seemingly unable to set the PIN codes via the UI. input_booleans, binary_sensor, automations, and scripts have been added… I have two PIN codes set in UI but neither are working, even with toggling off/on and with restarts. I do have one error/warning in logs:

Log Details (WARNING)
Logger: homeassistant.components.ozw.sensor
Source: components/ozw/sensor.py:40
Integration: OpenZWave (beta) (documentation, issues)
First occurred: 10:15:51 PM (1 occurrences)
Last logged: 10:15:51 PM

Sensor not implemented for value User Code

Any ideas? :slight_smile:

Ignore that log message it’s nothing. Make sure allow_automations is on otherwise you can’t set PINs.

Are we talking at this level?

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

I played with this for most of the day yesterday including excluding/including, regenerating the lock-manager folder in packages… and couldn’t get this working. Seems like everything is good to go, except it doesn’t allow me to actually set PINs… so I guess it’s not good to go. :stuck_out_tongue:

Found another error:

Logger: homeassistant.components.template.sensor
Source: components/template/sensor.py:248
Integration: template (documentation, issues)
First occurred: 6:58:56 PM (1 occurrences)
Last logged: 6:58:56 PM

Could not render template backdoor Status Report: str: Invalid domain name 'UC'

Toggle the input_boolean on from the states.

I’ve updated my automations to this:

- alias: zwave down
  initial_state: true
  trigger:
    - platform: state
      entity_id: binary_sensor.ozw_network_status
      to: "off"
  action:
    - service: homeassistant.turn_off
      entity_id: input_boolean.allow_automation_execution

- alias: Zwave_loaded_Start_System
  initial_state: true
  trigger:
    - platform: homeassistant
      event: start
    - platform: state
      entity_id: binary_sensor.ozw_network_status
      to: "on"

  condition:
    - condition: state
      entity_id: binary_sensor.ozw_network_status
      state: "on"

  action:
    - service: homeassistant.turn_on
      entity_id: input_boolean.allow_automation_execution

with the binary_sensor:

binary_sensor:
  - platform: mqtt
    name: ozw_network_status
    state_topic: OpenZWave/1/status/
    value_template: >
      {{ "ON" if value_json.Status in ["driverAwakeNodesQueried", "driverAllNodesQueriedSomeDead", "driverAllNodesQueried"] else "OFF" }}
    json_attributes_topic: OpenZWave/1/status/
    device_class: "connectivity"

input_boolean.allow_automation_execution state is set to on.
I’ve toggled enabled in the GUI (off/on) and nothing so far. Haven’t actually been able to have the PIN codes stick. Any other ideas you think I could try? I’m using a Schlage BE469ZP deadbolt.

Are you using ozw or zwave?
Which version are you running of the integration?

ozw. The newest version the 0.0.11-ozw.

So when you enter the PIN into the slot and toggle Enable what do you see?

Annotation 2020-08-25 200747

Logbook shows

Status is connected
enabled_backdoor_1 turned on

Then I mosey on over to the door and try to enter the pin, and it just shows me a red x :frowning:

Does manually executing the service from Services tab in Dev-tools work?

Huh. So yes, manually running the service does work. :face_with_raised_eyebrow: Just not in the UI… Interesting.


Update! Finally got this working. Not sure if it was automations.yaml or binary_sensor.yaml, but I did a bit of messing around and was able to figure out what the problem was. Can’t wait to add my front and side door locks too! :slight_smile: Thanks for your help @firstof9

1 Like

Also having a hard time getting codes sent to the lock. I did have it working using old yaml files posted back in May on this thread, but it has stopped working. Can you post your automation.yaml , binary_sensor.yaml, and config.yaml files to help compare?

Keep in mind I’m running the 0.0.11-ozw version.
Here’s automations.yaml

- id: ha_startup_autom
  alias: HA Startup - Set Door Lock Booleans
  trigger:
  - event: start
    platform: homeassistant
  condition: []
  action:
  - condition: state
    entity_id: binary_sensor.ozw_network_status
    state: 'on'
  - data:
      entity_id: input_boolean.allow_automation_execution
    service: input_boolean.turn_on
  - data:
      entity_id: input_boolean.system_ready
    service: input_boolean.turn_on
  - condition: state
    entity_id: binary_sensor.ozw_network_status
    state: 'off'
  - data:
      entity_id: input_boolean.allow_automation_execution
    service: input_boolean.turn_off
  - data:
      entity_id: input_boolean.system_ready
    service: input_boolean.turn_off
  initial_state: true
  mode: single
- id: ozw_status_changed_autom
  alias: OpenZwave State Changed
  description: ''
  trigger:
  - entity_id: binary_sensor.ozw_network_status
    platform: state
  condition: []
  action:
  - condition: state
    entity_id: binary_sensor.ozw_network_status
    state: 'on'
  - entity_id: input_boolean.allow_automation_execution
    service: input_boolean.turn_on
  - entity_id: input_boolean.system_ready
    service: input_boolean.turn_on
  - condition: state
    entity_id: binary_sensor.ozw_network_status
    state: 'off'
  - entity_id: input_boolean.allow_automation_execution
    service: input_boolean.turn_off
  - entity_id: input_boolean.system_ready
    service: input_boolean.turn_off
  mode: single

And here’s binary_sensor.yaml

  - platform: mqtt
    name: ozw_network_status
    state_topic: OpenZWave/1/status/
    value_template: >
      {{ "ON" if value_json.Status in ["driverAwakeNodesQueried", "driverAllNodesQueriedSomeDead", "driverAllNodesQueried"] else "OFF" }}
    json_attributes_topic: OpenZWave/1/status/
    device_class: "connectivity"
    
  - 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

I got em from this thread!

Thanks for the files. I have tried every combination but just cant get it to work again. I will try OpenZwave as people are having more luck with that. Thanks again.

I cant seem to give up… this project keeps drawing me back to make it work. I noticed my setup stopped working when HACS updated lock-manager to 0.0.10 or 0.0.11. I just went into some logs and found the new code contains ozw instead of zwave.

  • frontdoor Clear Code: Error executing script. Service not found for call_service at pos 1: Unable to find service ozw/clear_usercode
  • frontdoor Add Code: Error executing script. Service not found for call_service at pos 1: Unable to find service ozw/set_usercode

I defiantly didn’t download the beta, so I should not be seeing any ozw, correct?

Ah right, those files only work for ozwave. I switched to ozwave before I started messing with lock manager, so I can’t help you with the regular zwave integration. Sorry :frowning:

Seems there was a ooof on the repo, I’ve submitted a PR to fix this.

Guys, sorry for the radio silence. I’ve been trying to fix some issues. Certain things aren’t working as expected, like numbered opening counts. We hope to have things settled down in the next week.

Pull request accepted. Give it a shot.

Thanks for reporting and updating firstof9 and Future Tense.

I uninstalled the ingratiation, HACS lock-manager, and deleted all files in packages. Reinstalled, added to Lovelace but still getting same error. Also getting this error:

Its stating scipt.py, and core.py files. That’s a little too deep for me to understand.

I’m sure if I do a fresh HA install it would probably clear, but trying to avoid that as much as possible. Do you think i should just go OpenZWave for future compatibility?