Lock Code Manager/Schlage Lock Driver/Database broken when using CodeLength 6

I have Schlage BE469, and it has been working fine for the past couple of months. Today, I tried to add a new user code with LCM - which started a whole slew of issues, and at this time both LCM and/or the Schlage driver is totally messed up, or caused a database corruption. Here is the current status, and yes, the HE has been rebooted a number of times:

  1. I removed LCM app.
  2. I excluded the Lock, and Removed it.
  3. Deleted ALL user codes in the lock
  4. Reset the Lock to factory defaults
  5. Discovered and included the Lock, and Configured it.
  6. setCodeLength to 6 via driver page
  7. Added in LCM
  8. Ran Zwave repair.
  9. At this time I cannot recreate a user code used before this mess -in LCM, adding goes into Pending, and then Failed (cannot add code since it exists in the lock), and neither can I add it via the Lock driver . . . .

Now this last sentence is the crux. As mentioned, I had deleted all codes and reset the lock to factory defaults. Doing a Get Codes command from LCM or Driver will show all Positions to be empty. However, the Logs will show the error when trying to add the code, and the job is stuck in the Lock driver page. Snips shown below.

Get Code show all positions Clear. Shown is position #1:

Error in Logs after trying to add code to position #1:

Job stuck in Driver:
image

I tried adding a NEW (6 digit) code, and it also fails. I then reduced that to 4 digits, and successfully created it in the same position - so clearly a BUG in the handling of >4 digits in the Lock Codes.

Can you add a six digit code directly at the lock?

Yes. I used 6 digit codes on this lock for the past 2.5 years - at first with Wink, and with HE since migrating early November. Worked fine until earlier today. It is possible that the database got corrupted, and will now no longer accept 6 digits. I will try a restore and see if that helps . . .

Unless this is a recent bug, I am using 6 digit codes too.

It must be something that recently changed.

It would be interesting to hear if folks can add/delete a 6-digit code a few times from both LCM and the Lock driver. Of course if there is a bug then that could "break" things . . . :slight_smile:

That was not a good idea. Since I had reset the lock and deleted all codes earlier, after the restore there is now a mismatch between the lock and HE. GetCodes is stuck, and LCM and Driver are both being uncooperative. This does not change my original perception of a possible bug, but now makes further troubleshooting a challenge . . . . :frowning:

@mike.maxwell
"Houston, we have a problem . . . "

Mike, the above is self explanatory. I found a post going back to April, which also reported a similar issue with Set Code Length - see below. I tried that suggestion of manually setting the code length to 6 in the lock, and that resolved my issues. So, as reported in both threads, there seems to be a bug with Set Code Length.

Then, I uncovered another issue in LCM. Here is the simplified use case:

  1. Add new users A & B in LCM
  2. Change B to disabled
  3. Add another new user C
  4. It will not show up under the user list in LCM, but will appear as a "child" under B if you open that up to change the Disable option . . . .

LCM seems that it requires a lot of cleanup work. There is some funky behavior between it and the Status section in the Driver page. In addition, adding/deleting/changing users in LCM now results in numerous warnings/errors being thrown in Logs.

I’m just ramping into HE and have run into similar issues with lock code manager.
I got the lock (kwikset obsidian) set up and working with manual passcodes and basic HE. At this point LCM was throwing an error about unexpected string.
Then removed excluded ST general excluded and factory reset lock.
Rebooted hub
Readded lock.
Lock was verified to have no codes (wouldn’t lock from keypad)
I had removed LCM previously during the lock removal. Readd LCM. Try to store a code. It doesn’t error, but it isn’t in lock either( still no codes and lock won’t lock from keypad) it was a 4 digit code.
Use the direct command to in the device handler to add code. That works, but only for code 1.
LCM now throws the string error . . .

1 Like

If you are on the latest firmware 2.1.9.115 there is a problem with the Generic Z-Wave Driver that I assume is being worked on. You can roll back your firmware and re-pair the lock to see if that clears things up for you until a fix is issued. You described exactly the issue that I encountered, I will link the thread here in a moment.

Here you go: Lock Manager - Error Opening App - #33 by Ranchitat

2 Likes

Interesting! Yes first thing I did out of box for HE was update to current firmware.

I’ll let it chill for a bit until patched . Lots of devices still to migrate. . .

1 Like

It is no big deal to roll back and only takes a couple of minutes if you want to get your codes in. You will need to re-pair the lock but that should go pretty quick. It was worth the effort to me. Then the fix comes when it comes.

Tagging @mike.maxwell to let him know that others (new users) are having the same issue.

FWIW I'm still seeing this problem in version 2.1.9.117 with Lock Code Manager. I've done a slight bit more debugging and can confirm the following:

  • Changing the lock code length via the Device edit page does not work although it reports no error

[dev:422](http://hubitat/logs/past#dev422)2020-03-07 07:42:46.709 pm [info](http://hubitat/device/edit/422)Deadbolt - Kitchen codeLength set to 6

  • Managing codes of 6 digits seems to work fine IF... one changes the lock code length using the programming code + 8-6-6 (standard lock programming instructions)

The driver isn't capable of changing the code length on the lock, this must be done on the lock, and then the value in the driver updated.
There isn't any way to make the initial setup of this easier.

2 Likes

Text sent back to the user to remind them? This is a device-specific driver so that text would always be true.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.