Controlling LED Strips

Hello,

as I continue exploring the seemingly endless - for me, at least - possibilities that I have access to through SmartThings, all while being as confused as a toddler introduced to calculus, I have been exploring all lighting options available.

The one I have always been the most fascinated by is LED Stripes, because there is virtually nothing you can’t do with them. I’ve heard there’s one for everyone, with individually addressable, syncing with your TV (Hue ones I think do that?) and a plethora of other applications.

However, I also noticed that many enthusiasts like to tinker with Raspberry Pi and go about it the DIY route. Which, seeing as I bought an hub specifically for freedom and ability to tinker, is an interesting option.

How do Raspberry Pi and DIY projects in general with LED Strips integrate with the SmartThings ecosystem? Are there “out of the box” alternatives that allow similar degrees of freedom while being perhaps more compatible? I do have programming knowledge (mostly OOP, having coded C# and Java, but I also used C and OCaml, which are procedural and functional, so I think I got my fair share of flexibility by now, also to new languages) but I never used Raspberry Pi nor have I ever really done DIY projects with lights and electricity.

Thanks in advance for your answers and I hope my attempt at posing the question while stumbling in the darkness was succesful ^^’

You would probably find the community FAQ on LED strips of interest. :wink:

ST-compatible RGBW LED Strip Controller Reviews (2020)

I can’t really think of any reason why you would need a raspberry pi unless you wanted to run your own code to do things like sync it with music or something. It’s not the way people usually integrate LED strips into smartthings. Instead, they just get a smart LED controller. There are several examples in the FAQ.

I read the FAQ and that seems to be fine for the most part, the only issue/concern I have over out of the box solutions is that I will have some options limited.

For example, imagine a scenario where I would like to ask Alexa or Google to play a song, and have the lights (including the bulbs, or maybe just the strips, depending on how I feel at that specific moment) follow the music, or perhaps I would like for them to sync to a game I am playing, since I also have RGB on my mouse and keyboard.

It may seem very specific, but the #1 priority for me is having total freedom over what I can do. I wanna have as few options unavailable to me as possible, that’s why I think the freedom of coding myself is the only solution that can truly work (though I would be happy to be proven wrong).

And lastly, being a student and a curious person, I like experimenting with stuff, too ^^

As originally designed, SmartThings wasn’t really a platform for people who wanted to do a lot of coding because the hub was a black box architecture. And we still aren’t allowed access to run our own code on the hub itself other than the new Edge Drivers. It was more a platform for people who DIDN’T want to do a lot of coding and wanted a slick app, but then the community found gaps in features they wanted so some people did find ways to get around some of the black box limitations. But serious coders were almost all drawn to much more open platforms, sometimes based on a raspberry pi, sometimes not. And then typically using an MQTT broker. Or eventually Home Assistant. And NodeRed thrown into the mix.

Now that SmartThings has published their API and is moving to their new architecture you can write any code you want, in any language you want, hosted on any device you want, and treat the SmartThings hub as a box of radios accessed through the API. But that architecture is still in Beta and the cloud to cloud piece is the most solid but still with some limitations. And SmartThings still forces you to use their own overlay architecture which actually hides some of the granular features provided by the more popular third party standards, like zwave association or zigbee groupcasting.

All of which is to say that what you describe can mostly be done (you will still run into some ST limitations), but it’s not what ST was designed for and it’s not how most people use it. Obviously you have to decide for yourself how much value it gives you. :thinking:

Tagging @mwav3 and @obycode in case they have any more to add.

I was aware that ST would have some limitations, I wanted a middle of the road solution. Something gave me the simple and to an extent premium feature of taking something out of the box and having it immediately work, but gave me the option to customize and tinker to fit everything to my needs if I needed it, that’s why I got ST. I heard Hubitat was slightly more open in that regard, but I prefer having compatibility, so
 I’ll take everything that I can get and be satisfied with it, I think it’ll be plenty for me to learn and play around.

That said, is there any way to connect a Raspberry Pi controlled strip to ST? If not it’s no big deal, as I said I’m mostly trying stuff out of interest and so long the strips turn on when needed it’ll be 99% use cases covered, but I like to know my boundaries and play with all options available :slight_smile:

EDIT: Another use case that just occourred to me is using led strips as progress bars. I saw that on a youtube video a while back and loved it. I really want to understand the boundaries of the system and know what I can and cannot do ^^

Depends what you mean by “connect.” :thinking:

You’d need some kind of radio, and which one would then determine the available integration options. And of course older solutions like ST_anything are Groovy-based, I don’t know if there are any plans to move that to an Edge Driver.

[DEPRECATED] ST_Anything - Arduino/ESP8266/ESP32

Why don’t you take a look at the work TAustin has been doing?

https://community.smartthings.com/tag/edge_misc

But you’ll still hit some ST limitations.

This:

gave me the option to customize and tinker to fit everything to my needs if I needed it

Just isn’t a match to ST.

Also, I’m unclear on your comment about Hubitat. :thinking: It works with more noncloud devices than ST, not less. Such as Lutron Picos. But it’s a local system, not cloud based, so cloud to cloud integrations get complicated.

But again, only you can decide what gives you the best value.

My favorite example of ST limitations


Aeotec makes a zwave battery powered “quad“ button whose product description says you can control up to 16 different scenes with it. Which is true with most Z wave hubs.

However, with SmartThings you can only control up to 8 different scenes, because smartthings does not recognize the down swipe or up swipe on each button.

And Aeotec is the hardware manufacturer partner for smartthings in both the US and EU: they are now the source for ST compatible hubs.

But their own device is crippled by the ST architecture. :disappointed_relieved: there’s a stock DTH for it, but it gives you less functionality than you would get with most other Zwave hubs.

I find most of this quite new honestly, I checked out reviews of the ST ecosystem and was told it was “The most compatible ecosystem, with a little less automation power than Hubitat”. They even gave scores to each. Naturally, they don’t tell the whole story but
 yeah, I’m learning the good and the bad I guess haha.
Either way, I guess knowing the strengths and limits of the ecosystem through direct experience is the best way ^^"

1 Like

I’m not familiar with the remote you’re referencing, but the lack of functionality you’re describing sounds like a limitation of the stock DTH, not any overall limitation of the architecture. If other z-wave hubs are receiving those swipe scenes, then it should be completely possible to do it in ST. It’ll just take a motivated individual writing a driver, presumably with a custom capability to deal with some of the shortcomings of the stock button capability. There are plenty of devices that are similar in that stock DTHs don’t provide the functionality advertised on the box. Edge is exciting since we can add those features now without sacrificing local execution.

On the questions about RPi, you can definitely interact with devices on your LAN using Edge drivers. If you’re interested in a home built device, go for it.

So in order to fully customize my experience with an RPi I need to then write my own edge driver to install on the hub? If so, how does one write an edge driver? All I know is that they’re in LUA, but if there was any starting guide or developer FAQ that’d be great!

Nope. It’s because the button doesn’t send that message to the hub. It’s a Z wave thing and I don’t want to derail this topic further.

Start here:

Announcement | SmartThings Edge for Devices and Automations

A cloud based system like Smartthings will not give you total freedom, and is fairly locked down. You generally can get things working the way you want, but are at their whim if they want to change things. That being said though, the plus side is it is an excellent place to start out with a system that can get you up and running out of the box quickly, with stock configuration options for supported devices. I agree with the post from @jdroberts above and think the link he posted gives a lot of great ideas for Smartthings compatible light strips.

As you expand and want to go beyond though, you may end up outgrowing Smartthings at some point. I started with Wink, came to Smartthings after Wink imploded, then moved onto a dual Smartthings Home Assistant setup for awhile. Eventualy, I moved everything to Homeassistant. I don’t have anything against Smartthings and the future with Edge/Matter looks promising - those things were not on the horizon at the time I left about 6 months ago, and probably would have had me hold out longer if I knew they were coming.

The king of controlling LED lighting is Dr. Zzzs - I’d take a look at his videos for some more ideas - it can get advanced and uses Home Assistant, but he has tons of videos and projects that can show you the potential of LED light control.

1 Like

I see. Do you think SmartThings and Home Assistant can work together? I’m mostly trying to understand how everything works and I think it’ll be a long while before I do actually outgrow it, even the examples I mentioned can probably be done with ST and the commercial light strips, it’s just to understand what the boundaries are, what matter/edge drivers will do to change things (the former being one of the reasons I wanted ST) and
 really understand everything in this new world ^^"

Yes they can work together well - I ran a dual setup for awhile. Once Home Assistant is installed, there is a Smartthings integration in Home Assistant to expose Smartthings devices to Home Assistant.

1 Like

SmartThings is taking their usual “ Half a loaf is better than none” approach to Matter.

They have announced that they Will be able to bring mattercompliant devices into a smartthings account, but A SmartThings/Aeotec hub will NOT be a “Matter bridge,” so you won’t be able to bring devices connected to an ST hub into other mattercompliant apps, like HomeKit or Philips hue. So that’s a one-way Matter integration.

This is in contrast to Aqara and Philips Hue Who have announced support for two way matter integrations. Not only will you be able to bring other matter compatible devices into their own apps, their hubs will show up as a bridge device In other companies’ matter compatible apps. It’s a big difference, but one you won’t be able to tell just from looking at the logos listed on the box :thinking:

For more information about smartthings and matter, see the following discussion thread:

1 Like

And is the viceversa possible? Or at that point you’re using ST’s hub to be the hardware and HA as the software? How did you run it?

Controlling Home Assistant devices through Smartthings was not as easy as the other way around with that integration. It is possible though using virtual switches. If you create virtual switches in Smartthings, those will show up in Home Assistant, and then you can write automations on either side that trigger different devices off of those. Keeping their status (ie on vs off) in sync was a bit of a problem though.

I also had used Node Red and webcore together, but not sure if webcore is worth investing too much time in since it is Groovy based and likely will not last much longer

1 Like

And how were you running it overall? Using mostly HA to create automations and so on, with ST as the hub?

I started out looking for a replacement for webcore for automations due to its uncertain future, and found Node Red. I was able to bring all the Smartthings devices into Node Red through Home Assistant using the Smartthings integration I posted above. Although Node red and Home assistant are two different programs, Node Red is an “addon” for Home Assistant and many people use them together.

For a little while, I was doing automations all over the place (Smartthings automations in the app, smartlighting, Node Red, and Home Assistant). It started becoming too difficult to manage what automation was where, so eventually I just moved everything to Node Red.

After moving all automations to Node Red, at that point, all I used Smartthings for was as a hub to bring zwave and zigbee devices to Home Assistant. Since that was cloud based, I was still subject to internet connection issues and Smartthings outages (and an uncertain Smartthings future at the time), so eventually I got zigbee and zwave sticks and disconnected the Smartthings hub. Now all my zigbee and zwave devices are controlled locally with automations locally through Node Red/Home Assistant direct.

Shifting through all those programs was gradual though - Node Red and Home Assistant are difficult to learn and not user friendly. I took about a year before I fully switched over, but the dual setup gave me time to learn everything.

2 Likes