[RELEASE] Universal Enhanced Z-Wave Lock Device Handler for Schlage, Yale, Kwikset, IDLock, Popp, Danalock, August Pro, Keywe, Philia, Samsung

I don’t have this particular lock. However, it appears that there is a key. Also, if it’s like my lock (Kwikset 912) , even if the hub is offline, the key pad will still work with local control for your codes, etc.


I just installed one last weekend… think of it as double redundant. If the hub is down for whatever reason, the codes will still work as @lflorack said. If the hub is down and the batteries have died for the keypad, the key still works the outside of the lock.


groovy.lang.MissingMethodException: No signature of method: script_app_metadata_0227f12c_f49b_4d96_84b6_fbeec862bde5.metadata() is applicable for argument types: (script_app_metadata_0227f12c_f49b_4d96_84b6_fbeec862bde5$_run_closure1) values: [script_app_metadata_0227f12c_f49b_4d96_84b6_fbeec862bde5$_run_closure1@1cf16d4d]
Possible solutions: getMetadata(), getState(), setState(java.lang.Object), metaClass(groovy.lang.Closure)

Hi @Brian_Rener,

Your post only has some error code. Are you having problems setting up this DTH? Did you accidentally try to use DTH code for a smartapp? How and when did you get this?

1 Like


I just installed a Kwikset 910 lock and did not install any user codes on the lock itself.

I’ve updated the DTH to your universal one and installed the lock manager application. If I look at the Recently tab within Smartthings, I’m getting alot of activity that doesn’t make sense to me.
It keeps adding and deleting the 2 users I’ve setup within the application. This morning it notified me that user 1 is a duplicate code and to please clear extra codes from your lock. Not sure where user 1 is coming from and as I said earlier I didn’t create any codes on the lock itself.

What should I do to correct these issues?


Hi Angie,

It sounds like you have two (or more) apps connected to your lock which are conflicting with each other. One is adding while the other is deleting. If you click on the SmartApps tab on the device page on your Classic app it will show the apps which are connected and using the lock (for example LUM or RLA). There should only be one app connected to the app. Tap the other apps and uninstall them.

That should solve your add / delete loop you’re seeing in the activity tab.

Thanks Maddie. I do see 2 applications - One I renamed Lock Management for Permanent Users and Lock User Management. I am unable to do anything with the latter (Lock User Management), nothing happens when I click it. Any ideas?

It’s the second one that’s interfering with the first. If you can’t remove it from the ST mobile app it may be a corrupted install. You can remove it from the IDE. Login to the IDE (account.smartthings.com), click on My Locations -> Click on SmartApps next to your location name. This show all the installed SmartApps. You can click on Edit and delete the extra LUM app (tap the - icon to delete apps) which is interfering with you lock.

Thanks Maddie, that worked.
So I should only have one LUM app?

Here’s my scenario



patio right

patio left

2 people will have permanent access to all 3 doors

Several people will have permanent access to the garage

Several people will only have guest access to the garage.

What’s the best way to set this up?


You can set it up any way you like, one LUM instance to control all your locks, garages, doors etc or a separate instance for each device.
The advantage with a single instance is that you can do it all in one place. Once you add a user it can automatically be sent to all the locks (assuming they all are configured to use the same pin length). You can setup different actions for each lock. You can restrict users to specific locks from the users page, create custom user specific actions for each lock and so on. It’s very flexible and about personal preference.

While one app can control multiple locks, the only thing to note is that one lock should not be controlled by more than one app to avoid conflicts like the one you saw above.

Thanks alot Maddie, I was making it way too hard!

Last week my Schlage tiles disappeared (to defaults), so I lost all its specific features. I had to reset the lock and reconstitute all the configurations. This week, the same has happened to my father’s house, with the added frustration that it now relocks automatically, even though it’s not configured that way. He uses a Kwikset 910 (see below).

With my Schlage, I had to exclude, re-attach, and then reconstitute all the smart app configurations. He loves the app, but not with tech issues. Is there any why I can avoid 60 minutes of his complaining while I fix his setup?. lol :joy:

A few folks have reported this happening randomly recently and it’s appears to be happening due to a corruption in the platform backend data where the lock model identification numbers are replaced with 0000 as reported in one of the posts above. The best solution is to exclude and re pair like you’ve done. You can also try to update your DTH to the latest version. We’ve put in a work around which tries to read an alternative source of the lock model information. If the alternative data in the platform isn’t corrupted the tiles will show up again when you tap refresh. If both the sources of data are corrupted you’ll have to exclude and re pair it.

@RBoy before I go about resetting and repairing the lock…I am curious if you know what might be happening

Basically - the Classic app will read the status (locked or unlocked) if I manually lock or unlock, but trying to lock it to unlock it from the app does not do anything. This is new from the last few days. I did replace the batteries (which they just stay at 79% in device screen) and the SmartLock app shows the lock as “unknown” but then goes back to showing its correct status at some point.

  1. I have the most current DTH (4.03.05)
  2. I replaced the batteries
  3. I ran the Z-Wave Repair

When I try to unlock or lock from the app, this is the last log in the device itself:

10:19:10 AM: trace [DTH] Executing unlock() for device Security - Garage Door Lock

Nothing else shows up in the logging after that, until I unlock it manually, and then I get:

effe4bf6-5e8b-436f-a4ec-73afe1ee23ed 10:23:42 AM: info [DTH] parse() - returning result=[[name:lock, value:unlocked, data:[method:manual, lockName:Security - Garage Door Lock], descriptionText:Unlocked manually, isStateChange:true, displayed:true, linkText:Security - Garage Door Lock]]

effe4bf6-5e8b-436f-a4ec-73afe1ee23ed 10:23:42 AM: debug [DTH] zwaveEvent(physicalgraph.zwave.commands.alarmv2.AlarmReport) returning with result = [[name:lock, value:unlocked, data:[method:manual, lockName:Security - Garage Door Lock], descriptionText:Unlocked manually, isStateChange:true, displayed:true, linkText:Security - Garage Door Lock]]

effe4bf6-5e8b-436f-a4ec-73afe1ee23ed 10:23:42 AM: trace [DTH] Executing ‘handleAlarmReportUsingAlarmType’ with cmd = AlarmReport(eventParameter: , numberOfEventParameters: 0, zensorNetSourceNodeId: 0, zwaveAlarmType: 0, alarmLevel: 1, zwaveAlarmStatus: 0, zwaveAlarmEvent: 0, alarmType: 22)

effe4bf6-5e8b-436f-a4ec-73afe1ee23ed 10:23:42 AM: trace [DTH] Executing ‘zwaveEvent(physicalgraph.zwave.commands.alarmv2.AlarmReport)’ with cmd = AlarmReport(eventParameter: , numberOfEventParameters: 0, zensorNetSourceNodeId: 0, zwaveAlarmType: 0, alarmLevel: 1, zwaveAlarmStatus: 0, zwaveAlarmEvent: 0, alarmType: 22)

Nothing shows up in response to the command sent to the lock means either the command never reached the lock or the response never reached the hub.

I generally advise folks to avoid debugging stuff on a weekend as the platform crawls on the weekend causing timeouts, lost commands and makes it more difficult to figure out stuff.

For Z-Wave issues the best solution is to add a repeater within 20ft if the lock:


1 Like

@RBoy ha that’s the one thing I forgot to add - I have an Aeotec Z-Wave repeater about 4 feet from the lock and a Z-Wave outlet right on the other side of the wall, so I think the signal is pretty decent.

I have never, ever, ever had this type of issue since installing the locks a couple of years ago so something is definitely different. And it started happening Wednesday so it wasn’t the weekend. I will see if it works tomorrow and update on this thread.


1 Like

This application appears to have a multitude of functions for locks and I have been debating if it will meet my use case. I am trying to obtain some additional information regarding the capability of this application to control some of the settings of the Schlage Z-Wave Connect Century (BE469).

Can this application allow the disabling and enabling of the Lock and Leave (I.E. One Touch) setting based on user codes entered onto the keypad?

Example: Having a guest code inputted turns on a guest mode for the home and disables lock and leave so that when the guest leaves they have to input the code again (Not simply hit the Schlage button on outside) to lock the door. The code being input again by the guest would turn off guest mode and re-enable lock and leave setting. As a daily user I like the one touch lock settings, but I want that to automatically be disabled if a guest code is entered.

This is device type handler (DTH), i.e. it allows SmartThings to access/control the features of your lock through SmartApps.

Apps like LUM provide many advanced features for lock management and user programming. You can use a SmartApp like CoRE or WebCoRE to issue commands to the DTH to create your own custom scenarios.
In your case you would be issuing the commands enableOneTouchLock and disableOneTouchLock to enable/disable the Schlage lock n leave feature. You can refer to this post for more details on how to use CoRE/WebCoRE to trigger the above commands when a user pin code is detected to unlock the door.

@RBoy - I am still not having any luck getting the lock to actually lock from the app command. I can manually lock it and the status will immediately change in the app, but sending the command does nothing.

I get this:
4:38:20 PM: trace [DTH] Executing lock() for device Security - Garage Door Lock

But then literally nothing after that. The locks also show as unknown in the SmartLocks Smartapp.

I have also tried changing the DTH from yours to the stock local DTH and no change to the outcome.

Can you please help me out? Do I really need to reset both my locks? I have no idea what has changes as it has never done this before.

Iris refugee here. I just got the Rboy stuff going, and really like the ADT intergration so far. Luckily the instructions on the site are easy to understand, as I was super confused on device handlers/smart apps, and so far it seems to be worth the lifetime subscription. I have my kwikset lock arm the ADT system when I lock the door from the outside, and disarm via the keypad on the lock as well, which is perfect. I just can’t seem to figure out how to get the door to unlock, when disarming the ADT system via my phone. I really want it to unlock the door when I disarm it via my phone. It’s especially handy when coming home, with groceries and what not, and just opening the door.

I also really like that I can differentiate between a keypad unlock, and a manual keyed unlock. That way if someone were to break the door, and rotate the tumbler on the lock, it wouldn’t see that in a way to disarm the whole house.

1 Like