Problem with "Welcome lights" and "Coming Home"

Hi,

I’m having an issue with my WLED (v16.0.1) setup. I have 4 LED strips split into 2 segments each, giving me a total of 8 segments, plus a physical wall button.

Currently, it works as expected: when I press the button, the light slowly lights up from the corners to the center and stays on. When I press the button again, it slowly dims from the center back to the corners.

The issue happens after a reboot or power outage. When power is restored, the button stops working, and I have to open the app or web GUI to manually click the turn-on preset and the preset assigned to the button. After doing that, everything works properly again.

  1. Do you have any idea how to fix this?
  2. Is it possible to configure the wall button so that a short press toggles the light on/off, a double press triggers a random effect, and long-holding it adjusts the brightness (dimming/brightening)?

Here are my presets:

1. On/Off Pushbutton

win&T=2

2. On swipe right

{“on”:true,“bri”:255,“transition”:50,“bs”:2,“mainseg”:0,“seg”:[{“id”:0,“start”:0,“stop”:73,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:true,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:1,“start”:74,“stop”:146,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:false,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:2,“start”:147,“stop”:294,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:true,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:3,“start”:295,“stop”:442,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:false,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:4,“start”:443,“stop”:515,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:true,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:5,“start”:516,“stop”:588,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:false,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:6,“start”:589,“stop”:735,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:true,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:7,“start”:735,“stop”:882,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:false,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0}]}

3. Off swipe left

{“on”:true,“bri”:255,“transition”:50,“bs”:3,“mainseg”:0,“seg”:[{“id”:0,“start”:0,“stop”:73,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:true,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:1,“start”:74,“stop”:146,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:false,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:2,“start”:147,“stop”:294,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:true,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:3,“start”:295,“stop”:442,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:false,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:4,“start”:443,“stop”:515,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:true,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:5,“start”:516,“stop”:588,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:false,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:6,“start”:589,“stop”:735,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:true,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:7,“start”:735,“stop”:882,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,255,255,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:11,“c1”:128,“c2”:128,“c3”:16,“sel”:false,“rev”:false,“mi”:false,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0}]}

on / off just sets the brightness, you need your preset loaded before calling it.

That’s a very awkward set-up IMO.

First, you need a boot preset that will handle your physical set-up (setting up segments and effects and transition). This boot preset should have "on":false and whatever "bri":XXX you want.

You do not need “Off swipe left” preset with settings you describe above. Just the first preset is enough (as boot preset but change “on” to false), combined with button preset of win&T=2.

EDIT: There’s also an “inside-out” and “outside-in” transition style that may simplify segment set-up.

So the story goes like this: the hardware is Gledopto and it was on v0.15.4. I updated it to v16.0.1.

I configured everything I could, and that was the point when I posted on the forum. I should mention that back then, neither on 15.4 nor 16.1 did the wall switch work without a saved preset (win&T=2).

After getting replies on the forum, I thought I’d start from scratch, so I looked for a factory reset option. I couldn’t find the Security & Updates option—not sure why, but whatever. I downgraded back to 15.4, the Security & Updates option appeared, and I performed the factory reset.

Next, I tried connecting to WLED-AP, only to find out that the password “wled1234” was incorrect. xD I tried connecting via Ethernet using 4.3.2.1—nothing, completely dead. I tried resetting using the “functions” button by holding it down for 10 seconds, but no luck. A short press on “functions” toggled the LEDs on/off, and holding it for a second cycled the colors, so WLED was clearly running to some extent. I also quickly power cycled it 5 times, but that didn’t work either.

In the end, I disconnected everything from the setup and reflashed it over USB to v16.0.1, which solved the connection issue. Plus—and this is a huge bonus for me—the wall switch now works without having to set up a preset. All I had to do was set GPIO13 as a pushbutton, which I had done before anyway.

Currently, following your advice, I’ve set up only 4 segments (previously I had 8 because my LEDs aren’t perfectly evenly spaced and I was worried the center point wouldn’t line up where I needed it). I used “outside-in” and it looks good enough to me.

The preset looks like this—it doesn’t include win&T=2, and after a power outage, it remembers everything so I can turn the LEDs on using the wall switch:

{“on”:false,“bri”:255,“transition”:50,“bs”:4,“mainseg”:0,“seg”:[{“id”:0,“start”:0,“stop”:146,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,240,244,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:50,“c1”:128,“c2”:128,“c3”:16,“sel”:true,“rev”:true,“mi”:true,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:1,“start”:146,“stop”:442,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,240,244,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:0,“c1”:128,“c2”:128,“c3”:16,“sel”:true,“rev”:true,“mi”:true,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:2,“start”:442,“stop”:588,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,240,244,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:0,“c1”:128,“c2”:128,“c3”:16,“sel”:true,“rev”:true,“mi”:true,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“id”:3,“start”:588,“stop”:882,“grp”:1,“spc”:0,“of”:0,“on”:true,“frz”:false,“bri”:255,“cct”:127,“set”:0,“lc”:1,“n”:“”,“col”:[[255,240,244,0],[0,0,0,0],[0,0,0,0]],“fx”:0,“sx”:128,“ix”:128,“pal”:0,“c1”:128,“c2”:128,“c3”:16,“sel”:true,“rev”:true,“mi”:true,“o1”:false,“o2”:false,“o3”:false,“si”:0,“m12”:0,“bm”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0},{“stop”:0}]}

Here is the video: https://www.youtube.com/watch?v=MnbmVMtDghc

Sorry for the late reply, but I only managed to get around to this over the weekend.

Now I’ll try to come up with some use case for double press and long press.

I’m happy if you are happy. :smiley: