To those that already have the problem here is the step by step to get you back in shape.
It is a an improved version of a posting I did earlier in 0.104: Sentry, Signal Messenger, IntesisHome, Sure Petcare, KEF
To fix the deconz specific issue do this in this exact order.
Go to the Integrations page and open the Deconz Integration. You now see all your deconz devices listed. You can easily see the duplicate light groups as two lights with same name. First will be the old and 2nd is the new.
Walk through each duplicated group and click on the first device to open the device setting screen
This should list the entities and there should be only 1 for a deconz group
Verify that it has an entity associated with it not ending with _2
Click on the small gearwheel to edit the entiry
Delete this entity (delete link in lower left corner of the popup window). This is only enabled if the device is not available.
Back in the device view click on the gearwheel at the upper right corner of the screen to edit the device name.
Give this old group Device (not entity - device!!) to a name that we can later find. I called mine the old group name appended by crap (that was my mood in the situation). Use a string that is unique
Go back to the list of devices and open the other new duplicate group device
Rename the associated entity to same name but remove the _2
Note that you have to delete the old entity first before you can rename the new _2 because you cannot rename to an existing name.
Do this with all the duplicate groups.
In principle all works now. But you still have some old “cruft” devices in the core.device_registry that you cannot delete from any user interface. I am sure that will haunt you again in future and can cause more duplication to occur. The only way to delete deconz devices is to hack the JSON file
So next steps are…
Stop Home Assistant to avoid hacking live data.
Go to .storage and save a backup of core.device_registry
Now open the core.device_registry in a text editor and search for that name you appended to the old devices (crap in my case).
Now carefully delete the entire JSON object that contains this crap device. Be careful with the commas. Especially if it is the last member you delete. There can be no trailing comma in the list. That is why we saved a backup in case we goof up. Hacking JSON is horrible but it is the only way because Home Assistant still has no user interface for deleting devices.
To the deconz integration developer. I will love you forever if you add a delete link similar to the one presented for entities when you open the gearwheel link for the deconz devices. And it would be best if it is not enabled until you have deleted all the associated entities. The users need this when you remove a device from your deconz. E.g. when a bulb goes broken and you replace it.