RGB and RGBW LED strip lights

Unfortunately that’s just a level cluster message from the same 0A endpoint. Did you reset/re-pair?

I think I finally got it! Is this what we are looking for?

1 Like

That’s it! Looks like there is a 2nd endpoint!

To confirm that is the white channel, try replacing the ${endpointId} in the on(), off() and setLevel() commands with 0x0B to address that secondary endpoint directly.

If that works, then it’s just a matter of deciding how you want the white channel to work. Should it have its own separate controls for on/off/dim using custom commands? Should we turn it on in conjunction with the RGB by adding a 2nd “st cmd” line to each of on/off/setLevel?

Edited to add: I’m going to be unavailable until Fri or so, but I can help you work up the final devicetype then.

1 Like

Thanks for helping others out buddy!

In case it’ll help the Aeon RGB bulb device type has a colour wheel for RGB, a slider for brightness and a slider for white temperature.

I’ll give that a try. Thanks again for all of your help! I’m sure I’ll be following up upon your return.

Hi Chase, try out the code below. I gave you separate controls for the white channel. A level slider for dim and an on/off button. It might have some state sync issues, particularly with knowing whether the white channel is on or off. As you start using it, if you find that the white channel should come on with the main RGB channel, we can adjust to keep both channels in sync for on/off/dim.

(PS: In the tile UI, you’ll find some additional controls taking up two more rows of icons below the white channel controls. They were carried over from my zigbee hue bulb devicetype and are for controlling the color loop function. I don’t know if the Dresden supports that feature, but it might because it’s Zigbee Light Link and has the color cluster. The button in the middle that may say INACTIVE will start a color loop, and once it’s started, it will stop the loop. The button on the right (may have ${currentvalue} at first is for direction of the loop. If you press it once, the ${currentvalue} should switch to Up or Down. The slider at the bottom controls the speed of the loop 1-60 for the number of seconds to cycle through all colors. It’s best used with Saturation at or near 100, so a color toward the outer rim of the color wheel.)

Good luck and enjoy!

3 Likes

This totally worked - even the color loop! Thank you so much!

Now I just have to get around to installing the lights…

1 Like

Since I saw that you had made a custom devicetype I purchased a FLS-PP. I haven’t played with it too much yet, but I wanted to say thanks! I would have probably struggled with the Fibraro instead had I not seen your code first.

No problem. I don’t have one myself, so let me know how it works for you and if anything isn’t working right.

I would love to see SmartThings, AeoTech or another company create a specific RGBW controller that would work with any of the generic strip lights that offered complete compatibility with the hub.

I’m not sure I follow? The Dresden FLS-PP Ip (ZigBee) and the Fibaro RGBW (Z-Wave) controllers allow you to do just that…

I may have misread that then. I’m seeing the third party thread now and reading up. This is the last missing piece from my setup, I have been holding off on all LED strips because I needed integration for an insane security idea. Thank you.

Is there one preferred to the other or works best with ST HUB2?

So I successfully set up this unit today as an addition for out basement stair lights. What I wanted was for the white only LEDs to come on whenever someone turned on the basement stair lights.

I am using rule machine so I thought I would be able to just make a simple rule with

Rule: stair light switch on
Action true: led switch on
Action false: led switch off

However that brings on the colored LEDs instead. But because rule machine allows expert commands I was still able to get it to work.

First make a 2 custom commands in rule machine. I had to use setwhitelevel(99) and setwhitelevel(0) as my commands. For some reason whiteon(99) and whiteoff(0) wouldn’t work. The odd thing is that rm reported that the command was successfully sent. But there was no change in the lights state.

So then my rules became
Rule: stair light switch on
Action true: setwhitelevel(99) (expert command)
Action false: setwhitelevel(0) (expert command)

The only drawback is that there is a fairly long delay before the LEDs respond. I’m going to try and rebuild both the zigbee and zwave meshes and see if that helps.

Many thanks to @Sticks18 and @bravenel for making the tools necessary to make this work.

3 Likes

Very cool setup and great use of RM Expert Features!

I don’t think it would make a difference, but you didn’t need the parameter for those commands. Just whiteOn() and whiteOff() should have worked. Those commands would turn the white LEDs on to their current level. If the White Level happened to be 0 at the time, you wouldn’t see a change; but if you use the slider to set the desired White Level, then used the whiteOn()/whiteOff() commands, it should work as expected.

SO, now that I have things up and running, I’m wondering if it’s possible to make the switch control the white lights on/off by default, and make the RGB lights optional? When integrating with Harmony remote app, I can only control the RGB channel. Also, when I switch power off then on (from physical switch), the RGB lights turn on regardless of previous setting.

You can modify the devicetype to work the white channel as default from the mobile app, but for controlling the white channel via Harmony, you’d probably be better off using a virtual dimmer and custom Dim with Me SmartApp setup. I can help you put that together.

We can’t change how this works. It’s just how the controller is built to function. The RGB channel is primary and ST doesn’t have control over behavior from physical power changes.

@chaseparker is the switch controlling the power to the FLS-PP? So that the FLS-PP has to power up and reconnect to the hub each time? Or is the switch connected to the hub via z-wave or zigbee?

I ended up plugging my FLS-PP into a always on power outlet (or just hard wire it) and then I tied the white on/off to a z-wave switch that was controlling another set of lights at the bottom of our basement steps.

So whenever someone turns on the basement light the white light comes on/goes off with the basement light. But in order to do that you it would have to have continuous power, otherwise it will always revert to the default state. I’m not sure how the FLS-PP would react to constant power cycles as far as pairing/communicating with the hub. I had never tried it that way because just like light bulbs you can’t control the default state.

Like Scott mentioned, to use it with the harmony hub just add a middle man virtual switch and if necessary RM with expert commands to control the white on/off. Expert commands are very easy to use as it pre-populates with the available commands and variables.

All that considered, I’m going to switch mine out for the fibaro rgbw controller because the delay from z-wave to zigbee is just too great for my needs in the stairwell. I’ll move the FLS over to where the kids can use it as a mood/dance lighting feature. My son won’t leave the white only lights on in the stairway anyway as he keeps playing with the colors…

Thanks, @Sticks18 and @whyintheworld . To clarify my first question, I want to make the white channel primary (as you more clearly described) - so to swap the function of the main RGB “button” on the app with the optional “white on/off” button. If there were a way to have a single dimmer for both channels, I think that would solve the second issue as well. I don’t know if this is a function of the app or the controller. Both the white and the RGB channels do return to their previous state when power is cycled, it’s just that they are both “on”. This is less of a concern, since I can just tune the RGB channel close to warm white and not even notice.

I really only chose the smartthings integration to control the RGB settings from the app, not necessarily to trigger the lights on and off. The power supply draws around 6 watts when the lights are off, so I’d rather just cut the power when not in use. I know nothing about coding, except now how to copy and paste :wink:. As always, I appreciate your help.

You can do both of these. For swapping main function in the app, the fastest (somewhat hacky) way to do it is to swap the endpoints in the commands. Currently in the on() and off() commands you will see ${endpointId} and in the whiteOn() and whiteOff() you will see 0x0B. Swap those two and you’ll have swapped main function. You may notice state inconsistencies a bit since it might think the lights are color when you only have white portion on.

For using the main slider to control both channels, you’ll need to add some code to the setLevel() command. Right after this line:
cmds << “st cmd 0x${device.deviceNetworkId} ${endpointId} 8 4 {${level} ${transitionTime}}”

Add:
cmds << “delay 200”
cmds << “st cmd 0x${device.deviceNetworkId} 0x0B 8 4 {${level} ${transitionTime}}”

You might have to play with the delay value. I think 200 should work.

THIS… could be an awesomely cheap alternative to the Fibaro and the Dresden…

http://blog.marcelbrouwers.nl/2016/02/10/raspberry-pi-zero-ledstrip-controller/

1 Like