Eos
Go, UDP, Cassandra -
Eos is a work-in-progress light management tool that is built to control and synchronize lights from different lighting brands (currently LIFX and planned support for Phillips Hue). Development for it has been stopped for now as I do not have access to my lights when I am at college, however, I plan to restart development at some point in the future.
The project is currently split up into three components: the main control program, the bridges for each light vendor, and the cassandra database.
The main control program will coordinate all of the different light bridge interfaces to streamline them into one interface. However, the only bridge currently implemented is for communicating with LIFX bulbs. The cassandra database then keeps track of all available lights, their current states, and any saved lighting themes
Lifx Protocols
The LIFX bridge communicates with LIFX bulbs via a UDP connection rather than the HTTPS API for improved latency. Additionally due to the connection being on the local area network, no LIFX credentials are need to run the program and connect with lights.
Currently, the LifxBridge has support for finding lights, getting their state, and saving/playing themes.
In the future, I would like to add the following features:
- A graphical interface to create themes rather than only being able to save colors after using the LIFX app.
- Improved UDP protocol services to ensure that the LIFX devices are updated properly
- Eventual support for more lighting brands and the ability to sync internet based devices as well as hardware devices (ex. gaming pc lighting)