KeyMaster Z-Wave lock manager and scheduler

i’ve switched over to the key-master from the old lock manager on the current 2021.2.0 and so far, everything is working exactly as expected.

i’m trying to see if anyone else might have accomplished the next thing i’m trying to do.

ideally, i’d like to set up a logbook card, or something similar to have viewable from within Hass, just like happens with the notifications. i do indeed have door notifications being sent over through telegram, but it would be nice to have a logbook card that i could configure the last 24 hours worth of notifications. in order to leverage the logbook card, we would need to adjust the notification script to store data in a template sensor. not sure if this is practical.

essentially this, but the logs showing username X locked at this time, username y unlocked at this time. etc

anyone else thought of this and achieved something?

1 Like

I just learned that alarm_level and alarm_type are entities that we need to support. They currently are’t supported by HA but they’re coming probably in the next minor release. What I think won’t be included are access_control and user_code entities for newer locks. I will have to make some changes to account for this.

Thanks @raman325 if you need a beta tester let me know I’ll sacrifice the WAF for the good of the people.

Also I think I found a bug. So I was messing around with it today with enabling/disabling lock codes and I came across this interesting scenario
If you enable one code and disable another in rapid succession one of the 2 codes does not do what its supposed to do and the status remains connecting/disconnecting with no retry.
If you are using time enabled pins (I have kids so I only want their pins enabled when they are done with school for the day) so if I tell it to enable both of their pins at the same time the same issue as above results. Its almost like it needs a queue of some sort to put events in that need to wait for the current event to come back with its event message before it can proceed to the next item.

BTW before someone is like you lock your kids in ? No my kids are in person learning right now and they are at school so I don’t need their pin enabled while they’re not at home you know security reasons.

Hmmm individual code slots should be able to be turned on and off at the same time without issue. Can you reliably reproduce this?

Yeah I did it a few times. Its like if while one is inflight then the inflight one would be canceled and the new one would take over.

Raman325,

Thanks for your work on this. Following your install steps worked well. However the required extra modules on the LoveLace View page of the Wiki should also include a link to Numberbox Card

I didn’t have it, and a section of the Lovelace code was broken until I installed it.

Great work on this Integration.

1 Like

@FutureTense First off this is a great integration and I appreciate your development efforts! I have followed your instructions and I have keymaster working for both front and garage doors. Pin codes sync and all looks good. I am using the Zwave JS implementation and no issues in operation so far.

I do have a question surrounding notifications. You mention in your instructions to add the script for appropriate notifications. I have added the appropriate notifications into my scripts.yaml file but unfortunately I am not receiving any notifications. Is this because of the Zwave JS?

My Scripts:

frontdoor_manual_notify:
  mode: parallel
  sequence:
    - service: notify.pushover
      data:
        title: "{{ title }}"
        message: "{{ message }}"

garagedoor_manual_notify:
  mode: parallel
  sequence:
    - service: notify.pushover
      data:
        title: "{{ title }}"
        message: "{{ message }}"

Did you enable them, but turning on that option on here. I missed that step too

Screen Shot 2021-02-07 at 3.00.49 PM

Yup, I missed this too, its missing from the instructions–otherwise you’ll have a red entity in Lovelace saying can’t find the custom component

Also, is there a way to say what code slot or name did the unlock?

Oh I just discovered there’s a notify option for each slot.

As mentioned above in some of my communications with @raman325 currently the alarm_type and alarm_level are not being reported back. For users with a Yale lock this is how we are able to determine who unlocked the door or what else is going on with the lock. So I do believe that its coming but unknown at the time frame right now. I also know that the Yale locks are on the list of things to be imported into the DB as well as per the open issue with ZWaveJS so hoping that also adds some more enhancements to our locks.

1 Like

That’s the case for Schlage locks as well. Technically, what is happening is the code slot that is associated with the PIN used to lock/unlock they deadbolt via the keypad is being reported. We just use slot number to retrieve the associated “owner” of the slot.

The only toggle we look at currently for notifications is on each individual code slot. That is, you’d have to enable notifications for the code slots you want to enable notifications for. There are two ways that we can see lock and unlock events in zwave_js:

  1. Through notification events. This is already supported by keymaster, but it’s only applicable for some locks.
  2. Through state changes to the alarmtype and alarmlevel sensors. I learned this late, so you may not have seen a place to enter them in when setting up keymaster. The latest release resolves that. With that being said, there was an issue with the integration not creating these sensors and I’m not sure whether it’s resolved yet. Once it does get released (or if its already released) this method will work as long as keymaster knows about these sensors as part of your config flow (you will need to regenerate your package files once these sensors are available and configured in keymaster)

So there are two different ways that we can see lock/unlock events depending on the lock. The best way to figure out which one your lock would use would be to go to Developer Tools > Event and start listening to the zwave_js_event event. Once you are listening, stay on this page, go lock or unlock your door, and check if you see an event on the event page. If you see it, congrats, your lock uses option 1 and you should be good to go. If you don’t, check to see if you have alarmlevel and alarmtype sensors for your lock (they may be disabled). If you find them, enable them and update the keymaster config entry and regenerate package files. If you don’t find them, you may have to wait until a future release

This is for Yale users

Then there are the Yale locks :slight_smile:

We have the sensors and you can see them in the list
image

You can also see them in the console for zwavejs2mqtt

But it appears that we’re not 100% into the new amazing zwave just yet.

I do have my devices enabled in HA and I’ve watched the event stream as well as the console for events to pass through and I just haven’t seen anything yet. Listening to the chatter on the zwavejs thread in the forum sounds like users are having issues with various other locks as well so I know that the zwave team including you amazing devs here are all hard at work on this new amazing integration.

1 Like

Btw, thanks for this great add on. I’m using zwave js, with a schlage lock be469. All is working well. I can add and remove codes, lock/unlock and get notifications. Only hiccup was missing the Numberbox Card add on. Also, I had to cut and paste the manual script into a file and not into the yaml editor in scripts (U.I.) (it didn’t like the formatting done that way). Feature request, notification for low battery (instead of adding another automation) as part of the package, that would make it complete :slight_smile:

I did have some issue re-adding my lock to zwave js, but that was because I lost my network key and had to start fresh.

Well this is promising
image

Its actually alive now. I’ll have to test out the lock here in a little bit and see if the Value changes. If this is like my other devices the value will be an attribute that I’ll have to read and I’ll have to see what the Unknown changes to.

I see this now but have no idea what it means and if this will give me my notifcations.

First let me say thank you for this awesome project! Was using lock-manager for a couple months and recently switched to keymaster. I’m running a BE469ZP, zwavejs2mqtt add on, and the new zwavejs integration and having a weird issue. I’m getting 100% functionality with the lock, user codes will set/clear fine using the keymaster Lovelace UI, however the status for each user code remains at connecting/disconnecting forever despite changes actually taking.

1 Like

When you set/unset the codes with the UI can you open another tab within HA and monitor the zwave events Devleoper Tools > Events > Scroll to the bottom in the Listen to events put in zwave_js_event in there and then watch it for when you add/remove your usercodes and make sure that its reporting back. The Keymaster is watching for those events and if nothing is coming back that could be the problem. Also make sure you have the scripts for zwavejs2mqtt https://github.com/FutureTense/keymaster/blob/a689285e9efef116d30f0589c43fe851985117fd/assets/additional_yaml/zwave_js.yaml

1 Like