Is there a fix coming for this? I just discovered that setColor isn't working through RM for my wifi (not matter) Wiz bulbs either. Thanks to the forum, I quickly found I'm not alone.
The error in the original post should already be fixed. If you are having problems with something similar:
- What is your exact error from Logs; and
- What platform version are you running (from Settings > Hub Details)?
I'm on 2.3.9.181. No error gets thrown in the logs. Rule machine rule calling setColor for Wiz wifi bulb does nothing. setColor from device page works fine.
That is a different problem from the above, then. Do you have action logging turned on for the rule? If not, enable that and make sure you see the action logged. If you don't see it then, there is another problem.
You are also one build behind, but this change was made a while back, so beyond the above, it's unlikely to make a difference for you.
here's a test rule...as simple as it can be
resulting log entry after pressing run actions...

bulb did not change
tried rule this way and it did work...

Does it work with some color other than red? I could see hue 0 being problematic if that is what it is using internally. Also, do you see an entry from the light with more information (something that logs the setColor()
command being run, along with the parameters--the Generic Matter RGBW Light driver does this) if you enable debug logging?
I figured it out. A value for level has to be specified. This seems to apply to the Wiz bulbs using the Wiz RGBW Light Driver with the built in Wiz integration.
Zigbee color bulbs (or at least Sengled) work fine without specifying a level. I was recycling a rule where Sengled were swapped out for Wiz. Crisis averted.
Yeah, the WiZ drivers will bail if all three color components are not specified (hue, saturation, and level; the "red" part gets you the first two). Other drivers may behave differently.
EDIT: This will be changed in release 2.4.0 so the WiZ RGBW driver will use the current reported level if none is specified in the setColor()
parameters. However, in general, I'd recommend providing all parameters, certainly so if you are looking for a specific level in this case (100?).