ZLL (Zigbee Light Link, a.k.a. Zigbee LL) profile / cluster support in the ZHA integration?

This is a question to the developers of the ZHA integration for Home Assistant and zigpy as well as all other Zigbee developers which might not yet have contributed to zigpy or HA’s ZHA implementation.

Would it be possible to add ZLL (Zigbee Light Link, a.k.a. ZigBee LL) application layer protocol profile and cluster support to zigpy and then also to the Home Assistant implementation of zigpy which is the “ZHA integration component”?

Perhaps two more relative questions are if adding ZLL profile/cluster support would be a lot of work for a developer and if it would really bring any great benefits to zigpy and the ZHA integration for Home Assistant or not? zigpy here being the open source Python library implementing a Zigbee stack that Home Assistant’s ZHA integration component is currently based on.

To clearly I am not asking about zigpy compatibility with ZLL devices, instead, I am asking if zigpy which today only supports the ZHA (Zigbee Home Automation, a.k.a. Zigbee HA) profile / cluster specification standard could be made to to support ZLL (Zigbee Light Link) profile specification standard. To difference of those two profile specifications can be confusing beause as I understand most (but not all?) ZLL devices already are backwards-compatible with the Zigbee HA (Zigbee Home Automation) profile, which means that today ZLL devices such as example Philips Hue lightsbulbs does support connecting to a ZHA only coordinator using Zigbee HA profile which can make people think that the ZHA integration in Home Assistant is already compatible with the ZLL profile or that all ZLL devices are compatible with ZHA. To confuse this even more, many (but not all) Zigbee coordinator USB adapters compatible with the Home Assistant ZHA integration via zigpy does have support for the full Zigbee 3.0 stack which includes support both ZLL (Zigbee Light Link) profile / cluster and ZHA (Zigbee Home Automation) profile / cluster as well as some other less common Zigbee standards which I will not mention here for this discussion.

This linked article has a quite good explanation meant to clearify this issue of interoperability between different application layer protocols which are all Zigbee standards and can cause headaches for end-users who don’t know that there is a difference:

https://www.unifore.net/home-alarm-system/introduction-to-zigbee-3-0-zigbee-ha-protocol.html

I believe that zigpy currently only support ZHA (Zigbee Home Automation, a.k.a. Zigbee HA) profile / cluster is also the reason why the existing implementation in Home Assistant is specifically called “ZHA” / “Zigbee Home Automation” and not just simply “Zigbee” or a name like “Zigbee Hub” which could cover all Zigbee standards.

Technical references:

https://mathworks.com/help/supportpkg/zigbee/examples/zigbee-light-link.html

https://www.nxp.com/docs/en/user-guide/JN-UG-3077.pdf

https://www.silabs.com/documents/public/user-guides/ug103-09-fundamentals-zll.pdf

https://docs.silabs.com/zigbee/latest/em35x/group-zll

https://www.silabs.com/documents/public/white-papers/Simple-and-Interoperable-Wireless-Lighting-Control.pdf

https://www.silabs.com/documents/public/application-notes/an1117-migrating-zigbee-profiles-to-z30.pdf

1 Like