Set light color and turn on by mode

I'm trying to set the color of my warm/cool LED strip in my room based on mode (day vs night).
Having trouble as it seems the dim is set to 100 but it only ever gets to 20-25.

This is what I have so far:


2 Separate rules in RM.
1st to change color based on mode change
2nd to dim on/off on button click

The dimmer itself is a ZooZ RGBW dimmer, but I've wired the warm white to Red and the cool white to Blue, which is why I have the colors set to Red at night and to Blue at "day"

First (casual) glance at your rule, I'd advise you to try consolidating those two IF-THEN-ENDIF clauses into a single IF-ELSE-END-IF clause. Only because the logic is such that the level of the Zooz dimmer can only be 0 or non-zero, and you can kill those two birds with one stone, so to speak. :wink:

I'll examine the rest as time permits, but you might get a lot more mileage out of the Room Lighting app, since it's purpose-built for just this kind of automation flow.

Can you explain more about what you mean with this? The device is currently reporting 100%, as of the time of your screenshot (that is what the value in parentheses after the device name means). It does indeed appear that you have specified 100 in your rule as well, so this is expected. One thing that might cause oddities is that Z-Wave levels normally range from 1-99, so maybe you could try setting it to 99 and testing for >= 99 instead of 100. However, many Z-Wave drivers will "correct" a 100 down to 99 for you, and yours appears to be actually reporting 100 for whatever reason, so this might not actually be a problem in your case.

If it's actually reporting 20 or 25 or something else back instead (so your screenshot was taken at a different time), I'd check what other apps might be using this device; maybe you have a conflict with another app doing something around the same time. The "In use by" section towards the bottom of the device detail page will give you clues. The "Events" button on the device detail page will also show you what apps sent commands (look for things like "command-setLevel"), though not what parameters came along with them; but it would at least let you see what else might be doing this.

If you just mean visually, like you don't think it's really 100 when it says it is, then I don't know--maybe #0000FF, for example, doesn't make the device put out 100% on the blue channel for some reason? That seems odd unless there is some gamut correction going on somewhere (see if the driver has an option?). I don't have one of these devices myself to say for sure. But if the device actually reports 100% (or perhaps 99), this seems less likely to be a problem — if wired "correctly," or at least how you want it to be.

Along the lines above: reporting 0 as a level is also odd for most Z-Wave devices, or any device on Hubitat at all. You like want to test for the on/off state as reported by the "switch" attribute; the "level" attribute generally shows what level it was at the last time it was on. I would modify your conditions to look for this instead, assuming on/off is really what you care about. (As above, I'd also suggest an IF/ELSE rather than two entirely separate IFs, as only one of these conditions can possibly be true and you only want one block to execute depending on which; but that won't cause this problem.)

And another note along the lines of level, doing a "Set Level" to 0, as you also are, is sometimes odd as well. However, for most devices, this will generally turn them off and let you specify a transition time — something you can't do with a plain "Off" and which it seems you want. So, no need to change that part if it's actually working, and with most drivers, it probably will; but if everything else seems right and this doesn't work, you might want to see if a plain "Off" does work.