The state of the Z-Wave binding

I’ve implemented part of my “plan”. I’ve created this add-on:

It’s already on the community marketplace, and I’ve successfully tested it on my 4.2.3 installation. I expect it to work down to 4.1.0, which is the case for another add-on I created in the same “build environment”. It’s built against 4.3.0, using Java 17. It also works with the latest 5.1 snapshot.

This means that it should already be possible to use this to provide device descriptions for older OH versions that won’t see any database updates. Files can be downloaded using the database and put in conf/thingtypes and it should just work.

There are two caveats, that I’ve already mentioned above:

  • There is no priority/rank solution, so it will be “random” which version of a specific ThingType is used if the same ThingTypeUID is provided using this add-on and another source (like a binding). I can make a solution for this, but it would require changes in Core (so I’d appreciate hints as to whether this is worth doing/would be merged).
  • The ZWave binding only reads the ThingTypes during startup, and the cache is static, so it doesn’t even help to restart the bundle. The whole JVM must be restarted for changes to register in the ZWave binding, but the changes in OH in general are registered as soon as a file is added/deleted/modified. I can change this, but it would require changes to the ZWave binding (so I’d appreciate hints as to whether this is worth doing/would be merged)

I don’t know if there are other bindings with a similar “challenge”, but if there are; this add-on should be able to serve them as well. The add-on is in no way specific to the ZWave add-on.