Generic Z-wave lock driver code

Is there a place I can see the code for the Generic Z-Wave lock driver so that I can work to add additional features for the specific locks I use?

Hubitat drivers are not open-source (though they have published a few examples in their public GitHub repo). You will have to write a driver yourself or find an existing open-source driver to start with. Alternatively, there might be a way to do what you want already if you explain the scenario.

2 Likes

How can I know how to tie into the lock code manager if that isn't shown in the sample? It isn't clear if (https://github.com/hubitat/HubitatPublic/blob/master/examples/drivers/virtualLock.groovy) handles the builtin lock code manager for Hubitat, additionally it has no zwave structure since it is a virtual lock.

If your lock driver supports setCode() and deleteCode(), then Lock Code Manager can manage codes for a lock that uses your driver.

4 Likes

It doesn't--Lock Code Manager is an app (automation) that works with devices. It does not create additional virtual or "proxy" devices--it uses the actual devices directly and just adds/removes codes, as specified in the app. To some extent, it's nothing you couldn't do on your own directly from the device page (aside from the minimal automation abilities it has--and the convenience if you have multiple locks).

As mentioned above, any lock whose driver implements the required commands (technically the LockCodes capability: https://docs.hubitat.com/index.php?title=Driver_Capability_List#LockCodes) will work with Lock Code Manager. Any lock that has this real-world ability probably also has this in its Hubitat driver, particularly if the device is natively supported by Hubitat.

3 Likes

I was looking for the same thing as I wanted to add Schlage BE469ZP zwave parameter configuration to the basic lock driver. Anybody know of a good relatively "feature complete" third party / public example of a Z-wave lock driver that supports the code management and lock features so it can be used as a starting point?