WTH - ZHA translation layer for Zigbee Herdsman Converters

I am not sure that this is possible, but feel that this is in the spirit of the month of WTH?!

ZHA and Zigbee2MQTT seem to be two competing yet similar projects with support for various devices varying between the two.

Zigbee2MQTT publish their device converters (Zigbee Herdsman Converters) as a separate project.

It would be great if there could be a conversion layer created for ZHA in Home Assistant that could tie in to the wealth of additional converters in the Zigbee Herdsman Converters project.

This could be written in Node (which is what the converters are intended for) but function maybe in a similar way to Z-WaveJS whereby it seemlessly plugs in to Home Assistant without the need for an additional application / MQTT service

Doubt something written in JavaScript/TypeScript code would be accepted into Home Assistant core code; as the Home Assistant core, as well as the ZHA component for its native Zigbee integration and dependencies like ZHA Device Handlers (as well as the zigpy libraries which ZHA also depends on) are all written in Python script code.

Also note that ZHA/zigpy and Zigbee2MQTT/zigbee-herdsman architectural designs are not very similar to each other, as ZHA unlike Zigbee2MQTT does not actually need translators/handlers/converters/parsers for each and every device, as per ZHA docs → https://www.home-assistant.io/integrations/zha#knowing-which-devices-are-supported and https://www.home-assistant.io/integrations/zha#zha-exception-and-deviation-handling as well as https://github.com/zigpy/zha-device-handlers/blob/33eacee9bdb59879eb3a56fcb7290e807c81c837/README.md

I guess your idea would maybe be more realistic if someone instead looked into writting a stand-alone parser application for Node.js which could be used to help developers of ZHA Device Handlers as a translation tool that tries to translate existing individual converters from zigbee-herdsman-converters code one-by-one into quirks for ZHA by assisting with stepping through its conversion code(?) and not some kind of in-line conversion code library that runs all the time inside Home Assistant’s ZHA integration component(?).

That is verses Z2M way with parsers to support each new devices → https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html

PS: I assume that much frustration from many ZHA end-users comes from the ZHA integration not having the same cutting-edge support for the very latest brand new Zigbee devices that zigbee-herdsman based applications like Z2M have, and suspect that the real reason for that is that the Zigbee2MQTT project has been around for longer and its grown a very large communtiy and thus have more active testers and developers contributing converters for new devices to zigbee-herdsman-converters.

1 Like

This one needs more attention in my opinion