Press the Pico5 button....it starts to turn on the White LED's, but then it fades out because it's executing the command to turn off the RED Led's (which is acting on the parent level somehow???)
Press Pico 5 button again and BOTH the White AND the Red LED's turn on.
Press it a 3rd time and the White Turns off but the RED stays on.
Red is now on forever until you turn it off manually.
(* If you keep testing this, sometimes the "level" of the parent device ends up stuck at a non-100 number, for some unknown reason, say 89%. Because of this neither child device will ever go above 89% even though they are set to be 100%.)
Here is proof from logs that this is broken: @bcopeland
I just captures some more proof from HE logs. This shows the same rule being triggered over and over.
The first time I triggers here, it sets Kitchen-Under-White to 95% and reports the parent device Kitchen-Under to be 99%.
The next time I triggers, it sets Kitchen-Under-White to 95% and reports the parent device Kitchen-Under to be 94%.
This keeps happening and the parent device continues to get lower and lower, preventing proper level for the child devices.
If this turns out to be a driver issue and you get them to fix it, you'll be my hero. I've since moved them to be on extension cords so I can just unplug and plug back in instead of flipping a breaker. But I have to reset them every few days or they'll be too dim to be useful.
It's important to note, this doesnt happen EVERY time the device turns on/off. From my logs it's only happening to the Under-cabinet lights...but it will eventually also happen to the over-cabinet lights.
I think this is true. Otherwise I'd run into issues super quick since I'm only turning on at a low percent.
The parent/child device setup still confuse me to be honest. If I wanted to see if I see the same thing as you... What steps should I do for a test, and then which "device" should I look at the logs for? Your log screenshot confuses me because it shows multiple devices and I'm not sure what is what.
What kind of logging should I turn on for what device? What do I want to check for? To see if there is a mismatch between what % level the log says it turned on at vs the % level reported on the device page?
I was just looking at all devices, so that I could see the interaction of the child devices being "set" and the "info" returned from the parent. (I turned off my chatty devices like presence sensors temporarily to make it a little more clean)
I actually tagged this thread earlier to see what transpired... I have been asked before to make a ZEN31 driver. I do not have one in my possession which would be needed for this more complex device. I was sort of watching this post recently, Excess inventory someone selling some used ones. Not sure that I would actually have a use for them so I did not purchase, but if someone wants to send me one?
Would need to figure out a power supply and not sure if I would need some LED lights to test properly, or I could just trust what the device is telling me.
Also not sure if these issues are driver or hardware related. So, a new driver may not be able to solve it but I would sure try.
@jtp10181 I'm in touch with Zooz support about this and they seem concerned. Gonna give them a couple weeks, and see if anything can be done. If not, and I'm reasonably sure that it's not a hardware problem....then I'll send you a Zen31 + light strip + power supply.
So I started working on this and I think I see how a driver could slowly degrade the brightness as described. It is because the "V" of the HSV is often mingled with the level attribute, even the color picker for the Set Color command pulls in the level for it. But this RGB controller (along with many others) the level is independent of the RGB color.
Taking that into consideration, hopefully my driver will not have the same problem.
I hope to have a beta version within a few days. At this point I do not think I will use child devices to start with, but may add an option to create them because depending on how you use this controller I can see how they could be handy.
What are thoughts about having a command to manually set the R,G,B values? So you can manually control each channel?
Right now I have the setColor working, and setLevel. I dont have a white LED connected (I only have a RGB strip not RGBW).
Thats what I am working on figuring out how it would work. I am using the setColor already and have that working as I want. There is a "Color Mode" attribute and also a Color Temperature, which if used when you set the color temp to White I would turn off RBG mode and either only do white dimming via setLevel, or possibly simulate color temps using the RGB lights.
Other possibilities are to have just a child for White and use the main for RGB, or have two Childs similar to the stock driver.
So far I am just getting the color commands all figured out and coded, especially since I dont have a white LED connected yet to see how it will all work together.
Adding all the parameters and also the button press options as well, if using momentary switches.
I expect this to be a little rough as I iron out the different use cases and what types of control will work the best for different situations.
Now that I am thinking about it more. Is there even a need or desire to control the brightness level separate from the RGB color values? In theory I think R of 125 / 100% should be ~= R of 250 / 50%
Maybe I just keep the actual level on the device at 100% and control the brightness only via the HSL/RGB Values if there is no visible difference. setLevel would still work and change the "level" value, but it would actually just set new RGB values on the device based on HSL to RGB conversion.
I will have to do some tests with more complex color values and see if it holds true visually on the LED strip.