This is a very rough port from ST, my main goal was to be able to play with multi-channel associations which is functional. I believe all features are functional actually.
Features:
Scan for most ZWave classes to discover info about devices, including Endpoints, Association Groups, and Parameters
Print to logs the info it finds about the device
Set regular and Multi-Channel Association groups (any group number you need)
Set any parameter value
You will need to refer to your device documents to know which association group number to set!
You may need to press "Save Preferences" when switching to this driver before the scans will work.
Set the group members to the receiving network ID plus : to indicate endpoint other than 0. So this is "2D:1" in my example. Set the command class to Auto or multichannel.
You can then set the Association Groups scan range to whatever groups you set (save again) and scan them using the command (check the logs) to verify the settings took hold.
Once you are done you can run the "Clean Up" command and then switch the driver back to what you normally use.
Device always seemed to stay in sync pending state
I have improved Z-Wave Tweaker to:
Call sync() anytime a Wake Up Notification from the device is received.
Do not try to remove all associations
Instead allow user to explicitly remove associations if needed
Since I'm not very skillfull in Groovy and even though this worked for me as one-off I haven't tested this much I'm keeping code in my fork and not attempting to get it merged back. If anybody confirms that it is indeed working and I can open a pull request against your repo though.