[RELEASE] GLEDOPTO ZigBee RGB+CCT Controller GL-C-008 2ID Driver

I finally got impatient enough to write this driver myself. You can find the driver on GitHub here:

Gledopto GL-C-008 2ID driver

This device has some interesting differences from expected behavior outside of the 2ID oddity. The example ZigBee CT driver probes the supported values to pass for the colour temperature by setting it to FFFF and 0000 and expects the device to clip the value to the min and maximum color temperatures. It then waits for the message to arrive stating what the color temperature was actually set to. Instead this device returns a response message saying an invalid value was passed for the move to colour temperature command. I had to roll up my sleeves and start reading the "ZigBee Cluster Library Specification" to understand what was going on and got it working reading attributes designed for the job instead.

We could also do with some decent documentation around driver development from Hubitat. There's too much left to trial and error and probing using log.debug to see how things behave. Now that smartthings is dying we can't rely on their documentation any more. There's literally no documentation around raw commands (which I needed to use as the generated commands didn't work).

11 Likes

It's great that you wrote this. I am pretty sure it is going to be based on user error on my part, but after following the instructions to the letter the driver does not seem to work at all. I know the device has power and function because if I use it as a generic zigbee bulb I can turn it on and off, but with this driver set as the device type nothing happens at all, no on off just absolutely nothing. Have you run into this as an issue before?

The specific device I am using is the Gledopto GL-C-008P