KeyMaster Z-Wave lock manager and scheduler

After a day and about 10 refreshes, still the same thing. All those entities are unavailable.

If its not interviewing its usually some kind of connectivity issue.

Do you have the lock in question (very) near a beaming capable repeater? How far is it from the coordinator? Have you tried a node repair THEN a re interview?

1 Like

Yes. It is about 25-feet from my dongle, separated by about 2 or 3 walls but I have 7 Z-Wave mains powered Leviton switches between them. I can unlock/lock both of the BE469ZPs without issue and last night I upgraded the firmware on those Leviton switches and dimmers which are really close to them so I know I have good Z-Wave signal.

1 Like

Hi, new to HA and Iā€™m slowly migrating from Smartthings.

I have 3 x Schalge BE469 and recently migrated from Zwave JS to Zwave JS UI.

After successfully adding all of them from JS ā€“ then migrated to JS UI ā€“ I installed Keymaster for the first time.

Followed the instructions like made sure I have, the below code, on the top of my configuration.yaml.

homeassistant:
packages: !include_dir_named packages

I also made sure I have all the 4 lovelace views installed.

However, after adding the raw config to my dashboard, it gives me two lines of error:

Entity not available: sensor.connected_nameofdoor

Entity not available: binary_sensor.active_nameofdoor

With this current state, if I make any changes on the Keymaster card of my door, like putting a name and code, it doesnā€™t update or changes the code in the actual lock. I also checked the details in Zwave JS UI and it didnā€™t update too.

However, if I change the codes directly on JS UI, the new code works fine on the lock itself.

Any advice or tips on what I can do to fix the issue?

TIA!

1 Like

Doing some more research, I fixed my issue by adding 2 more spaces from the configuration.yaml code

Before:
homeassistant:
packages: !include_dir_named packages

After:

homeassistant:
packages: !include_dir_named packages

The additional two spaces before the ā€œpackages:ā€ worked.

On a different note, everything seems to be working now, even notifications. I even tied it with door sensors and it auto-locks when the door is closed.

Just wondering if there is an option to delay the locking right after closing.

So for example, I set an autolock of 5 minutes IF the door contact sensors are in closed state. If the door is left open, it will not lock and will send me a notification.

However, after 5 minutes has passed, if I close the door, it will right away lock it. Like in 1 second.

Is it possible in Keymaster to set maybe a minute or two before it locks the door after closing?

Please note @NathanCu ā€™s question about a ā€œbeaming repeaterā€. For some reason, some Z-wave locks require a bit of buffering of the messages in order to work reliably. So, they work best with a beaming repeater in the mesh between the lock and the controller.

I can say from personal experience that this is true for Kwikset Z-wave locks - probably others.

So trying to think of a solution here, sometimes I have a code that gets stuck in Adding status forever because something happens on the zwave controller and it never completes the add. Can I call the service again if for example it stays stuck in adding for > 1 min have an automation that calls the service to attempt to add the code again? Then I can have it wait for a moment to see if it changes to connected and if not call the service again.

I have been racking my brain for weeks about this working on BE469ZP locks and I found something that fixed my code entries. You must use Z-Wave JS UI, not the default Z-Wave JS Z-Wave integration.

Now that this looks like it is working, at some point, I can try making the dashboard work. It is a shame you cannot just edit it in the Entity.

I had my BE469 working and my two BE469ZPs not working. Then, I changed to Z-Wave JS UI and now the inverse is true. The BE469 is now not working but both the BE469ZPs are working. No amount of healing or interviewing fixes this. It has to be the way Z-Wave is polling the devices for this information through this HACS integration.

BE469:

BE469ZP:

I even tried deleting the BE469 KeyMaster and re-adding it. This did not help.

Is the usercode command class showing up in ZwaveJS UI?

1 Like

I do not see it for the BE469 but I see it for the BE469ZP:

BE469:

BE469ZP:

Itā€™s actually the fact that Schlage is borderline out of spec for how they communicate on the wire and ZWaveJS/JSUI have to work around the locks.

For any lock where User Code is present - then clear the codes on the lock using the keymaster.clear code service and then go into the usercode section for the lock in question in JSUI and ensure every code slot you intend to use is either enabled or available. THEN go back to Keymaster and try to write the code. In my experience, once I have User Codes, then clear and reset the codes Iā€™ve not had Keymaster barf on a lock.

For any lock where User Code is not present (your 469) - youā€™ll have to interview it until it shows up. Thereā€™s no way around it - Keymaster canā€™t interface with the codes if it canā€™t access them and they simply dont show as an option until this capability shows up. This may take a lot of repairs, pings, and various hoops. You may also have to use the checkbox in JSUI Settings > Zwave (bottom right corner under Zwave) to increase the node report timeout so it can interview correctly. (I had to do this for one of my 469ā€™s)

1 Like

Seems like that little check box helped. THANK YOU!!!

1 Like

Thatā€™s some good info right there.

1 Like

First time use notification?

Iā€™m using keymaster in a short term rental house and Iā€™d like to only send a notification the very first time a code is used. I have notifications configured and working great but just want to limit it to a single notification the first time a user opens the door.

Along with this idea, is there a way to trigger an event the very first time a lock code is used? Use case would be to turn on the lights the very first time a guest unlocks the door.

Single shot notifications are possible. Thereā€™s a few ways you could go about it.

One way would be for your notification script to toggle the notification boolean of the associated key slot to off after itā€™s sent the first notification.

Doing this allows you to do the first time use thing.

Personally, I fell that lights should automatically come on for guests anytime they enter if itā€™s after dark and thatā€™s what I do with our rentals.

Thanks! Should I add something in scripts.yaml to toggle the notification boolean or should that go in the _keymaster_common.yaml? Any suggestions on what I should add?

My recommendation would really be the following:

  1. Create an empty notification script for the lock. That way HA doesnā€™t complain about not being able to find it
  2. Create an automation that listens to the lock events (see this previous discussion)
    a. In the automation check that the event is from a slot you want solo notifications from, if so, check that the notify boolean is on, if so, then send the notice and turn off the boolean. Do any other ā€œfirstā€ time things in this section too
    b. If the slot is one you want notifications from but donā€™t want it to be a single notice, do your notification logic but do not disable the notification boolean.

Hello, I know its been awhile but Iā€™m having the same problem now. Everything seems to work fine but my logs are getting filed up with the same every 3 minutes

2023-04-20 11:17:17.945 ERROR (MainThread) [custom_components.keymaster.binary_sensor] Z-Wave integration not found
2023-04-20 11:17:17.946 ERROR (MainThread) [custom_components.keymaster.binary_sensor] Z-Wave integration not found
2023-04-20 11:17:17.946 ERROR (MainThread) [custom_components.keymaster.binary_sensor] Z-Wave integration not found

Unfortunately, Iā€™m still learning HA and I barely had Keymaster working but now Iā€™m set. Then I just noticed all these logs. I do have zwave2mqtt (Zwave JS UI).

Where (location) and what file did you exactly change to fix your issue? If you did something else to fix the problem, can you please share your solution?

Like I said, I barely made keymaster to work but along the way I might have done things un-intentionally that could have caused this issue.

logger:
  logs:
    custom_components.keymaster: critical

in your configuration.yaml will hide the errors.

1 Like