GitHub 'Generic ZigBee RGBW light' seems to have a bug

If I use the pre-provided 'Generic Zigbee RGBW Light' driver everything works fine with my light (on off level color temp). If I copy over the same driver from the GitHub repository and make a new driver (with nothing edited) the 'setColorTemperature' function does not seem to work. (all else does: on off level etc.).

I get this error in the logs: PMerrorgroovy.lang.MissingMethodException: No signature of method: user_driver_hubitat_Generic_ZigBee_RGBW_Light_691.setColorTemperature() is applicable for argument types: (java.math.BigDecimal, java.math.BigDecimal, java.math.BigDecimal) values: [5000, 50, 1]

FWIW, the only other driver that works with my light, as far as setting the CT is the 'Generic ZigBee CT (Dev)' driver. Is that publicly available somewhere? It does not seem to be in GH.

Looks like the driver on GitHub is a bit older, lacking support for the new options that the "Set Color Temperature" command supports. This shouldn't break if you leave the level and transition time parameters blank (so part of your question that is missing must be some app you're using that specifies these parameters, or you're doing it yourself on the device detail page despite being optional), but we will get this updated.

Related: is there a problem you're trying to solve by using this driver? It sounds like the built-in drivers work for you. Code for the other driver is not public, though the "Advanced..." variant is also published as an example.

Thanks for the quick reply!

I'm trying to use an Arduino with the 'MonaLisa' board to set the level and ColorTemp of this light based on real-time sky conditions; it's a fake skylight. I don't need anymore functionality than that. I figured writing a driver that only did that one function and worked with the MonaLisa was a more elegant solution. I can code for the Arduino (C) but must admit I am brand new (3 days?) to this environment and don't really know what I'm doing yet. I'm open to any suggestions.

Also:
The 'Advanced ZigBee CT bulb' driver's setColorTemperature' does not work with this light either unfortunately. (None of the features, not just setColorTemp). The 'Advanced ZigBee RGBW bulb does not work either FWIW. (No features)

The two drivers I mentioned before are the only one's whose drivers' 'setColorTemperature' function works with what I have. I'm trying to see what the differences in methods they use vs. the others.

FWIW, I have filled in all the parameters of the setColorTemp and still get the errors. Were you referring to anything else?

Yes, I made a typo and meant to say the exact opposite of this. :smiley: The new setColorTemperature() command can accept one to three parameters; the old/longstanding command accepts only one (the color temperature), and that is what the example driver you're looking at uses.

In any case, the example driver will be updated. [EDIT: Updated now!]

If you know the underling Zigbee commands that you need, you could also modify your driver to add two optional additional paramters to the command, the level and color temperature, per the capability spec (the change that will be updated in this driver, too).

2 Likes

I see the updated Generic ZB RGBW Light in GH. Thanks for that. I thought I was going crazy or was somehow messing up a simple copy / paste.