WLED Integration / Drivers

Revisiting this thread after some time, needed to make a minor fixes anyway, so I added the setEffectCustom function for use with WebCORE. Thanks for looking into that. Technically it works with setEffect and passing only a single parameter but you won't be able to control the other settings (speed, intensity, palette).

Updated code in the github repo.

1 Like

Fantastic! Cheers!

I was looking at the Hypercubes after seeing them on Paul Hibbert's tech channel. Pretty nice looking, so I reached out. It turns out that these support WLED so it should be possible to integrate them readily with Hubitat.

1 Like

Since their app is practically a dead-ringer for WLED, that is not surprising:

1 Like

I am actually not that familiar with WLED. When I made my own WS2812-based lights a couple years ago I wrote my own code for it and created my own Hubitat drivers. They work well for the Christmas lights I made them as.

Anyways, my HyperCube arrived so I wrote a driver for it. I tried one of the WLED drivers I found on the forum but it was a bit old and most things did not quite work. So I just pulled up the WLED docs, found out about the JSON API, and then just reworked one of my other drivers for it instead last night. Considering I have a bunch of API drivers and it is so simple... it was pretty easy to do.

1 Like

Hi,

Any idea why I'm seeing this error? It seems to appear every minute.
I'm using an ESP 8266 running WLED version 0.13.3

Thanks in advance.
Paul

dev:332023-05-17 13:15:00.242errorjava.lang.NullPointerException: Cannot get property 'on' on null object on line 156 (method parseResp)
dev:332023-05-17 13:15:00.232debugSynchronizing status: null}
dev:332023-05-17 13:15:00.228debug[bri:255, lor:0, mainseg:0, nl:[dur:60, mode:1, on:false, rem:-1, tbri:0], on: false, pl:-1, ps:-1, seg:[[bri:255, cct:127, col:[[255, 221, 172], [0, 0, 0], [0, 0, 0]], frz:false, fx:0, grp:1, id:0, ix:128, len:68, mi:false, of:0, on:true, pal:0, rev:false, sel:true, spc:0, start:0, stop:68, sx:128]], transition:7, udpn:[recv:true, send: false]]

I'm having some problems with Hubitat's color picker popup.
Installed and configured the WLED driver no problem, and the commands all work perfectly from the devices page, but the trouble is on the dashboard. When I adjust the color (on the dashboard) it works great while I'm making the adjustment, however, the moment I close Hubitat's color selector popup, Hubitat sends 255,255,255 (white) to the WLED driver.

Here is the Log where I set the color:
dev:122024-01-07 11:14:33.809 PMdebugSetting RGB Color to [53,25,229]

And here is what happens when I close the color selector popup:
dev:122024-01-07 11:14:36.960 PMdebugSetting RGB Color to [255,255,255]

I'm running WLED 0.14.0 and Hubitat 2.3.7.145

Thank you for any advice,
LLL

Hey, might sound a silly question, but i am having the same problem where i can only turn on or off 1 segment and not all?

How do i do this please??

Thanks in advance all :+1:

I'm seeing the same error. Did you ever find a solution?

I have 2 segments....
I can select a segment 1 and turn on and off and select segment 2 and turn off and on
#1. did anyone find a way to turn off and on multiple at the same time ?
#2. is there a way to turn on and off in Rules machine?
Thx
Tim

In the wled gui, tap the power button to turn off all segments at once. If all segments were on and turned off this way, I don't remember if they all turn back on with the power button. Can't verify - my setup is down at the moment...

Hi all, any updates on this? I only have the ability to turn the WLED lights on, not off. Does the full functionality work with this driver?

I use wled drivers daily, works fine.

See @blink "s post above, linking to the github.

I realize it's years too late, but I did add that Driver to the HPM Community Repo a couple minutes ago:

Screenshot 2025-06-23 at 4.31.34 PM

4 Likes

Which dashboard do you use if you don’t mind me asking? I use Sharptools.

Sharptools here too.

WLED button on the far left are my outdoor soffit strip lights.

1 Like

Are you able to change colors or only control on and off?

Which driver are you using? From a brief review of the thread, it sounds like the joyfulhouse/WLED driver is the go-to.

Driver Technical Review

From a brief review, it seems like it declares that it supports the required capabilities like Color Control and Color Mode but it does not seem to fully implement them.

It looks like the command for setColor() is there, but the driver does not track the state of the color related attributes like hue and saturation.

And it looks like the declaration for Color Mode is just a stub as it doesn't actually report the colorMode attribute from what I can tell.

Implication

So I suspect you could add the device to your dashboard and you might be able to manually change it to the Color Control Tile Layout (reference) and you might be able to long-press on the tile to get the Color Picker so you could send the setColor() command.

But it absolutely does not implement the capabilities fully and does not report the color related attributes so you would not be able to see the updated color state reflected properly on the tile.

Workaround(s)

And if manually setting the tile layout to Color Control and long-pressing on the tile to get the color picker isn't an option, as a workaround you could create a SharpTools Rule that would send the appropriate setColor() command to the device.

You could then add a few of your favorite colors as tiles to a dashboard using the SharpTools Rule you created.

:bulb: It's a bit of an advanced approach, but you can even stub a single SharpTools rule with the setColor() command and then use the special $.runRule("RULEID", {"parameter": "xxxx" }) hyperlink syntax to dynamically call that rule with the different colors you wanted.

You could even make that a separate dashboard with your favorite color options, then use the Dashboard Overlay feature. So your main dashboard could just have the critical details like the on/off state of that device along with your other devices... then you would configure one of the tiles on the 'main' dashboard to open the overlay and it would feel like a pop-up menu just for picking colors for that device.

1 Like

Yes, although it may not be as tidy as you'd like.

I use webcore for this, with sharptools.

Webcore piston:

(Grab the external url for the above.)

Then add a hyperlink tile in sharptools:

image

$.get("https://cloud.hubitat.com/api/blah", {"proxy": true})

Pointy-clicky. All good.

Robbed from my 2020 question, here: