KeyMaster Z-Wave lock manager and scheduler

This would be part of the parent/child lock setup that’s, if I recall, a WIP right now.

EDIT: Correction, looks like it’s in here’s how to setup the parent/child lock system.

Sorry, but I’m not sure I follow. I list 2 of my locks in that file that would be the “children” of my “parent” lock? And add the path in that field in the setup for my “parent” lock?

Example:

garagedoor:
    lock_entity_id: lock.garagedoor_lock
    alarm_level_or_user_code_entity_id: sensor.garagedoor_alarm_level
    alarm_type_or_access_control_entity_id: sensor.garagedoor_alarm_type

This would then parent/child the lock you’re currently looking at via options (ie: frontdoor) so that codes entered into the lovelace for ‘frontdoor’ are duplicated to ‘garagedoor’.

There is no need to set up ‘gargedoor’ separately, you’d only have an entry for ‘frontdoor’.

Okay, I think I got it thanks for the explanation

1 Like

Ugh. I feel like I’m still running into a keymaster updating problem.

What is the best way to go about an update? So I’ll push the update thru HACS and then restart HA. Then, I notice that the actual packages/keymaster/ files haven’t been updated yet after the restart, so I’ll manually go into Config>Integrations to reload the integration for each lock. However, upon reload, keymaster will remove the specified files and then just never re-install them, even after a restart. (Works to go into Dev Tools> Services to call for keymaster.generate_package afterward.)

Is there a better way to do this? Reload doesn’t seem to want to do the trick for me.

I’m happy with Keymaster although the reporting I had as part of the other project seems to not be possible. I see it in the lock entity notification all the detail I used to get in the report. How do I turn that into its own entity?

If you hit “Options” and just submit the data again it should run through the whole generation process again.

Hmm. For reason that isn’t doing anything on my end. I’ll just generate from a service call for now :woman_shrugging: Works that way. Thanks!

Interestingly, the new patch appears to break something at my end - preventing my user codes from being “Connected” and instead stuck at “Connecting” - disconnecting the codes works fine. I’ve reverted t 0.018 version and all working fine without changing any settings - user slots still start at 1 and end at 20.

How odd!

1 Like

I installed latest version last evening and experienced significant sluggishness to my zwave network. Reverting back to 18 brought everything back to be responsive again.

What sort of performance problems? The integration doesn’t require much ooomf in terms of hardware. The only problems we’ve seen are related to browser speed issues. The best way to handle that is to only include the bare minimum of PIN slots that you need. So in a 2 person household, I create 4 slots. 2 for my wife and me, 1 for a neighbor who occasionally feeds and gives our cats attention when we travel, and an open 4th slot for a maintenance worker. We’ve never had more than 3 PINS active at any time. So by keeping the number of slots down to 4, we keep the number of GUI elements to the smallest possible.

It was browser performance and may well have been related to me adding all code slots. Good suggestion about only adding the number you need.

Regardless it’d be nice to find where all those helpers are stored and get rid of them.

Check the packages directory. grep is your friend

grep -rnw . -e ‘foobar’

The packages dir is empty.

If you’re referring to all the ‘input’ entities, when I uninstalled lock-manager, I just deleted all the related the entities in config and they stayed gone.

If you have browser lag specifically in the lovelace panels, don’t show all the options for every code slot initially and that will help. Here’s the way I show mine- clicking brings up a pop-up, and it helps with lovelace panel lag tremendously.

1 Like

Go to your config dir. if you’re searching for foo bar

grep -rnw . -e ‘foo bar’

Can you share your lovelace cards? I really like this layout.

Yeah, when I get back to my computer I can share my codes. I linked a post up above that I based mine off. Essentially using custom button card and browser_mod popup.

Will try to remember to link them tomorrow since I’m working the rest of the day.

1 Like

Gah, they were in core.entity_registry. I swear I looked there. Thanks for the help!

Hey,

I’ve opened an issue on Github for this.

I had lock-manager for ozw. In a working state, but I saw lots of weird glitches with Z-Wave and my lock entities becoming unavailable. I was bored one weekend and decided to give Z-Wave JS a try. I settled on zwavejstomqtt because of the control panel (MQTT Disabled).

I set it up with Keymaster which went quite smoothly. The only issue I am running into is that when I enable a code I dont see and attempt to set the usercode from zwavejs.

Disabling works very well - quick and easy. I see the zwavejstomqtt log should the code being cleared without issue.
firefox_6LF2OwBPxF

The keymaster logs show that the code slot is disabled even when the switch in the dashboard is enabled and it looks like there is no attempt from zwavejstomqtt to update the code slot.
firefox_WjUcZ3gUWz

When I manually set the code in the control panel it gets picked up right away and changes to ‘Connected’. When I call zwave_js.set_lock_usercode it also updates immediately and changes to ‘Connected’.

This must mean that the service is not getting called properly from Keymaster? input_boolean.allow_automation_execution is on.
automation.zwave_js_homeassistant_up is on.
automation.zwave_js_homeassistant_shutdown is on. Is this right?

Is there something else I should be checking? Or more information I can give to help?

Thanks.


Edit:

When I attempt to call keymaster.add_code:

2021-02-27 15:19:00 DEBUG (MainThread) [custom_components.keymaster] Add Code service: <ServiceCall keymaster.add_code (c:b81b6dadf0e4c12f137c73cb8af46dbf): entity_id=lock.frontdoorlock, code_slot=3, usercode=1234>
2021-02-27 15:19:00 DEBUG (MainThread) [custom_components.keymaster.services] Attempting to call set_usercode...
2021-02-27 15:19:00 ERROR (MainThread) [custom_components.keymaster.services] Error calling zwave_js.set_lock_usercode service call: required key not provided @ data['usercode']

Although I don’t see this when enabling a code in the dashboard at all.