Can you edit what a Zigbee device does?

I have these 2’x4’ LED panels (troffers) that the dimming control uses a 0-10V method that I understand is a common way of dimming commercial florescent ballasts and was carried over to a lot of commercial LED fixtures. I came across some Tuya Zigbee controllers that can control these type of panels, figured it was worth a try. The panels, as they had been, were controlled with an RF remote, as well as essentially another RF remote that is wired into the mains and mounted like a switch. Some proprietary protocol you can’t really do much with. Anyway…

I installed one of those Zigbee controllers, it paired fine, I am using a Nortek Zigbee/ZWave USB stick, what comes up though is a color wheel, which this device has no concept of, and when I try to dim the panels they sometimes do, but mostly not, at least not simply as using the dimming control. If I change the slider, more often than not, nothing happens. However if I turn the lights on and off the dimming state gets applied, same if I change a color on the color wheel after changing the dimming level, the changed dimming level gets applied. Now this may very well be how these panels do what they do, maybe they need some kind of kick in the pants to make them react, which I’d be OK with if I could just make that the default behavior. Is there a way to modify the default capabilities of a Zigbee device? Like getting rid of the notion that it can change colors when it can’t (it’s just a dimmer)? …and maybe doing a state reset anytime the dimming level changes? Is there anything special about a “Tuya” Zigbee device vs any other Zigbee device?

Tuya is infamous for not only using the common standard Zigbee cluster and attributes, instead they implement manufacturer specific Zigbee cluster and attributes which need a custom device handler.

Zigbee devices that do not use standard configuration and parameters (standard ZCL clusters and attributes) will need a custom handler/converter/translator as Python script code in “ZHA Device Handlers” repository to extend custom support for specific non-standard devices (which the ZHA integration then makes use of).

If you can not code that Python script code yourself to write the needed custom handler/converter/translator for adding that specific device to the “ZHA Device Handlers” repository/library then suggest submitting a “device support request” as new issues →

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 →

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 →

PS: Off-topic but FYI, this also works kind of similar for Zigbee2MQTT which also requires a custom handler/converter/translator for specific devices →