Control Z-Wave deadbolt lock from Monoprice?

Hi folks,

As mentioned in another topic, I’m an HA noob, so any patience is appreciated. I’m very techy, just not up to speed on this yet.

I have a Z-Wave deadbolt from Monoprice. Installed. Works fine, but the instructions for the lock, which are minimal to say the least, say that the Z-Wave Interface Controller must be used to program users and codes for the lock. The Android ST app sees the lock just fine, and locks and unlocks it without a hitch, but is there a way to exercise more control, like programming codes into the lock?

Big thanks in advance!


My understanding is that programming users and codes isn’t going to happen anytime soon.

However, I am pleased to hear that you were able to get it to lock and unlock fine! I purchased one to play around with and couldn’t get it to do that, so I returned it. Maybe I will have to revisit that. Good luck!

Big thanks for the reply!

There is a lock code programming smartapp in the IDE under Smartthings labs. Haven’t tried it. Let us know if it works.

Yes, in the IDE there is a Change Lock Code app. It works with my Schlage lock very well. I am working to modify it to support temporary codes, or codes that work only at certain times.

Basically go to the IDE, create a test SmartApp, and then on the left hand side of the page, you should see a pull down that allows you to browse the various smartapps. Have fun :smile:

1 Like

Thx, guys. Headed there now!

No luck here, guys. Still unable to create, edit, or delete a user code on the Monoprice Z-Wave deadbolt. I’ve tried the app in the labs section, as well as a similar one in the safety and security section.

@ChopOMatic when you try using the app, have the smartthings log up. what does it report for the application and for the lock commands?

There’s what I get. No response from the lock and the code is not set.

Have you updated the lock with the Device that works with the change lock code here? <LINK> You will need to change your device type to make the code that you are using to work.

Were you able to get the code set for the deadbolt? Also have you had any trouble with the monoprice lock? Is it worth considering the lock from MP or one that is from a different manufacturer? I am looking for one that looks decent but is most of all secure. I don’t need anything specific, it could be the door handle or the deadbolt type lock.

Let me know what you all think. Monoprice lock does look like it would work as long as ST supports it

Yes, now working. The device type is the Yale one created by yracine:

The SmartApp that works is the one from bigpunk6.

Would I buy another one? No. I’m glad it’s working but if I were making a choice today, I’d definitely choose the lever lock if that would physically work in my situation. I’ve had several (stand-alone) digital Kwikset and Schlage lever locks in the past and loved them. The mechanical action on these locks is essentially instantaneous. Not so with any of the deadbolt types since they have to mechanically extend or retract the bolt, as opposed to flipping a tiny mechanical part inside like the lever locks do.

I don’t know how long the Yale/Kwikset/Schlage deadbolts take to extend/retract, but the Monoprice takes about three seconds. Doesn’t sound like much, but it’s an irritant.

Also, even though I can at least enter and delete codes with the Monoprice, I still have no access to the tracking info on who operated the lock and when, etc. I suspect that info is much easier to come by with the mainstream manufacturers.

@ChopOMatic, I have tried using this device type from yracine, but I still get no battery indicator, no code (they both display “–”), and if I try to tap configure it doesn’t do anything, and if I tap refresh it says an unexpected error occurred. What am I missing? I have created the device type and set the lock to the device type? Thanks!

Unfortunately I cannot help you here as I do not have that device. But, if you can post each step you took, and the full error I am sure that someone here can assist.

I have gone into device types, created a new device type using the code from:

Then went into my devices and changed the device type to use this. As for the full error, where am I able to get a full log of it? I am not seeing anything in the console log or event logs…

Fox, I’m not getting any of that either. I was just thrilled to be able to set user codes. SIGH.

Do you guys have information from the Lock such as the Z-Wave codes that it utilizes?

These :smile:

The full manual:

@ChopOMatic how did you set your user codes tho? The “Configure” button doesn’t do anything for me?

Fox, once you have the lock set to use yracine’s Device Type, create a SmartApp. Use the code I’ve pasted below as the code for your SmartApp. Save your SmartApp, then do a “For Me” publish.

With that done, you’ll see a right sidebar from which you can SET LOCATION. Do that, obviously setting your location to your house, whatever it’s named. Now you’ll see fields below into which you can enter a user number for the lock, and a code for that user. Enter those.

Now you should see a button that either says INSTALL or UPDATE. Click it. After a few seconds, the sidebar will change and show you a button that says TRIGGER NOW. Click that. A few seconds later, you should hear your lock beep, indicating acceptance of the code.


  • Enable User Codes
  • Copyright 2014 Nick Skeba
  • Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except
  • in compliance with the License. You may obtain a copy of the License at:
  • Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
  • on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
  • for the specific language governing permissions and limitations under the License.

name: “Enable User Codes”,
namespace: “”,
author: “Nick Skeba”,
description: “User Codes”,
category: “My Apps”,
iconUrl: “”,
iconX2Url: “


  • Change Lock Codes
  • Author: bigpunk6

preferences {
section(“What Lock”) {
input “lock1”,“capability.lock”, title: “Lock”
section(“User”) {
input “user1”, “decimal”, title: "User (From 1 to 30) "
input “code1”, “decimal”, title: "Code (4 to 8 digits)"
input “delete1”, “enum”, title: “Delete User”, required: false, metadata: [values: [“Yes”,“No”]]

def installed()
subscribe(app, appTouch)
subscribe(lock1, “usercode”, usercodeget)

def updated()
subscribe(app, appTouch)
subscribe(lock1, “usercode”, usercodeget)

def appTouch(evt) {
log.debug "Current Code for user $user1: $lock1.currentUsercode"
log.debug "user: $user1, code: $code1"
def idstatus1 = 1
if (delete1 == “Yes”) {
idstatus1 = 0
} else {
idstatus1 = 1
lock1.usercodechange(user1, code1, idstatus1)

def usercodeget(evt){
log.debug “Current Code for user $user1: $lock1.currentUsercode”