Kwickset 916 smartlock

Hi Paul, locks use zwave security and cannot be included from the stick directly, it will need to be connected to openhab while pairing. There is experimental support for this in OH1 and OH2, but it’s tricky. If you search through the forum you will find some active threads on this. I have not tried OH1, but it does work with OH2’s zwave binding.

@ digitaldan

Thank for getting back to me and I just did some further experimenting. And I just got a successful pairing!!!

But it turns out I actually didn’t need to do anything special. I was able to pair the lock to Aeon Zstick (both that I have) without the Zstick plugged into a PC.

But what I found is that the Z-Stick is not giving any indication of a pairing, But I did see the light go on and off on the lock. And then when plugged back into a PC, Habmin is seeing the lock now!

I haven’t tried to do anything yet, and the Node is still grey in Habmin. But at least I see the Node. I hope to try and do some actual further testing tonight if I can on it.

It is not possible to do the secure inclusion without the stick plugged into the PC, and OH running - it won’t work. You will see that the device is included, but it will not be a secure inclusion, so no secure classes will be available.

Thanks. I’ll try and redo the pairing tonight and see if I can get the Security classes to show up.

This is another example/reason why I really hope one day their is a Wink binding. I paired the lock to that and controlled the door pretty easy. Just prefer the rules and flexibility of OpenHab


Chris. Can you confirm if the controller has to stay in inclusion mode the entire time to get the security classes to show up? Habmin only puts its in inclusion for 30 seconds so unsure if need to keep pressing include each time before it turns off.

I tied again tonight but didnt see the secure mode complete in the logs or the secure classes to show up in habmin. But i did not hard reset the device in not wanting to reprogram codes. Ill will give it all another shot in the next day or so as well.

30 seconds should be fine. There are two stages to inclusion - the inclusion itself which is the same as normal ‘non-secure’ inclusion, and this takes a few seconds only. The secure part is outside of this 30 second time - it all has to happen within a certain time period as specified by the security protocol, but it’s not part of the 30 seconds you’re talking about.

I hope to spend some time looking at the security side of ZWave soon as I’m not sure it’s 100% yet.

Thats great Chris,

As I attempt again this weekend, should I try with the modified Zwave file from here:

or should I use the latest 1.8.2 one?

Also, I was thinking (never a good thing!) and trying to understand how the Zwave pairing and moving between OH1 and OH2 works. In my OH2 testing, I believe you can turn of OH1, move your ZWave Controller over to OH2, and then OH2 Zwave should see everything on the Controller and it should work.

But is that the actual case then with Security Class Zwave Items? If I do get a lock working under OH1. If I move that controller over to OH2, think it will still work? Or will it need some sort of configuration done with OH2 besides the pairing that was already done?

D’oh - sorry - I missed the fact you were using OH1… So, on OH1 you need to use the test version – security isn’t included in the main branch.

It should be - once included, it should be ok so long as you use the same network key in both systems.

So I’m back to experimenting with this KwikSet Lock and get the item to pair to Aeon Gen 5 Stick with OH1 running and pressing include in Habmin.

But I have not (I believe gotten a successful secure pairing yet. I did add the ZWave Network Key to my config file. But can am not seeing either Secure Inclusion complete" or “Secure Inclusion FAILED” so pretty so its not ready yet to try and test.

Can anyone post screen shot of Habmin and what the Security Class should look like there? I see classes showing of

Basic Device Class -> ROUTING_SLAVE
Generic Device Class -> ENTRY_CONTROL
Specific Device Class -> SECURE_KEYPAD_DOOR_LOCK

Should I see more then just those 3 classes?

I also have not done a Hard Reset of the Lock as I do have 3 pin codes assigned. But I can pair the lock to a Wink Hub without Hard Resetting it as well.

These are device classes - not command classes. That’s a different thing. HABmin doesn’t show the command classes.

There are some issues at the moment with the secure inclusion. I found today that it seems to need a delay between the non-secure, and secure parts of the process. This was updated and should be in tomorrows build - I’m not sure it will help, but I’ll look at this more over the next day or two.

It’s always useful to provide a debug log though…

Ok I can provide a debug log later tonight. But i am also using the OH1 modified zwave jar file included on the zwave security wiki link. So should i switch to the official one?

Just want to report back that I just gave the lock a try with OH2 as well. I could pair the lock but not sure how to tell if the Security Classes are there.

This a log from OH2 in trying in out. But I also just saw the 916 deadbolt model is not listed in the database, only the 914. They could work the same, but the device is also still ‘unknown’ in habmin. But battery devices always take longer I think to show things?

I can email you the OH2 log if you would like.

There is no security in the official OH1 binding.

No - locks normally support FLiRS - they don’t sleep, so they should work the same as a mains device.

Yes please. Also, if there’s an XML please also provide that.


Just circling back to learn if the log i sent was a help or not. I should have some free time over the next few days if there is anything you would like me to test further.

I do not remember seeing an xml file for the lock created in OH2 thinking its not in the database yet. But it may have created a node file in OH1 when i tried there. Ill have rwpair to that stick again to confirm though.

Thanks again for your great help with everything.

Sorry Paul - I’ve not looked at it yet. I’ve found an issue that is causing the problem - or at least it’s currently stopping the secure stuff working and I need to solve this first. The issue is associated with the way the binding performs its transaction handling and this is something that doesn’t work well (in either the OH1 or OH2 binding) and a first stage of updating this is already being test by myself and @xsnrg.

Give me a few more days, or a week or so and I’ll hopefully have some more information…

Hey Chris. As things settle a litte bit at home this week thought i would check in and see if wanted any testing done again with this lock, either with OH1 or OH2. I haven’t done any updates in awhile so just if want me to try just let meme know which one to try out.


I wanted to circle back from about a month ago as I wanted to give this another go around in getting my KwikSet 916 Zwave Smart lock incorporated into Open Hab 2.

Just a note, that I can pair and control the lock with a Wink Hub. Thus, I know it works. And I can pair and unpair to the Wink Hub without any issues.

In trying with OH2, I installed the current Zwave Binding via PaperUI (2.0 snapshot). After adding my ZStick Gen5 controller. Testing on a Windows10 Machine and its on Com4. I then placed in inclusion mode in attempting to add the lock.

I’m not really certain where to go from here. It ‘appears’ to have paired, but it shows simple as Node2 in Habmin, and I did not see any xml file created. I think this device may need to be added to the database?

Also, although it shows as Node2 in Habmin, when I do visit the ClassicUI, I do not see a Node2 item showing, although the ClassicUI does show the ZStick Controller.

If it helps, below is log info from when attempting to pair it OH2.

2016-07-30 11:51:47.990 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'zwave:device:1563c74f409:node2' to inbox.
2016-07-30 11:51:47.994 [WARN ] [rialmessage.IdentifyNodeMessageClass] - Got IdentifyNodeMessage without request, ignoring. Last message was SendData.
2016-07-30 11:51:52.997 [ERROR] [ocol.ZWaveController$ZWaveSendThread] - NODE 2: Timeout while sending message. Requeueing - 2 attempts left!
2016-07-30 11:51:52.997 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Got an error while sending data. Resending message.
2016-07-30 11:51:53.028 [INFO ] [mmandclass.ZWaveSecurityCommandClass] - NODE 2: setupNetworkKey useSchemeZero=true
2016-07-30 11:51:53.028 [INFO ] [mmandclass.ZWaveSecurityCommandClass] - NODE 2: Using Scheme0 Network Key for Key Exchange since we are in inclusion mode.
2016-07-30 11:51:53.140 [INFO ] [curityCommandClassWithInitialization] - NODE 2: Setting Network Key to real key after SECURITY_NETWORK_KEY_SET
2016-07-30 11:51:53.140 [INFO ] [mmandclass.ZWaveSecurityCommandClass] - NODE 2: setupNetworkKey useSchemeZero=false
2016-07-30 11:51:53.222 [ERROR] [] - NODE 2: SECURITY_ERROR Device message contained nonce that is unknown to us, id=58.
2016-07-30 11:51:53.270 [WARN ] [mmandclass.ZWaveSecurityCommandClass] - NODE 2: payloadQueue was empty, returning!
2016-07-30 11:51:53.270 [ERROR] [ssage.ApplicationCommandMessageClass] - NODE 2: Unknown command class 0xffffff98
2016-07-30 11:51:58.224 [ERROR] [ocol.ZWaveController$ZWaveSendThread] - NODE 2: Timeout while sending message. Requeueing - 2 attempts left!
2016-07-30 11:51:58.224 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Got an error while sending data. Resending message.
2016-07-30 11:52:03.225 [ERROR] [ocol.ZWaveController$ZWaveSendThread] - NODE 2: Timeout while sending message. Requeueing - 1 attempts left!
2016-07-30 11:52:03.225 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Got an error while sending data. Resending message.
2016-07-30 11:52:08.226 [ERROR] [ocol.ZWaveController$ZWaveSendThread] - NODE 2: Timeout while sending message. Requeueing - 0 attempts left!
2016-07-30 11:52:08.226 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Got an error while sending data. Resending message.
2016-07-30 11:52:13.228 [WARN ] [ocol.ZWaveController$ZWaveSendThread] - NODE 2: Too many retries. Discarding message: Message: class=SendData[0x13], type=Request[0x00], priority=Immediate, dest=2, callback=11, payload=02 0A 98 80 3A 2A 8F 03 70 77 FC C2 
2016-07-30 11:52:15.539 [ERROR] [ve.internal.protocol.ZWaveController] - Neither inclusion nor exclusion was active!
2016-07-30 11:53:28.841 [WARN ] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Initialising Thing Node...

Well, on a restart, and after removing the node and then rediscovering the item, the lock is discovered at as a 914TRL model.

But It appears it may not have paired initially in secure mode? And I think were still waiting for that in the Zwave Binding and OH2?

I will try and unpair the device and start over. But if anyone does have it working, would love to hear your success story and and steps on how you did it.

what issue is that?
Are you using the refactored Z-Wave binding on OH2 as Chris replied to you here?

Please can you provide more information about the problem you are having?