I have a lot of issues with ZHA and Ikea.
The good news is: I have a second HA for testing and I could reproduce 99% of the issues.
I don’t know exactly how that could be debugged but here are all my issues:
On light bulbs what is Off brightness? It seems not able to be changed through the UI.
Is that necessary to call by default the entities light.ikea_of_sweden_tradfri_bulb_e14_ws_opal_400lm_ad9a92fe_level_light_color_on_off? I understand the need of having a unique name but I think this could be shortened (specifically the end). Note that ZHA integration is very bad to name device (I get lot of partial renaming leaving entities of the device with the original name)
On electrical reset, the Lights are on but the status in HA is not updated.
When I create a ZHA group and assign a remote to it I got these issues:
Using the remote not always update the HA UI
I could dim up and down the light but not switch between the color of the bulb (which is the default with an Ikea remote)
I want to stay with ZHA (no remap all the buttons of the remote for example) because I want to have my Ikea remote work when my HA is unresponsive. Also, creating a scene for each color of bulb will generate in my case to the creation of 20+ scenes (3 per temp color + color well for some lights)
My testing setup contains:
an RPi 3b+
a ZZH! dongle. (I also could do a test with a Conbee II or a Zigate.)
two IKEA of Sweden TRADFRI bulb E14 WS opal 400lm
one IKEA of Sweden TRADFRI remote control
Note: I have much more Ikea products on my main Home Assistant and that’s why I try to solve these issues. Also, I found a lot of people which want to default behavior for Ikea products.
I could share all files/backup/trace without any issue since it’s a testing system that I built for these ZHA issues. Just ask me anything.
I have some IKEA lights, outlets and switches (the square on/off version), created ZHA groups for the lights & outlets, and bound the switches to these groups. That way I also have “offline” mode working (even if HA or the coordinator is down, the switches continue working, and the response time is immediate which is important for WAF), but then the new state of the lights/outlets is not updated in HA.
That’s a bummer because then I get inconsistent state between real life vs. HA dashboard… And btw it worked in the past using Zigbee2Mqtt, but I’m migrating away from that because I had issues with the CC2531 there and bought an EFR32MGR21 stick (that seems not fully supported by Z2M), and would prefer a more ‘consolidated’ solution.
I would expect HA to listen for the group events from the zigbee network (events published by the remotes directly to the zha groups) and then update accordingly its internal status of entities?
I think I found how to fix the zha group/ bind issue.
I created the ZHA Group in the ZHA integration, then in the bulb setting (manager cluster) I assigned the bulb (on/off endpoint) to the group, and bound the remote to the group as well. From there the remote is managing directly the bulb, but the status is not reflected in HA.
To fix that, I went back to the bulb entity, and clicked on “reconfigure device” (or whatever it’s called in English). It seemed to do some things, and from now on the status is good in HA (whenever I change the bulb status/brightness from the remote, it’s reflected in the HA entity status).
For information, I never succeed to make that work properly again (it was working at some point). I simply switch to zigbee2mqtt and everything works perfectly. I was able to bind the remotes properly and they work even when HA is offline.