[Depricated] Lock Code Manager

I have the SmartCode™ 916 Touchscreen Electronic Deadbolt with HomeConnect™ technology! and the battery status is still missing after 24 hours! I’m wondering if those who have a battery display are using a different Kwikset model or a different manufacturer?

#WarningRookyIssues
Well this was my first attempt at a custom device and/or app. I have 2 Schlage BE469 Camelot locks.
I installed the app and driver, then went in and changed the locks device type from the standard Z-wave lock to the new Z-wave reporting lock. Probably something I did wrong, but when I opened the app for the first time I set it to 6 codes and entered the 6 codes that we currently have in slots 1-6 . First poll it came back that saving codes failed. Then it added 2 of them and failed on the other four. All six codes are still working on the touchpad ,so I am not too concerned. Battery is showing 96%, which seems high since I know those batteries are about 6 months old

I did notice however that my smartlighting rule to turn on the hall lights on/off with the unlocking/locking of the door stopped working. It was working fine before I added this app and changed the device type.

Looking at the logs it is polling the lock every 2 minutes, since I installed it last night. " User lock manager User lock manager sent updateCodes command to 13 front "

Can you PM me your logs in the IDE for what the app is outputting? It should not do this. The maximum number of attempts should be 10 before it disables itself.

Constant polling happens when there is a conflict… say you have code 5290 programmed in slot 7, but you’re now trying to program 5290 into slot 6… the app will not know that there is this code in slot 7 and will attempt to set slot 6 a total of 10 times before disabling it and giving up.

Seems like the command to give up has failed and you’re in an infinite loop. Not ideal.

Which device type, specifically, did you use? Erik’s, mine, or something else? (Erik, does yours support Schlage locks?)

That code conflict is more/less what I was thinking. Since when I tried each code in the lock ,I notifications that code 9, code 11 etc unlocked the door. I figured I would just do a master reset delete all codes on the lock. Then see if the app could put them all back in. Or else I could try each code at the lock, see what user # I get a notification for . Then put that code in that slot. Be better to just have them in slots 1-6 though.

I used Erik’s linked a few posts up in this thread

I’m unaware of which locks the device driver supports. It should be whatever Z-Wave locks are supported by the original driver, as I don’t change anything compatability-wise.

@RLDreams That being said, if you have the scalage locks, you might want to look into @garyd9’s device driver! It includes the hook required for this app, and will offer better support for that particular line of locks than the default device driver that I use.

LINK: https://github.com/garyd9/smartthings/blob/master/Z-Wave%20Schlage%20Touchscreen%20Lock.groovy

.
.
.

PSSSST: I’m hoping that on Wednesday, I can do some work to the app that makes the need for a custom device type a thing of the past! (as so far as Lock Code Manager goes)

3 Likes

My Kwikset 910 models took a few days to finally report battery status. I’ve seen other reports of this.

Wiah I was as lucky, the Kwikset 916 has not reported battery status in 3 days of activation! I suspect that when it is dead, I will get a V2 message that the lock cannot communicate!

Well, it seems to be hit and miss. I just checked my (3) 910 locks…and one still hasn’t reported battery status in 3 weeks, and it’s the newest one. I may have to reset it.

@miketx How are you “resetting” it?

Pull the battery out and start over. I haven’t done it yet, but had to with another one when i was installed it. You can also force it to de-enroll (that’s the wrong word…) from the Zwave network. There is a utility in Smartthings. Then you reconnect and set it up again.

Ok @miketx, I will give the Kwikset Lock Reset a try -> “remove the battery, count to 10 and replace”.

I have to say, I don’t have high expectations of this working, since essentially a reset was what was done for V2 inclusion into the ST network.

But if this magically works, that will be the 8th wonder of the world of V2 upgrades…

I hate having to remove the three set screws each time I gain access to the battery…

This is awesome! Previous to the V2 hub, I was using a 2Gig Go Control! panel to manage multiple users codes on the lock. I was able to add the 2Gig as the secondary controller and add the lock to the 2Gig, which SmartThings saw.

With V2, adding the 2Gig is now a different config and I can’t add devices to it. Enter Lock Code Manager.

Works fantastically, no more 2Gig panel! I’ve got a Kwikset 910 configured with the Z-Wave Reporting device type. Here’s my question…

I believe I had read somewhere (possibly BigPunk6’s code) that had recommended to use the first two codes manually entered on the lock as sort of a failsafe, then use the SmartApp to add additional codes. Is this something you recommend? In playing with the SmartApp, I can’t quite figure out how to kill a user / delete a code. I configured LCM to have 6 users and I didn’t configure 1 and 2.

Here’s what I did:

I added 2 manually entered codes on the lock:
Slot 1 - 1111
Slot 2 - 2222

Then used Lock Code Manager to add 4 family members:
Slot 3 - Dad - 3333
Slot 4 - Wife - 4444
Slot 5 - Kid1 - 5555
Slot 6 - Kid2 - 6666

Later, I decided to kill the manually entered 1 and 2 after LCM gave errors about setting slot 1 and 2. Trying to be smart, I set all the family values to a new random code so they wouldn’t be in the lock. Next, changed LCM from 6 users to 4.

Then I just added everyone back. Kid2 still comes up as Slot 6 however, so I’m assuming the overwrite didn’t work.

Is there a way to use LCM to kill all codes on the lock and start from scratch? I assume that if my V2 hub dies, Internet goes down, etc… that the codes are still on the lock. The only way the lock doesn’t work is if the batteries die, correct?

It’s been awhile since I had tried to use ST to manage the lock codes, it was never anywhere near the control the 2Gig panel had. LCM is right there, thanks so much!

Ah…V2 hub I assume? I have a V1. And 2 of my 3 910 locks have no set screws for the cover (no place for them either)…I think it’s a newer version thing.

Good questions–

##Local code on slot 1 and 2?
Through my own experience, I don’t see any merit to the ‘two local codes’ theory, nor have I ever seen any documentation to go along with it. You can program your codes at the physical lock or through a zwave command, the lock stores it in the same location regardless. As far as I can tell, there’s no separation.

##Is there a way to use LCM to kill all codes on the lock and start from scratch?
Yes, although it’s not super fun to do. Set number of users to 30, then click into each one to initialize it’s values. Leave all users in a disabled state and click done. Wait 10-15 Minutes and all codes should be deleted from memory!

After doing this proceedure, set the number of users back to what you plan on actually using (8?) and then program in the codes that you’re going to use.

##LCM gave errors about setting slot 1 and 2…Why?
It’s possible the codes you were attempting to set were already present in other slots. When this happens, the lock rejects the code and you’ll get errors from LCM. Make sure the codes are unique. You happen to be using the same model lock as I am, and as you know, there are only 5 unique keys (plus the function key). Make sure to delete the conflicting code first, then set the code to the new slot… if you’re planning on moving a code.

Codes MUST be Unique:
Even if your lock has different buttons for each number, it treats it as if there are only 5 unique digits on programming.

[1,2] [3,4] [5,6] [7,8] [9,0]

So, the codes 24680 and 13579 are the same as far as validation goes. Only one of these codes will be programmed into the lock on a first-come first-served bases. If you have a 10 key lock, the actual keys will still need to be used to unlock the door. The bug is only on validation. Note, this is a bug in the firmware on the device itself!!!

##Hub/Power outage. Will my codes still work?
Yes. The lock handles all this logic and function itself. The lock does not phone the controller to ask if the code is correct. It checks it’s own memory and does all the logic itself. You just wouldn’t be able to change the lock’s memory during this time, so if there’s a schedule change during an outage, it won’t occur until the hub/power is restored. You also won’t receive any notifications.

Thanks for the quick reply, I’ll make some changes and report back!

##v3.9 Released -

Includes:

  • New page for reviewing which codes are programmed to your locks.
  • App now attempts to validate your code entry to make sure it will be programmed successfully. If a code conflicts with another code, LCM will disable it automatically.

I just updated to 3.9 on my Schlage 469 lock. PM’d you excerpts from the logs

hi Erik,

I am seeing this error when trying to refresh lock data for my Schlage Camelot.

error java.lang.NullPointerException: Cannot set property 'codes' on null object @ line 1270
error java.lang.NullPointerException: Cannot get property 'codes' on null object @ line 343

thanks…

1 Like