Z-Wave Secure Inclusion

Hi all,

Been looking at the recent posts about Z-Wave secure inclusion, but after installing the latest snapshot of the Z-Wave binding, I still am not able to securely include my door lock.

The device (Yale Real Living Touchscreen Deadbolt) is supported in the database, and as far as I can see, the only issue is that it doesn’t include properly.

Here’s some logs:

2017-09-21 18:52:40.143 [INFO ] [mmandclass.ZWaveSecurityCommandClass] - NODE 3: setupNetworkKey useSchemeZero=false
2017-09-21 18:52:46.629 [INFO ] [mmandclass.ZWaveSecurityCommandClass] - NODE 3: setupNetworkKey useSchemeZero=false
2017-09-21 18:52:46.734 [ERROR] [curityCommandClassWithInitialization] - NODE 3: SECURITY_ERROR Invalid state! Secure inclusion has not completed and we are not in inclusion mode. Aborting
2017-09-21 18:52:48.824 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'zwave:device:1c7ebbb0:node3' to inbox.
==> /var/log/openhab2/events.log <==
2017-09-21 18:52:48.827 [InboxAddedEvent           ] - Discovery Result with UID 'zwave:device:1c7ebbb0:node3' has been added.
==> /var/log/openhab2/openhab.log <==
2017-09-21 18:52:48.947 [INFO ] [ommandclass.ZWaveVersionCommandClass] - NODE 3: Command Class LOCK has version 0!

Can anyone help? @chris?

Security isn’t included in the current snapshot. Please see the first few posts in the following (very long!) thread -:

Thanks, this is what I’ve been reading.

Either I’m missing something, or it’s buried somewhere.

I have been using the .jar file included in that post. Is this not correct?

No - you are running the master version - not the version in the referenced post. Maybe there’s two versions running, but it’s not the right one that’s running.

This in what I downloaded: http://www.cd-jackson.com/downloads/openhab2/org.openhab.binding.zwave-2.1.0-SNAPSHOT.jar

Can you point me in the right direction?

That’s correct, but it’s not what you are actually running. As I mentioned above, maybe you’ve got the two versions loaded - you need to make sure that it is this version that’s actually running - check the Karaf console to see what’s happening.

Hm, okay. Here are my steps:

  • Removed everything from /addons folder

  • Uninstalled ZWave binding on PaperUI

  • Placed .jar in /addons

  • Restarted OpenHab

  • Installed ZWave Binding on PaperUI

  • Ran feature:install openhab-transport-serial

  • Checked Karaf, and got the following output:

198 | Active   |  80 |     | ZWave Binding

Still the same… :confused:

What you’re doing looks fine, however, in the log I see the following line -:

This class (SecurityCommandClasWithInitialisation) doesn’t exist in the development version - it’s only in the master, so I can tell from this that what is actually running isn’t correct. Sorry - not sure why that is :frowning: .

Hmm, I’ve weirdly now had another package appear when searching in Karaf.

198 | Active    |  80 |     | ZWave Binding
199 | Installed |  80 | 2.1.0                  | ZWave Binding

It looks like it reinstalled the original somehow, but either way, it’s definitely saying the development version is active. Really odd.

I believe when you are using the snapshot version, you don’t install from paper UI. You just put it in the /addons folder and it works when you restart openhab.

The version isn’t relevant here. For all versions, you need to put the JAR into the addons folder and then install the serial feature as mentioned in the other thread. If you use PaperUI to install, then you will only get the snapshot version (or the release version - depending on the runtime).

Just in case someone else noobs as bad as me I wanted to explain what I needed to know to get my Danalock v2 to work with Openhab2.


  1. get the right zwave binding
  2. set inclusion mode to High on the controller
  3. do the inclusion with the controller still in the host(from habmin)

First you need the zwave.snapshot descibed in this post. Uninstall the zwave addon you probably have installed through paperui and just drop the .jar file into /addons and restart openhab. After you have done that go into Habmin, install it under addons from paperui if needed, and go to your z-wave controller(under things). There you must click on options- show advanced settings, then go to z-wave nettwork settings and set the Inclusion mode to High(down from network wide). When this is done you can factory reset the lock and place it really near the controller(while it`s still plugged in to the host). Then select the plus sign in the top left side of Habmin to start the inclusion mode. When you see ‘Inclusion started’ start the pairing from the lock.

What melted my face was the fact that i did not know that you could do the inclusion part from Habmin… Anyway- hope it helps someone. :slight_smile:

I’ll have to test that. I haven’t had any luck at all with security in the binding. (Although I also can’t seem to ever add anything with a network-wide inclusion, nothing works if its not immediate to the controller.)

Its not the controller causing the issue – I can include a lock from across the house without any issues (it happens in a few seconds) with Z-Way. But OH spends minute upon minute doing whatever its trying to and not succeeding at it.

Noob here. Is there any timeline as to when the Z-Wave binding with baked in security will be part of the bindings proper? It looks like it’s been months people have been having to uninstall stuff and cobble .JAR files, etc. Has this binding been sufficiently vetted to just become the new Z-Wave binding so there are fewer hoops?

I will look to merge this into master in the new year. This is a major breaking change, so everyones ZWave binding will stop working when this merge is done so it’s not something to be done too lightly :wink:

Hi Chris,

Thanks for the response. I’m also having trouble with the new Outdoor Smart Switch with the ZWave Plus. I’m a coder. I can help. Just point me in the right direction. I’m sure it’s a matter of updating some database.

With respect to the breaking change, could you introduce it as a new Z-wave binding - preserving the legacy binding for those who need it, and making the new binding available as the latest/greatest?


Hi Chris,

Wondering if this is imminent… Is it possible to declare it as a new Z-Wave binding (Z-Wave Secure, for example)? That way, people can select the new binding if they need it. Then, deprecate the original binding so people are forewarned it’s on its way out - but at least that way, there are no breaking changes.

Maybe that’s too simplistic, but that’s an idea anyway.

Reasonably imminent - probably a couple of weeks while I try and iron out some issues…

It’s not really very easy as it’s all in the same repository, but it’s currently possible to download this from the Marketplace so I guess that does the same thing?

There will now be about 6 months before the next release - we can’t avoid the breaking changes, but getting this merged well in advance of the next release gives people the best possible chance to update.

Which version do we need to be running to have secure inclusion?