BradyBrenot / huestacean

Philips Hue control app for desktop with screen syncing. C++ with Qt Quick GUI.
http://huestacean.com
Apache License 2.0
565 stars 53 forks source link

Hue White & Colour Ambiance bulb Stopped Syncing with 2.5 #81

Closed Dracrius closed 6 years ago

Dracrius commented 6 years ago

I just updated from 2.0 to 2.5 so I'm sorry if this happened in a past update you've been busy! It may not be as easy to find the culprit.

I have two entertainment groups one which only includes my lightstrip plus and one which contains it and my office ceilings Hue White & Colour Ambiance bulb. I usually only use the lightstrip but with all the updates it looked amazing after I tweaked the settings so I wanted to see what the whole room would look like. Unfortunately no matter what I do I can not get that ceiling light to work with huestacean after updating. If I select the group that contains both lights my ceiling light just turns off and remains unresponsive to my hue switch just like when it was actively syncing but it stays off even when on white web sites like this one.

banksio commented 6 years ago

This may sound stupid but I'll ask as it's a ceiling light. Are you watching a movie with black bars at the top and bottom, or something else with that sort of black border happening at the top? This happened to me recently, so maybe this is happening, check the preview display in huestacean and compare it with the numbered lights display in the top right.

Dracrius commented 6 years ago

No I tested it with both monitors on my desktop, this literal web page in firefox and a 16x9 (no bars) game play through of subnautica.

BradyBrenot commented 6 years ago

Yeah, this is weird, I've never seen just one light fail.

Is the light positioned in the same place in the scene on the right as lights that are working?

How many lights are there total?

Does anything happen if you drag the "Saturation multiplier" down to zero, or drag min brightness up to 100%?

Is the light working in the (*EDIT: Philips') iOS/Android app (if you go to Entertainment Groups, and then press on the light so it starts flashing)?

Dracrius commented 6 years ago

Alright Testing Stage 1 results:

Lights are positioned the same as the scene on the right.

There are 2 lights in the group I am trying to use. Full system/ through out the house there are 11 lights in total but only these two are in an entertainment group.

Saturation down to zero changed nothing but raising the min brightness instantly lite up the bulb but it wont change colors. It will just light up white at whatever I set min brightness to while the lightstrip is going along with video's fine.

Last thing I did was run through the Philips "Test Area" setting for that group and the bulb responds perfectly to that test. I also opened up the copy of 2.0 I still had and it still works fine so something broke between 2.0 and 2.5.

I won't have time tonight but if you need me to I can test the other 4 builds tomorrow to see when exactly it was introduced.

Collisionc commented 6 years ago

Yeah, something is a bit off, as only 1 of the 6 lights is updating when I run huestacean 2.5.

In my case I have 5 bulbs + 1 lightstrip and only 1 of the bulbs is updating.

2.4 does not seem to be affected by this issue.

Kinematic9 commented 6 years ago

Hi, I am also running into issues with 2.5. I have a 'PC Group' that includes 2 bulbs, one to either side / rear of the monitor. Prior to 2.2, everything was perfect. 2.4 made things brighter/more sensitive for the screen, and now with 2.5 only the left one turns on and reacts, the right one just turns off.

BradyBrenot commented 6 years ago

Well that narrows it to one version, and for that matter one commit.

I haven't used 2.5 as much as I usually do yet, I'll see what I can see today before the ice storm rolls in and kills my power. If I'm lucky I can just reproduce the issues too

BradyBrenot commented 6 years ago

Added all five of my lights to one group, clicked start, TV light stayed off. 💤

BradyBrenot commented 6 years ago

Got it, there's some straight-up stupidity happening here on my part.

I calculate the time that's passed since the last light update:

        double deltaTime = timer.restart() / 1000.0;
        if (deltaTime > 1.0 || deltaTime <= 0.0 || std::isnan(deltaTime)) {
            deltaTime = 1.0;
        }

But, being a genius and all, I do this per light. Roughly looks like:

timer := new QElapsedTimer
loop
  for every light
    deltaTime = timer.restart()
    update light using deltaTime
  sleep 15ms

So the deltaTime is right for the first light per update (~15ms), but not for any that follow (since they're each restarting the timer).

This is somewhat a result of how messily this program's been thrown together up to this point. I'm hoping the cleanup in #80 helps this type of thing not happen.

Getting a build together quick as I can.

Dracrius commented 6 years ago

Perfect new build tested and working thank you again for a quick resolution.