Piston not setting the right RGBW levels


#1

Hello,

I have a rather simple piston which dims and cycles through some colors on an RGBW strip. I am addressing the color channels individually, however, when I set the white level to 100%, it also turns on the red channel. I can’t understand what the issue is… I can confirm that the SmartThings app shows that the white channel is set to 100% and so is the red (the device handler offers one slider for each channel). I’m not sure where to start searching for the issue? Thankful for any help!

123


#2

Nobody got any ideas what I could be doing wrong, or on what end to start looking for problems?


#3

I don’t have access to an rgbw strip so I can’t really comment on that part but if you post some of the full logs of the webcore piston and maybe some live logs that correspond to that from the IDE maybe someone can spot something from the log.


#4

Hi, thanks for the reply. Not sure how to do that, what are the two log types?

Capture

I am switching color from red, to white, and it seems the red color stays on for some reason, although it seems to be executing the setRedLevel(0). When I cycle the colors in the other direction, I go from purple (red 100% + blue 100%) to white, and that works as intended.

The log under the piston code looks like this:

+1ms ╔Received event [LED strip Dimmer left button].button = pushed with a delay of 47ms
+81ms ║RunTime Analysis CS > 14ms > PS > 4ms > PE > 62ms > CE
+84ms ║Runtime (60560 bytes) successfully initialized in 4ms (v0.3.110.20191009) (82ms)
+85ms ║╔Execution stage started
+97ms ║║Condition #2 evaluated false (7ms)
+99ms ║║Condition group #1 evaluated false (state did not change) (8ms)
+106ms ║║Condition #33 evaluated false (6ms)
+107ms ║║Condition group #32 evaluated false (state did not change) (8ms)
+112ms ║║Comparison (enum) pushed gets (string) pushed = true (0ms)
+113ms ║║Condition #66 evaluated true (5ms)
+114ms ║║Condition group #64 evaluated true (state did not change) (6ms)
+120ms ║║Comparison (integer) 0 is_equal_to (integer) 0 = true (1ms)
+122ms ║║Cancelling condition #78’s schedules…
+123ms ║║Condition #78 evaluated true (5ms)
+124ms ║║Cancelling condition #73’s schedules…
+125ms ║║Condition group #73 evaluated true (state changed) (8ms)
+127ms ║║Cancelling statement #94’s schedules…
+394ms ║║Executed physical command [LED strip].setRedLevel([0]) (263ms)
+395ms ║║Executed [LED strip].setRedLevel (265ms)
+593ms ║║Executed physical command [LED strip].setGreenLevel([0]) (194ms)
+593ms ║║Executed [LED strip].setGreenLevel (195ms)
+799ms ║║Executed physical command [LED strip].setBlueLevel([0]) (201ms)
+800ms ║║Executed [LED strip].setBlueLevel (203ms)
+1033ms ║║Executed physical command [LED strip].setWhiteLevel([100]) (229ms)
+1034ms ║║Executed [LED strip].setWhiteLevel (231ms)
+1039ms ║║Executed virtual command [LED strip].setVariable (3ms)
+1041ms ║╚Execution stage complete. (956ms)
+1042ms ╚Event processed successfully (1042ms)