In the last 3 weeks, 3 of my Tradfri remotes - Light Group bindings have stopped working. The only way to get them working again is to remove and re-add the remotes to the network. Unfortunately my remotes are wired in very hard-to-reach places, so this is not practical.
After experimenting with an easy-to-access remote I have found the following.
The remote can only bind to one group at once (Expected behaviour)
Unbinding a group is unreliable - sometimes, no matter how many times I press ‘Unbind Group’ and ensure the remote is awake, the groups never unbind.
It may be impossible to unbind from a deleted group?
Using ‘reconfigure device’ does not reset bindings (despite the Bindings + green tick icon)
Is there a way to actually reset a device’s configuration and/or bindings without disconnecting it from the network
Edit: So it seems the issue stems from the 2.3.0.79 firmware from IKEA. The remotes go from being unable to bind individual devices to ONLY being able to bind individual devices (and multiple of them). I.e group bindings stop working.
You could enable low level Zigbee logging to get more details about what happens.
I have a case where I try to bind, the high level trace indicates its (being) done, but the binding is not visible in the lower level traces. I have a Zigbee sniffer setup as well where I can check the actual packets sent (and I did not have any binding).
For the record the process of binding IKEA switches on firmwar 2.3.079 or greater goes like this:
In ZHA for me that process is
Unbind the switch from all devices including the co-ordinator
Unbind from all groups (select all clusters)
Reconfigure the device from the ZHA UI ← not sure if necessary.
Unbind from the coordinator again ← not sure if necessary.
Bind with the desired lights
Re-bind with the coordinator ← not sure if necessary.
If the lights do not update their status in the UI when turned on or off by the switch, then click RECONFIGURE DEVICE for each light, making sure to refresh the page between each device
It does seem as if unbinding from the coordinator first is a key step: