ZWave Secure Inclusion (Non OH Based)

I wanted to post this outside the large/long ZWave Security testing thread that originated this information. The bottom line is ZWave is a complicated animal and it’s difficult for folks worlds apart to troubleshoot and figure out minor issues. @chris has been working incredibly hard and putting a lot of effort into the ZWave Security functionality to allow us a seamless HA system with OH. It seems a few of us have an odd edge case though when you amass a large enough node set. We can securely include with Chris binding originally, but after adding other devices, for some reason it won’t work anymore. So this is an alternative I’m sharing as a last resort. The bottom line is I’m continuing to hope and if we find the solution, help to fix the binding to work flawlessly, but for now I’m leaving this to help others get up and running.

If you’d like to read the full thread this is referenced from, it can be found HERE
If you’d like to read the other option from @nolan_garrett for Windows based users, it can be found HERE

For those curious it looks like this:

  1. Create a local file somewhere that can be mounted into the container which has the contents of a sample options.xml file from OpenZWave Control Panel. A few ways to do this - copy from a local version you download, google is your friend, or enter the docker container first without attaching your device (to spare the startup) and output the contents of the file, and then create a local version.
  • docker run -d --name openzwave openzwave/openzwave-control-panel
  • docker exec -it openzwave bash
  • cat /etc/openzwave/options.xml COPY THIS OUTPUT INTO A NEW FILE LOCALLY
  • exit
  1. Stand up your actual container, attach your actual ZWave Stick, and map the options file to the container. Make sure to uncomment the Security Key section and input your security key from OH2. If you are looking at a bunch of 2 digit/letter combos, you’re going to need to make them look like the options.xml file. So if yours has 1B, you need to make it 0x1B and place the proper commas. Formatting is important here.
  • docker rm openzwave - to remove the container above if you created it, if not skip to the next step
  • docker run -d -p 8008:8008 -v /local/host/location/options.xml:/etc/openzwave/options.xml --device /dev/ttyACM0 --name openzwave openzwave/openzwave-control-panel
  • sub in your device location for /dev/ttyACM0
  • sub in your local host location for the options.xml file
  1. Now you need to let the container startup, then the ZWave startup process will happen. If you have a large network, let it sit for a bit and discover the nodes. Depending on the size it could take a few minutes, it could be 10-15.
  2. Once it seems you have a steady enough state and most the devices show and information is populated, go to the Controller drop down menu, and select to Add Node (Secure). A green little go button will appear and you’ll click this. After doing so a message appears waiting for user action - now invoke the include on the device.
  3. Hopefully at this point, you will get the confirmation, green check, proper blink pattern, etc for a secure inclusion.
  4. Stop the container docker stop openzwave, wait for it stop, then unplug the Stick and plug it back into OH2 device. Now you can start OH up and let it sit for a bit. With any luck, you’ll have a nice fresh securely included device.
1 Like

Domoticz (open source and available for Windows, Mac, Linux, and Arm) also includes OpenZwave… just configure it with the same key used in OH…

Interesting - I thought the Domoticz was a paid app. Or maybe there was a version that was paid? Intersting though, I didn’t realize this was available as an option as well and specifically has an actual Mac version too! Maybe I’ll dig into this one next time. It does seem to have a few steps to get running on Mac, but has the bonus of being portable (for locks inclusion) vs bringing the lock to the stick.