KeyMaster Z-Wave lock manager and scheduler

Im in the process of migrating my Schlage Connect locks over from SmartThings and im having a difficult time getting this to work right. I have 2 BE469’s and 2 BE469ZP’s. So far i have 1 of the ZP’s in and functional and 1 of the older be469’s in and functional in keymaster. However, i added the other older be469 today and cannot get it to add codes to the lock. It gets stuck on Adding or Deleting and can never get past it. On my other older BE469 i was able to call this and that cleared things out and let me set codes but on the one i added today it fails each time. Can someone help me figure out why i cannot add codes to the other older lock?

service: zwave_js.clear_lock_usercode
data:
  code_slot: '4'
target:
  entity_id: lock.touchscreen_deadbolt_2

Now when i run it i get and error saying:

Failed to call service zwave_js.clear_lock_usercode. Unknown error

I turned on debug logging for the integration(i think) but i dont see anything in there that points me in any direction.

NOTE: if i run the script above on another lock, touchscreen_deadbolt it works fine, fails every single time on the one i just added that is named touchscreen_deadbolt_2

If you can’t wipe the code, it sounds like your lock isn’t exposing the User Codes correctly. if you’re using ZWaveJSUI you can look at the lock in the interface and see what it’s exposed as. (If you’re not using JSUI I’m unsure where to check if your lock properties were identified properly). In either case, a nondestructive possible fix is to re-interview the lock to see if it polls correctly this time. Never hurts to heal the node just before you re-interview. If re-interview doesn’t do it you can start looking at more drastic measures (I consider pairing a BE469 a drastic measure on a good day)

thats exactly what it was. Thought i had gone through everything but noticed that one section missing from the zwave configuration. Thanks!

1 Like

Awesome! I really didn’t want you to have to pair that thing again. The only device that i know of worse to pair is a pre-S2 Linear GD000X-z garage door. While it’s still mounted to the garage door opener.

I got mine to pair one the first go :man_shrugging:

Need some help troubleshooting. I turned on the notification toggle on each user code because I want to receive a notification like “Sam unlocked the door.” I also turned on the lock and door notifications at the top of the screen (I missed these at first). I put into the scripts.yaml the notification block included below. Looking in the logbook, I’m getting lots of notifications from keymaster but not one notification on a user unlocking with a code. Telegram is receiving “reardoor Door Opened” and “reardoor Door Closed” notifications only. When I look at the notification history for a user, other than the history showing that I turned it on, there is no history of being triggered. What’s am I missing, because I feel like it’s something basic?

Script block:

keymaster_reardoor_manual_notify:
  mode: parallel
  sequence:
    - service: notify.telegram
      data:
        title: "{{ title }}"
        message: "{{ message }}"

Here is a screenshot of my setup:

Turn off the notifications at the top.

Okay, I confirmed in the log that “reardoor Door Notifications” and “reardoor Lock Notifications” turned off, and when I tested I still got no telegram messages about the user unlocking the door, and this time I also didn’t get the “reardoor Door Closed” and “reardoor Door Opened” notifications that I received previously.

Make sure your lock is emitting zwave_js_notification events, otherwise you’ll need to enable your alarmType and alarmLevel sensors and select them in the KeyMaster config.

Not totally sure how to determine this. I went to the zwave_js integration and then went to the reardoor device. There are entries listed here in the logbook but nothing stating “notification.”

Here I clicked on both Alarm Level and Alarm Type and enabled them. Then went back to the KeyMaster integration and changed:

  • Alarm Level/User Code Sensor (from lock) from “sensor.fake” to “sensor.rear_door_lock_alarm_level” and Alarm/Type
  • Alarm Type/Access Control Sensor (from lock) from “sensor.fake” to “sensor.rear_door_lock_alarm_type”

I got a notification that Keymaster was updating the package and completed successfully. This is a Schlage - FE599. I forgot to include that in my original post. Those changes made no difference in the notification or in the logbook that I can tell.

I can see in the keymaster_reardoor_manual_notify the only thing listed there is the Open/Close being triggered by my door contact sensor.

Go to Dev-tools → Events
Enter zwave_js_notifications into the “event to subscribe to” box and hit Start Listening then go cycle your lock.

If nothing shows up, that’s the issue.

When you cycle the lock the alarmType and alarmLevel sensors values should change as well.

Thank you for the hand holding, @firstof9. I’m a recent transplant to HomeAssistant so still learning where all of the different logging happens.

I’m not getting any zwave_js_notifications events. So…how do I address that? I’m using hassio on a pi. The address for the zwave_js gui is ws://core-zwave-js:3000 unlike another install I have at second location on a PC using containers where zwave_js has an actual webgui with further configuration.

I found this which seems to be directly related to my lock and the lack of zwave_js_notification events: [No zwave_js_notification events even though everything is working - #2 by freshcoast](https://No zwave_js_notification events even though everything is working)

Verify your alarmLevel and alarmType sensors are updating their value when you cycle your lock.

Yes, I believe that they are. I tried some different user codes. I am seeing Rear Door Lock Alarm Level changed to 6 for one user and Rear Door Lock Alarm Level changed to 1 for another. These are correlating with the user code number as defined in Keymaster.

I am not seeing any updates to alarmType. It is showing a constant value of 16 when I go into the device in zwave_js.

KeyMaster knows these values and translates them into the message, it should be sending you messages. Make sure you’re runnining the latest KeyMaster.

Also try doing a scripts and automations reload from Dev-tools → Yaml

Did both. All I get in the logbook is Rear Door Lock Alarm Level changed to 2 when entering the user code 2, no notification. I am on version 0.0.85.

I opened up HACS to see what version I am on. I see the following:
N.B. After you add your devices (Zwave lock, door sensor) to your Z-Wave network via the inclusion mode, use the Home Assistant Entity Registry to rename each entity that belongs to the device and append _LOCKNAME to it. For example, if you are calling your lock FrontDoor , you will want to append _FrontDoor to each entity of the device.

Is that something that I need to do? All of the entities are named like sensor.reardoor_code_slot_1 currently.

Those are old instructions, you don’t need to do anything.

I was having issues with my setup (with one particular lock), so I removed keymaster and all the locks (I have 4 of them) and decided to start from scratch.

However, when installing keymaster for the first lock, the sensor and binary sensor for the pin status aren’t created. As an example, for code slot 1 on front_door, the lovelace template can’t find the following two entities:

  • sensor.connected_front_door_1
  • binary_sensor.active_front_door_1

I thought it may have been a naming issue, but when searching my entities, I can’t find anything similar.

I’m not sure what I did wrong in the process (I’m on version 0.0.85)…any ideas?

Until we figure something else out, I set up an automation on the sensor.rear_door_lock_alarm_level since I was getting the changes into the log. Then in the message a big if/elif like (only first two codes shown):

{% if is_state("sensor.rear_door_lock_alarm_level","1") -%}
  The door was unlocked by Sam.
{%- elif is_state("sensor.rear_door_lock_alarm_level","2") -%}
  The door was unlocked by Michael.
{%- endif %}

That seems to be working for now. I wasn’t sure if yaml had switch statements because that seems better than the if/elseif, but I my Google-fu isn’t yielding anything.

Guys, I’ve got it setup but can’t find where to set pin codes :frowning:
Only can lock/unlock it from HA… can anybody help?
yale yrd216 locks