ZWave binding migration to development version

People looking to upgrade their Z-Wave binding will be using the:

  1. OH stable or milestone release, with the release version of the Z-Wave binding
  2. OH stable or milestone release, with the snapshot version of the Z-Wave binding
  3. OH stable or milestone release, with a manually installed development version of the Z-Wave binding
  4. OH snapshot release, with the snapshot version of the Z-Wave binding
  5. OH snapshot release, with a manually installed development version of the Z-Wave binding

Once made available and everyone has upgraded to the snapshot version of the binding, there will be people using the:

  1. OH stable and milestone releases, with a manually installed snapshot version of the Z-Wave binding
  2. OH snapshot release, with a manually installed snapshot version of the Z-Wave binding
  3. OH snapshot release, with the snapshot version of the Z-Wave binding

There are many different configurations and upgrade paths! If the binding is manually installed, the new snapshot binding will run on an OH stable or milestone release. I see two main paths… upgrade to latest OH snapshot, or perform a manual installation. I would expect there will be a number of people not wanting to upgrade OH to a snapshot (or eventual milestone) build, although this is by far the best way to go, IMO. These steps cover the first, except…

Step 1… specify release or testing version of OH. At first I thought you meant the binding.

Step 2 (backup)… should be first!

Step 4 (delete Things)… If the controller is accidentally deleted, it should be recreated with the same ThingID, so that the channels do not change. This can be found in the channel info of an items file, or in a backup Thing.json file. If Things are manually configured in .thing files, they can be moved to another directory and then moved back to pull in the updated Thing definitions.

Step 5 (uninstall Zwave binding) How to do this depends on how it is currently installed. If manually installed, delete jar, then uninstall through Karaf, if it is still shows up with list -s | grep zwave. If installed through a UI or the console (a jar was never dropped into addons), uninstall though a UI or the console.

Step 6 (remove xmls) This is not necessary, and can cause headaches for people who are currently running the manual install of the dev binding, as all of their devices will need to be identified again. I would leave this one out.

Step 7 (Install the Z-Wave binding)… specify through a UI or the console, in case there’s any confusion about dropping jars in addons.

Step 10 (manual wakeups) should be written as optional, unless someone has a device that has a wakeup interval of 0, like a Minimote.

For a manual installation, you could use my script :wink:, but I’ll also update the first post with steps for doing this by hand…

Then delete and rediscover your Z-Wave Things (not controller), or use this rule (I’ll put this into a script too)…

1 Like