kershner / screenBloom

Fake Ambilight for Philips Hue via Python

Home Page:http://www.screenbloom.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Bug] Odd color interactions with the new Hue Play Light Bars

VitaminDK opened this issue · comments

Recently picked up the new hue play light bars and I am noticing some super odd interactions with the software - they don't seem to show the correct color when in use. Blue comes out as purple, and even a small bit of red seems to produce white.

It works perfectly with every other hue product I've tested it with - this new color interaction seems to be specifically related to the play light bars from Philips. Also, through the Hue phone app and Alexa, I can set them to display any color flawlessly, so the light bars are entirely capable of displaying blue - but when connected to Screen Bloom, they seem only capable of producing Purple when they should be showing a deep blue. Also some weirdness with red resulting in white when it should probably be orange.

Any advice you can offer? I can throw up some photos up if people want to see the odd interaction, The reason why I'm convinced something is off is that the color output before the play bars was SPOT on with what I was seeing on the monitor.

Some follow up information -> I believe its Cyan as the color that Screen Bloom is not producing with the bar. When doing a monitor test of pure Cyan, the light only created white. Also when trying to produce a royal blue, I get purple, and when trying to produce Green, i get yellow - both interactions suggesting there is an issue with Cyan.
ScreenAqua1

Hey there! Very sorry that you're experiencing this bug. Unfortunately I think I know exactly what is happening. ScreenBloom has been in a development freeze for some time now as my professional life has gotten busier and I don't have the time to continue development. What's happening is these new Light Bars weren't around when ScreenBloom was put out into the wild.

Each Hue product has a specific color gamut that it is able of producing, and ScreenBloom needs to know which gamut to send to the bulb when sending a color value to change. At the time this meant maintaining a big dictionary of Hue product models and their associated gamuts, see this line here.

You can probably see where this is going. That dictionary of products is locked into Hue products that were available at the time, well before the Play bars were announced. If the product isn't found in the dictionary a default safe gamut is returned, which is what you're seeing there.

So TL;DR the program needs to be updated to support newer products, and I don't have the time currently to do it. It's a really easy fix tho, so I hope to get around to it sooner or later.

Hey! Actually I think you might be able to accomplish what you're looking for. If you take a look in

c:\Users\<Your Username>\AppData\Roaming\screenBloom\screenBloom_config.cfg

you'll see a big JSON array of your bulb settings. One of the key/value pairs is for gamut. I don't actually see the Hue Play bars in the docs here (provided you have a dev account), but I'm guessing they're just gonna be gamut C. So you can try just opening up that .cfg file in Sublime or Notepad and plugging in a C in your chosen light's spot. Lemme know how it goes!

Worked like a charm. The lights now show Aqua, and thusly Yellow and Green are spot on as well. Thank you so much!