hyperion-project / hyperion.ng

The successor to Hyperion aka Hyperion Next Generation
https://hyperion-project.org/
MIT License
3k stars 374 forks source link

Add support for LIFX light bulbs #1069

Open joachimpr opened 3 years ago

joachimpr commented 3 years ago

Feature request

Please add LIFX support (especially the light bulbs) as is implemented with Phillips Hue.

What problem does this feature solve?

This will allow you to extend Hyperion to other areas of your room creating a better media experience - Don't get me started on the gaming possibilities :-)

What does the proposed API look like?

Not applicable, I think?

How should this be implemented in your opinion?

From an implementation perspective, the same as Phillips hue, but without the bridge. from a technical perspective, I am afraid I would not be much help.

Are you willing to work on this yourself?

I am not NEARLY skilled enough to assist with the development but I would be happy to test and provide feedback.

If there is anything else that I could do, Please feel free to ask. I am happy to provide more information to this request or help where I can. Apologies if there is something that I did wrong on the template. If there is anything I can do to correct/assist, please feel free to ask.

Lord-Grey commented 3 years ago

@joachimpr Have you had a detailed look at the REST-API (Hue like) specification? You can only do "120 requests for a 60 second window" which is 2Hz.

https://api.developer.lifx.com/docs/rate-limits

This is normally not the throughput/update frequency users of an ambilight system expect. Also Philips moved to the Entertainment API for that reason.

There is an alternative protocol available which can do (20 request per second) 20Hz, but it is far more complex. https://lan.developer.lifx.com/docs/introduction

joachimpr commented 3 years ago

@Lord-Grey would something like this not help remove some of the complexity of the LAN API?

https://github.com/mclarkk/lifxlan

What exactly is required to be able to integrate the lan API into Hyperion?

Lord-Grey commented 3 years ago

Hyperion would require C++ code not a python library.

Maybe something more like that: https://github.com/riplatt/LIFX-Dimmer-Switch/tree/896a54b1812f1c05c5dbd603248ca57ec7fcf210/frimware/photon

What exactly is required to be able to integrate the lan API into Hyperion?

My current experience is that for all that UDP-special protocols it is best to have the physical device at hand during development. Therefore, I could help you or someone with LIFX with the framework and you could do the coding and testing....