I’m trying to determine which direction to go (if any) for a lock code manager for my zwave locks. I’ve been reading user comments across the various forums discussing lock code managers. It seems a lot has changed over the last few years.
Perusing these forums suggested there are currently 3 options:
lock_code_manager: Seems that users love it, but according to a post from mid July 2024, it is currently not functional and the author is discovering that fatherhood is more entertaining than Python coding . No date yet on when it will be resurrected
keymaster-basic: Seems good, but it “may” be limited to 8 or 9 codes and I need at least 13.
keymaster: users suggest it is very functional but that it creates so many automations and helpers that HA systems become overwhelmed.
Are there any other options? Can anyone comment on the limitations of just manually keying in my codes in the zwave integration (instead of using a code manager)? Other thoughts?
Thank-you for the suggestion and validating my assumptions. If you could please, I have a couple of questions regarding this approach.
I used the default zwave integration - not the ui version. I can simply enter the pin codes into it - but is there some advantage for this task in moving to the ui version first?
I previously used the smart things hub (which recently started acting up, this giving me incentive to move you a direct ha zwave approach. ). The existing codes are still embedded in the locks and continue to function. My objectives in managing the codes in HA are 1) simpler than manually editing them via the lock keypad and 2) knowing which pin unlocked a lock so I can have an ha automation react accordingly. Will I be able to achieve these objectives by manually managing the pins via the integration?
Is there a way to sync the existing pins in the lock back into the integration? It’s only 13 pins so not really a big deal - but I’m curious about how one syncs the codes between the lock and the integration?
YES Z-Wave JS UI is simpler than manually editing codes on your keypad. Here is a screenshot of the UI. As you can see you can easily add codes as well as enable and disable them. To set a code I just enter a pin in the User Code field and press send.
Yes you can easily tell which pin unlocked a locked by using Z-Wave JS Events. Here is an example you would use in your automation. In your automation click ADD TRIGGER > Search for MANUAL EVENT > Enter zwave_js_notification in the EVENT TYPE BOX > Then paste the following in the EVENT DATA box.
The 2 locks (and 1 plug) were automatically added. I then manually added names to the two locks.
Where I struggle now is finding them as devices (and associated entities) in HA. I believe that ZUI is talking to the locks, as the sync function did bring in all the existing pin codes from the locks. I’m just not sure that HA sees the integration - specifically I can’t find the devices / entities in HA. Am I missing a step?
In z wave js up settings, make sure the Hass websocket port is ope./enabled (port 3000 I think).
In hass dashboard, Go to settings>devices and entities. Click add device, type in zwave and add that. It will ask you if you want supervised mode , uncheck that and clock ok, then it asks for the ip:port which is > ws://a0d7b954-zwavejs2mqtt:3000
You can find that url in z wave js UI add-on documentation.
For the installation I followed two sets of instuctions - one under the official ZWAVE topic in the HA documentation, and another - which was the same but in a great degree of more detail at
From the official documentation:
How do I switch between the official Z-Wave JS add-on and the Z-Wave JS UI add-on?
Switching does not require renaming your devices.
Disable the Z-Wave integration. Do not remove the Z-Wave integration or you will lose all device and entity naming. This will automatically stop the official Z-Wave JS add-on.
Note your network security keys from the official add-on.
Install and start the Z-Wave JS UI add-on.
Configure the Z-Wave JS UI add-on with the added control panel, including setting the location of your Z-Wave device and the network security keys.
Add the Z-Wave integration again (even though it is still installed), and uncheck the “Use the Z-Wave JS Supervisor add-on”. Enter the correct address for the community add-on in the URL field in the next step.
Uninstall the official Z-Wave JS add-on.
Enable the Z-Wave integration.
I followed both sets (the high level set I copied above and the detailed one from the link above)
I have MQTT turned off as the instructions said it was only required if I had additional addons that wanted to communicate with zwave devices. Is this correct?
There are a lot of screens in the configuration of zwave JS UI. I gather the one you want isn’t the screen shot I provided above. What should I send to show you my configuration?
The Z-Wave integration is part of HA, not ZUI. Settings → Devices & Services → Z-Wave. I would suggest reviewing the guides a second time, it seems you’ve missed that step if there’s nothing in HA.
Did you change any settings in ZUI related to the websocket server, that were not mentioned in the instructions? E.g. websocket server host and port should not be changed.
I appreciate your patience - I was reading the guide you sent and it had a lot of steps that the other documentation didn’t have (and I was trying to figure out if I needed to just start over.- and as you pointed out - this one step was critical. I enabled it and it now shows up. I think this clears up so much! Very much appreciated. I will try and carry on.
Yes - I was using that screen earlier to confirm my codes. What do you think is the simplest way that I could have HA show, that (for example) - user code 1 was used to open the front door and have it then associate a name with code 1 so that I can display (or announce or whatever) that “Ken unlocked the front door”?
Can you provide a little more context on this please? I get errors trying to enter this trigger / event type box (the red lines at the side of the edit box that don’t tell you where the error is). If you have a working example could I ask you to show me all the code in that automation as an example.