Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Integration of Phillips Hue Lights #296

Open
Shiichibukai opened this issue Feb 8, 2023 · 6 comments
Open

Feature Request: Integration of Phillips Hue Lights #296

Shiichibukai opened this issue Feb 8, 2023 · 6 comments

Comments

@Shiichibukai
Copy link

Would love to see support for Phillips Hue Lights to be integrated into RGB.NET so they can be controlled and set up similar to Keyboards and other devices.

Use case would be making the lights trigger on certain events, similar to how it already does if you use the HueSync App on PC/Consoles. Aka when colors on the screen change > the lights respond. Lightning strikes > the lights light up accordingly. That kind of stuff. But more control, to have it only do certain events/conditions, not just EVERYTHING on the screen.

@RobertBeekman
Copy link
Collaborator

RobertBeekman commented Feb 8, 2023

Hi, Artemis features Philips Hue integration using RGB.NET: https://wiki.artemis-rgb.com/en/guides/user/devices/philips

The implementation of the RGB.NET device provider is backed by Q42.HueApi. Currently it's part of the Artemis.Plugins repository, you can find the device provider here: https://github.com/Artemis-RGB/Artemis.Plugins/tree/master/src/Collections/Artemis.Plugins.PhilipsHue/RGB.NET

If you want to use the code in your own project that's fine but note that it's currently available under the PolyForm Noncommercial License 1.0.0. If you need something else I can look at extracting the RGB.NET device provider from the repository and publishing it separately under a different license.

@logicallysynced
Copy link
Contributor

@DarthAffe is it as simple as extracting the device provider as is? Or is there wrapper code it relies on from the Artemis plug-in implementation, such as passing it config information, etc.?

@DarthAffe
Copy link
Owner

DarthAffe commented Feb 8, 2023

The code robert linked should work fine independent of artemis.

@logicallysynced
Copy link
Contributor

Apologies, I meant to tag @RobertBeekman but tagged you instead as i was half asleep. 😅

@logicallysynced
Copy link
Contributor

logicallysynced commented Feb 8, 2023

It seems there is code here that is required to be merged in with the device provider (for anyone looking at this post):

https://github.com/Artemis-RGB/Artemis.Plugins/blob/master/src/Collections/Artemis.Plugins.PhilipsHue/HueDeviceProvider.cs

@logicallysynced
Copy link
Contributor

@RobertBeekman are you able to explain how the bulbs are assigned to LedIds?

After carefully looking at the code, it seems the DeviceType is set to RGBDeviceType.Unknown, and the LedId is set to LedId.Custom1. However the provider seems to assign it per entertainment group. Is each group being assigned to an LedId or is each bulb within the group being assigned to an LedId? Does that mean the same bulb in multiple groups could be assigned multiple LedIds?

That aside, I'm having trouble controlling the bulbs, I have got them being detected by the app and being listed as a Device on the surface, but when I try and change a value on LedId.Custom1, it doesn't work. I also tried changing them to RGBDeviceType.LedController, as this more accurately aligns with LedId.Custom1 (as opposed to LedId.Unknown1) but still nothing.

Any advice would be appreciated here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants