SmartThings Community

Kwikset Lock

(Chris Pohlad Thomas) #1

Can anyone explain or point me to an explanation of the parameters for interacting through SharpTools for something like setcode? I see three parameters

(jkp) #2

tagging @joshua_lyon

1 Like
(Joshua Lyon (SharpTools.io Dashboard)) #3

Thanks for the tag @jkp

SharpTools exposes whatever commands are made available by the device. In most cases, these commands follow the capability definitions created by SmartThings and you can find details in the official capabilities documentation or by searching this community.

For example, you can find details on the lockCodes capability in this thread:

And if it’s a community developed device handler, your best resource is usually in the original thread that the DTH was posted in or with the developer of that DTH.

1 Like
(Chris Pohlad Thomas) #4

Follow on question. I wanted to be able to set codes from Sharptools. I go to set the parameters and choose as an example

  • Parameter 1 - 4 (next available id)
  • Parameter 2 - Test Code
  • Parameter 3 - 0000

It says Success, but the code is not generated.

(Joshua Lyon (SharpTools.io Dashboard)) #5

That’s really more of a question for the specific device handler and how it works. It looks like you have the second and third parameter backwards in your example though. Reading their spec, the first parameter is the code ID, the second is the code, and the third is the code name.

Also make sure the default data types are right. The first is a number, and the second and third are strings.

If that doesn’t help, I would start by checking the attributes mentioned in the other thread… as well as watching the SmartThings IDE live logs when you send the command.

Reading through the other thread, it sounds like there are various attributes that would be helpful to check including lockCodes, codeChanged, and codeLength.

(Chris Pohlad Thomas) #6

Thanks for that information @joshua_lyon. The issue when I look in SharpTools is it asks for the parameters for it in the following order and type:

  • Parameter 1 - AZ
  • Paramenter 2 - AZ
  • Parameter 3 - 09

I tried all different kind of iterations to make it work with no luck :frowning:

(Joshua Lyon (SharpTools.io Dashboard)) #7

SharpTools determines the variable type based on what the device handler reports.

In the case that the reported variable types appear to be wrong, you could override the parameters and set them as you desire. To do this in SharpTools, open the menu (... in the top right corner) and check the box for ‘Override Parameters’… then you’ll have access to change the parameter types by tapping on them and you can add/delete parameters.

Per the specification, it would be:

  1. [09]: 4
  2. [AZ]: 0000
  3. [AZ]: My Cool Code

And that’s assuming that the device driver is actually following the specification!

(Joshua Lyon (SharpTools.io Dashboard)) #8

And for reference, here’s the code from the SmartThings GitHub repository for the ‘Z-wave Lock’ device handler - specifically a link to the setCode definition for that handler:

That’s assuming your Kwikset Lock is using this handler, but you can verify in the SmartThings IDE. :smiley:

(Chris Pohlad Thomas) #9

So, I did not add a specific DTH, so I am guessing it is using the default

(Chris Pohlad Thomas) #10

Is it possible to use variables for the code and for the name? I’d love to create a profile that creates a code with whatever I enter along with the name and the expiration time.

(Joshua Lyon (SharpTools.io Dashboard)) #11

If you’re referring to Tasker variables when using the SharpTools Tasker plugins, yes.

Just tap the tag icon in the action bar when you are configuring the ‘A Thing’ plugin and you can use Tasker variables as the values. (eg. %myvariable format)