I have an Eglo Zigbee light. When connected to the native app I can trigger some effects like candle, colourfade etc. After I paired the light with ZHA, these effects are not listed in the light’s attributes. I could enter something in the effects field when I use the light.turn_on service, but I don’t know what I should enter there to make those effects work. Any ideas on how to solve this and make the effects usable in HA?
It depends if those effects are programmed as attributes in the actual device firmware or if all of the magic for those effects happens in software of the native app (or the software application in a hub).
If all of the magic for those effects happens in the native app then you would manually have to replicate those effects using “scenes” and “automations” or “scripts” in Home Assistant. Similar to asked and answered here → https://community.home-assistant.io/t/animations-effects-like-hue-labs-for-z2m-lights/554252/2
But (more likley) if those effects are programmed and activated via attributes in the actual device firmware then you would need code for a device handler with custom “quirks” for that specific device model in the ZHA Device Handlers library.
Zigbee devices that do not only use standard configuration and parameters (default ZCL clusters and attributes) but instead also implement custom manufacturer clusters and attributes (also known as “quirks”) will need a custom handler/converter/parser/translator as Python script code in the upstream “ZHA Device Handlers” library repository to extend custom manufacturer device “quirk” support for specific non-standard ZCL clusters and attributes (which Zigbee gateway implementations that depends on zigpy and the ZHA Device Handlers library, like Home Assistant s ZHA integration, then can make use of).
https://github.com/zigpy/zha-device-handlers/#readme
If you can not code that Python script code yourself to write the needed custom handler/converter/parser/translator for adding that specific device to the “ZHA Device Handlers” repository/library then suggest submitting a “device support request” (with device signature and diagnostic information) as new issues → https://github.com/zigpy/zha-device-handlers/issues
See this example just as referece → https://github.com/zigpy/zha-device-handlers/issues/1927
Without a “device support request” as a new issue posted to the “ZHA Device Handlers” repository/library requesting support for an unsupported device or device feature with Device signature and Diagnostic information the ZHA integration developers will not even know about the device unless they by random chance happened to have bought it themselves.
The reason is why non-standard devices need a custom handler/converter/translator is explained in ZHA integration documentation here → https://www.home-assistant.io/integrations/zha#zha-exception-and-deviation-handling
Zigbee devices that use clusters and attributes that are standard in the official ZCL (Zigbee Cluster Library) do not need custom handlers/converters/translators as explained in the ZHA integration documentation here → https://www.home-assistant.io/integrations/zha#knowing-which-devices-are-supported
PS: Off-topic but FYI, this also works kind of similarly for Zigbee2MQTT which also requires a custom handlers/converters/parsers/translators for specific devices → https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html
Wow, thank you very much for that detailed answer. Lots of useful information in there. I will look into it and try to find a possible solution!
I’m thinking about some eglo lights, has anyone worked out yet how to get the effects to work when paired directly via ZHA ?