Schlage z-wave door lock

I recently upgraded from C7 to C8. Everything went well with the exception of a z-wave Schlage Door Lock. Lock Code Manager fails when re-entering the codes and when using code to unlock the status of the lock doesn't change. The status will change manually. The following is an error I get in the logs:

dev:712023-05-01 06:29:55.939 PMerrorjava.lang.IllegalArgumentException: Text must not be null or empty on line 522 (method parse)

Any ideas? Thanks in advance.

Just to add to this. I had no problems with the lock on Hubitat C7. The codes disappeared with the update to C8 hub. I can unlock and lock the lock via habitat. With all codes clear, I cannot add codes with device settings or Lock Code Manager and when added via lock, the status will not change when using the codes.

Did you migrate the hub over, or remove it from the C7 and add it to the C8? I migrated a older Schlage lock from a C5 to the C8 and it did not have any issues. I bought the C8 in order to use one hub instead of two in my house. The Schlage lock was one of the reason I had to use two hubs. I could not put a hub in a central location, I have one on each end of the house. It was just not stable with the hub on the opposite end of the house so I added a second hub and used hub mesh.

When I moved my Schlage lock from the other hub, a C7, to my C8 it did pair, the first time I tried it, but was unresponsive and would drop in and out. I removed the lock and tried again and could not get it to a pair a second time. I moved the C8 hub next to the lock and paired and after moving the hub back it has been working fine. When you pair the Schlage lock you need to get the hub as close as possible, right at it if you can.

The error you see may be due to a bad connection with the lock. You can also try removing power from the lock, disconnect the batteries, for a minute or so and then reconnect.

I migrated from C-7 to C-8 (effortlessly, almost entirely Z-Wave Plus, no non-plus, only 2 innr Zigbee plugs), and my 2 BE469ZP locks are working fine. userMap in Lock Code manager shows all users.

Now, I do occasionally get the line 522 error on (Edit:) built-in Schlage lock driver after migration to C-8 (never saw it on C-7). If I open Lock Code Manager, it reports unable to decode lock codes, and the log no longer reports whose code did the unlocking, but I treat it as innocuous, doesn’t seem to affect operation.

I agree that there seems to be an issue at the interface of the Schlage driver and Lock Code Manager on the C-8.

Because I don’t have the groovy code to Lock Manager or the Schlage internal driver, it’s difficult to proceed further, so I just ignore it.

Admittedly, my use of the Schlage lock devices is simple, just to see lock status when I am out of town, no rules involving locks, and dashboard tile still works to lock and unlock reliably.

Tagging @mike.maxwell and @bcopeland

FWIW, this error seems to be unique to Schlage locks (built-in driver) and LCM. I have not seen it with Yale locks (built-in driver) and LCM.

1 Like

Were the lock codes on the c7 encrypted?

1 Like

Seems so, the migrated lock devices on the C-8 have the preference slider for encrypted codes turned on.

It it as simple as deleting all users and codes, resetting the locks, repairing, and letting LCM Re-add the users and codes? Or is there a simpler way, such as deleting codes on the lock, deleting users on LCM, and Re-adding the users and codes with LCM? That would be rather simple and straightforward.

If you just turn off lock code encryption does the error go away?

I understand what you are asking, but, to me, it seems that LCM needs to know the encryption decision when the users/codes are entered so it can save the encrypted codes. If I turn the preference off, and LCM has encrypted codes saved internally, how is LCM to know the codes it has previously saved as encrypted?

My understanding of LCM is it doesn't store the codes, it simply reads from or passes them onto the lock and the lock itself does the encryption... I use LCM but not encryption

1 Like

A code database (encrypted or otherwise) must be stored on the hub, and associated with each lock device. I can't see how LCM would work otherwise to coordinate codes between multiple locks.

1 Like

disable encryption on the lock then click the configure command, it should then re-read the codes off of the lock.
you can then re-enable encryption.


My mistake then

Actually @rlithgow1 is correct, LCM doesn't store lock codes unless there are scheduled events.
Normally nothing is stored, it reads all the codes from all the locks each time it loads.


I take back my being wrong then.... :rofl:


Simple, thanks. I will give that a try.

1 Like

Um, I don’t think that works. Codes are only in slots 1, 2, and 3.

I will delete the codes and users, then re-add on both locks using LCM. It’s only 3 codes/users, shouldn’t take long.

I migrated from C7 to C8 with a backup. C8 can see the Status when manually locked but not with locking/ unlocking electronically, using codes, or pressing Schlage symbol to lock. It can be controlled with Hubitat. After reading on, I disabled encryption, at lock deleted all codes, and used LCM to send codes. The job failed. Haven't given up. Still trying different ideas...

OK. A mistake on my part for the disabling the encryption before putting in codes. When I disabled the encryption, I did not save and then hit configure. After the first try without saving I noticed the encryption was still there. With encryption disabled codes were added to lock using LMC with no issues. Status of lock is updates as normal. Turning off the encryption was the fix! Thanks to all for the help! Couldn't have fixed it without the help.

Well, only way I was able to fix it was to delete the 3 users and codes, re-add the 3 users and codes, configure, enable encryption for both locks.

Thanks, Mike, fore providing the clues for fix. I will say, LCM is one of the more frustrating pieces of software I have ever used.