[RELEASE] SmartLife (H801) RGBW LED Strip Wifi Controller & Bulb

Thank you @brumster.

Quick follow-up, if I follow the Github linking process, if @erocm1231 makes an update to the SmartApp or the Device Handlers, does that automatically update my handlers/app? So, in other words, if he publishes an update to the app, will I automatically see the new version next time I open the app up or do I have to do some additional process? I will search and read up on the Github integration. Thanks again. Even though this seems much more complicated than it should be to get custom apps, I’m really looking forward to this project. I can see this quickly spiraling out of control once my fiancee sees it. LOL

No you still have to update them via the IDE.

For user created code, the barrier to entry is necessary in my opinion so people have hopefully a better understanding of what they are doing. Unless ST publishes the SA or DHT, they won’t support it. Don’t want that to be TOO easy for the average person to use then, or all kinds of angry people come out of the woodwork.

Here’s the github info for Eric’s stuff:

Thanks for the info. I envision something like Linux packages… an ecosystem that you have to manually enable for unofficial stuff, but when the author publishes a change you can pull it in automatically with an update. Maybe someday. :slight_smile:

1 Like

It is similar to that, just not quite as elegant. What happens when I post an update is the color of the device handler / smartapp will change in your IDE. This will indicate that you need to click the “Update from Repo” button in the upper right of the screen. I’m sure this is mostly because automatic updates could cause some real issues (on accident or maliciously).


Question but slighty off topic.

I’m going to start this project but i wanted the community opinion:

Where should I mount the LED strips? Towards the back of the kitchen cabinet or towards the middle? Wife says this is for decorative so the back would better. I think middle since this would probably give off the most light possible, which for me is more functional. Thoughts?

Thanks for the DH and the hard work. Working great so far on my one. Got 3 more coming from China.

Suggest you mount them temporarily with a bit of gaffer tape or something similar and see what looks best.

The answer to this question will depend on the design of the kitchen, wall colours, floor plan, etc. Try it and see.


  • Did you plan to include mqtt in your h801 Firmware?
  • Is it possible to set a default color, like milight(save the last color after plug is off/on)


Yeah, I had the same issue with w1/w2. I was able to “fix” it without refactoring the code. The way I did it probably will cause some unexpected behavior (read: different from before) since I wanted the ability for the main dimmer to turn w1/w2 on when they are currently off. Since I couldn’t find any sort of previous state, going from off -> dimmer will force the white on. This is exactly the behavior I wanted, however, so that I could use my Google Home to turn the lights on/off. Currently RGB has the same limitation (I wasn’t able to use Google Home via dimmer since the “current state” of R/G/B was 0, and so the event wouldn’t fire correctly)

This is the PR that shows the modifications: https://github.com/erocm123/SmartThingsPublic/pull/3

If @erocm1231 has any suggestions on a clean way to fix I’d be happy to help! On the other hand, it may just be a personal preference thing :).

Also, @rinaldok, I flashed my h801 using a Mac, but I followed these instructions instead. I didn’t try esptool, but I imagine it would work. If it does, please report back!

Edit: I wonder if storing device state would fix this. I’ll try it out today!

The main reason is so I can dim the leds from Alexa or from my harmony. 95% of the time I plan to use the warm white w1 channel. I prefer that tone over the white coming from the RGB channels.

By the way thanks for all your hard work. Overall, It’s working great.

I experimented with putting the LED strips on 45 degree supports as well which gives a different look (and expense) I finally ended up just putting it directly flat on the cabinet.

Tape it up for your own preference look, but I found that for the upper cabinets towards the back wall off about 2 to 3 inches gave a great wall lighting effect and a glow look. When I did the upper cabinets with the strip at the front it gave a “hard” lighting edge on the ceiling and not the gradual effect which I thought was desirable. This is of course depend on how close to the ceiling the upper cabinets are. For my cabinets I had 12" and 6" gaps. In the picture below you see the “hard” edge of the light when put at the front of the upper cabinet with 6" gaps. It is due to front edge blocking the blue light which produces that sharp shadow. And then my kitchen that has the upper lights to the back that give a more gradual light transition.

However on the lower cabinet lighting it is the opposite (because the gap is larger). I placed the lights at the front edge that gave the best task lighting which also happened to give adequate back splash lighting.

Thanks for the info @trystanj, but I’m a little confused. You said you didn’t use esptool but the page you linked indicates using esptool in the directions.


Ah, you’re right. I missed this part in the espressif/esptool page:

esptool.py was started by Fredrik Ahlberg (@themadinventor) as an unofficial community project. It is now also supported by Espressif.

So, it looks to be the same, since the page I linked uses themadinventor's version. It should probably work either way!

I think I just solved the limitations I was stuck with in my PR. I’m sure you’re super busy, but if you have a chance to play around with it, I’d really love your feedback! I’m perfectly content to run my own branch, but it seems like a useful addition to your main branch :slight_smile:

These controllers are stupid-awesome and really fun to hack on, thank you so much for all the hard work you’ve put into them!

Thanks for the tips, ideas and pictures.

Played around a little bit and for the lower cabinets i tried putting the LED strips in the middle of the bottom cabinets and the wife couldn’t the difference where the strip was placed. So that was good in my favor.

Now I re-adjusted it and I have it closer to the front of the cabinet now. I’m using 3000K LED strips with 300 leds in a 5M spool. I think the light should be more than adequate to light the backsplash and the counter tops underneath but up to the wife and not me. Lol.

My bigger challenge is to connect the different length of strips from each of the cabinets together. I’m torn either drilling a small hole just enough to pull a small amount of 22 GA wire to solder them together or skip drilling and go underneath and over to the next cabinet with the wires. Then I have this huge corner gap that is about 4ft long on each side that i need to some how connect to the other LED Strips with very little/no wires showing.

I just bought another H801 to solve that problem for as inexpensive as they are. In my picture above I have three of them, one across each gap. :slight_smile:

Of course you can solder wires to connect the strips if as well between large gaps but for adjoining cabinets just drill a larger hole and pass the LED strip through to the next cabinet.

Remember not to overload a channel. They handle 4amps per each channel I believe which rule of thumb is 5 meters of LED strip. I speak from experience :fearful: (post of melted H801 here) You need to get an signal amplifier for each additional section of 15ft on an individual H801 channel along with another 5A power supply. There are two versions of the amplifier so if you don’t need the RGBW version save yourself some money and get the 4channel RGB version.

question. On the app the LED’s can turn of INSTANTLY. but i wired a momentary switch to J3 and it seems they fade on and off… IS there an option to have them quick on and off like the app control does?


Looks awesome. Question; can you share how you ran cable and where you put the controller? I’d like to consider this but no idea where to put the components

i use the led strips with google home and it works perfectly except for one thing…
I cannot make the ledstrip white leds (white is in Port W1) be turned on by commmand (White level slider in the app), and that’s the one the wife likes… Anyone found a solution for that or should i be making virtual switches which makes the white level be turned on?

Not sure if this would work, but you if you only like white, maybe you could just run that as one of the other colors and just have to remember to trigger that color for white?

1 Like

I merged your changes to the master branch. The only bug that I have found is when the “mutually exclusive” option is selected in the device preferences. This is because the device gets sent the level changes for w1/2 and also gets sent rgb of 000000. It sees the second request as an attempt to change rgb and by default sets w1 to 00 and turns it off. Probably fixable in the device handler, but possibly in the firmware as well. I will have to think about it.

Thanks for doing that by the way. :slight_smile:

@crasy88 I don’t think that Google Home will play nice with W1 & W2. I think it just sends rgb values when you request a color change. You could use Virtual Device Sync and create switches for the channels. Name one switch “Cabinets White” and say “Set Cabinets White to 50%” or “Turn Cabinets White on.”

@karl62684 Currently the only option for J3 is to fade. It wouldn’t be too tough to add though so I will try to get it in there.