Apologies if this is a dupe or related to a dupe. I did quite a lot of Google and forums searches prior to posting here.
My historical setup for OpenHAB + zwave (mainly) has used configuration files since I deployed version 2.0. The exception has historically been Thing definition, since the ZWave add-on seemed to prefer auto-discovery. When I upgraded to 2.4 (snapshots, and then release) to take advantage of Chris’ ZWave Security I had my first full jsonDB reset, did some cleanup, and I have been running that version since. Just recently (with a forcing function of some new devices) I decided to upgrade to 2.5.x.
I decided to take this opportunity to get my Thing definitions (the last GUI hold-over) moved to config files so I could more easily move between deployments–and not have to re-enter all the devices names in the UI each time I decide that openHAB needs a reset.
The other bindings (astro, unifi, ntp, etc.) all behave as I expect, but I am really struggling with one facet of the zwave piece that I hope someone can clue me in on.
I define the Bridge for the controller, and it works fine. All the channels are listed, and the channels correctly map to the items that consume them. For completeness, this is that definition. Key changed to protect the innocent:
Bridge zwave:serial_zstick:controller "ZWave Plus USB Dongle" [ controller_softreset=false, security_networkkey="11 22 33 44 55 66 77 88 99 AA BB B7 32 BC 23 8E", security_inclusionmode=0, controller_sisnode=1, controller_sync=false, port="/dev/ttyACM0", controller_master=true, inclusion_mode=2, controller_wakeupperiod=3600, heal_time=2, controller_exclude=false, controller_inclusiontimeout=30, controller_hardreset=false ]
The parameters were datamined from the 2.4.x jsonDB, and seem to work fine.
My confusion:
If I follow the (admittedly dated) tutorials and configure a node as such:
Thing zwave:ge_ge14291_00_000:controller:node38 "Light_LF_Office_Ceiling" (zwave:serial_zstick:controller) [node_id=38]
it will show up in HABmin (and PaperUI), the channels are listed, but the items do not function. Additionally, there is still an auto-discovered version of that switch (as zwave:device:controller:node38) in the inbox.
If I adjust the Item to attach to the auto-discovered device, the channels work. However, if I use the zwave:device:controller:node38 in the zwave.things file (for example), quite naturally the zwave binding has no idea what the device type is–leaving me unable to use the Thing.
The objective here is to have the configuration file have my names for the Things, and be able to (for example) just move to 2.5.4 or whatever without having to manually re-input the discovered zwave device Things.
Is there something I am missing? Is there a way to use Thing zwave:device:controller:node38 and pass the zwave device UID as an additional parameter?
I know the use of configuration files is a vaguely contentious topic, but given my historical success using them for literally everything else I was a bit frustrated that I could not seem to get the Things to behave.
Again, apologies if this is answered and my search skills failed me.