Disclaimer: Sometimes, devices may actually stop working (or their battery is just empty). If that's not the case however, and you think that your device should actually work, keep reading.
From time to time it happens though that one of those ZigBee devices becomes unavailable. This is usually quite frustrating, costing me hours of trial and error, resetting, unpairing, pairing ... these devices.
Over time, I came up with an "algorithm" to fix such a situation as efficiently as possible (given the device is actually still working).
Remove the device
As the first step, open the deCONZ integration, find the unavailable device and delete it.
Then, run the
deCONZ: Remove oprhaned entries service in Home Assistant's Developer Tools
Restart Home Assistant
I'm not 100% sure that this is actually necessary, but I keep doing it.
Pair the Device
Open the deCONZ integration again, add the device there and put the device into pairing mode.
The device should show up now in deCONZ and in Home Assistant with its original entity ID. This also means that any automation referencing this ID will also start working again.
Of course, your mileage may vary, but this approach has worked very well for me in the past.