Hi,

Over nearly two years now I’ve been writing a framework at LIFX for interacting with our lights. I am pleased to announce that I’m opensourcing a large portion of this framework!

It’s called photons and it can be found at https://github.com/delfick/photons-core

Photons is powered by asyncio and requires Python3.6. It’s also thoroughly unit tested.

The main difference from existing libraries in terms of API is a focus on sending messages to serials instead of calling specific methods on device objects, which gives a greater level of control over how we deliver those messages.

You can also do a number of common tasks straight from the commandline without having to create your own scripts. For example you can turn all your strips red by saying lifx lan:transform match:cap=multizone -- '{"power": "on", "color": "red"}' or set a label on a device by saying lifx lan:set_attr d073d5000001 label -- '{"label": "kitchen light"}' .

You can find information about what Photons can do over at https://delfick.github.io/photons-core/

I look forward to seeing what people think of and do with my work!

Stephen.