Good question - I don’t think it needs to be the primary controller, but I’m not 100% sure but I think any controller can set an association in zwave.
However, the thing to remember with battery devices is that it will take at least 1 wakeup period to actually set the associations. HABmin (currently) doesn’t retain the value while this is happening, so it does indicate incorrectly…. Let me try and explain…. In HABmin, you set a node as a “member” of a group. HABmin then sends the command to the zwave stick - for a battery device, this actually goes into a queue in the binding until the node sends a wakeup. When the wakeup is received, HABmin will send the command to set the association… However, while this is happening, the GUI will set the value back to it’s original value, which probably says non member. Note also that if you restart the binding during this process, the queued messages will be lost so you’ll need to start again.
For the ST814, you should be able to set the association in HABmin, press the button on the back 3 times, and this should wake the device up and cause the association to be set. Then, you should select “Association Groups” in HABmin and click the Refresh button in to refresh the associations, and press the button 3 times again - this should (hopefully!) now show that the association is set……..
Battery devices in zwave aren’t simple or obvious…. Your other option, especially with the ‘healing’ binding from the HABmin github repo is to set the association and come back in 24 hours and hopefully it will be ok :) However, you’re probably like me and want to know that it’s set correctly, in which case the above should work - I’ve done exactly this on the SP814 which should be the same as the ST814…
Cheers
Chris