Generic Z-Wave Lock driver fetching nonexistent codes to no end

I have removed three Yale Assure Z-Wave Plus touchscreen locks from ST and, after several tries, gotten them added to HE. (In case helpful for someone else: I found that removing all user lock codes before adding to HE and then adding the codes back via HE/Z-Wave, rather than manually at the device, helped resolve some issues.) HE assigned each of them the built-in Generic Z-Wave Lock driver, which I have generally found okay for my purposes.

One thing I have noticed in the HE logs, however, is that HE's built-in Generic Z-Wave Lock driver seems to want to fetch a lot of nonexistent lock codes: HE has been trying to fetch 50+ lock codes from one of my locks that has only three user codes, for example, and the driver seems to start fetching more lock codes whenever I try to add/remove a code. The lock seems to respond to a few of these fetch requests (always with "null" codes) and then seems to give up or something, as the driver's "fetch" loop appears to hang and stop (until I try to add/remove a lock code, and then the fetching loop starts again where it left off).

Is this normal behavior? I would think that looping secure requests like this would be not only unnecessary but also very burdensome on the Z-Wave network.

1 Like

The only way to fetch any codes is to go through all the code slots that the lock says that it has.
There is no command that says only send me the codes in use unfortunatly.
And yes it's a huge amount of traffic but it only needs to run through once.

@mike.maxwell, thank you for your time. Would it be possible to defer this expensive operation until/unless the user clicks to โ€œGet Codesโ€? If a user knows, for example, that s/he has added a lock with no preset codes, Iโ€™m not clear why the driver requires trying to fetch up to the maximum number of codes (250, in my case). Or maybe it would be possible for the driver to stop fetching after it receives a response that the code requested is null? Thanks again!

It doesn't work that way, most locks allow you to specify the code position. So you don't have any idea which slots are used.
Also if the driver isn't able to fetch codes during initial setup the lock isn't going to work well in the long run and we are just pushing the issue further down the road...

1 Like

not to self, doing this on 30 freaking locks today. fun stuff. gotta check the logs to make sure it went all the way to 250, yeah two hundred fifty slots. lol