Brainstorm ways to simplify Z-wave device setup process

Please take a look here -:

The ESH framework did.

When I first wrote the ZWave binding the ONLY way to define things was in the XML files. There was no ability to have anything defined directly in the binding, or externally other than through the XML thing definition files. Since then features have been added to ESH to allow dynamic channels to be defined by the binding - this is what some other bindings now use, and it’s what I do in the ZigBee binding.

The plan is to move this into ZWave as well, but we have over 400 devices now in use in ZWave and migrating to a completely new system of defining channels etc without breaking things will be a bit of a challenge. I’ve already coded up some command classes to use this system, but to get all command classes done will again take some time.

The other thing I’ve not yet worked out is how to handle things where we define a channel in the database. Quite often devices are not compliant to the ZWave standards (despite being approved!!!). In this case we have to work around their problems and this is handled with flags in the database. Somehow we need to merge the database into the dynamic definitions - maybe not too hard, but it will need some thought yet.

As @sihui said - it’s not that hard to add devices to the database and I try and get things merged across in a day or two. For now, this is the way to work.