/lifxe131

A set of script used to enable you to control your Lifx lights through the sacn/e1.31 protocol like xLights

Primary LanguagePythonMIT LicenseMIT

lifxe131

A set of script used to enable you to control your Lifx lights through the sacn/e1.31 protocol like xLights

I'm working on turning this into a service that can be installed, configured and run a raspberry pi or other computer to enable you to use Lifx smart light bulbs in an xLights show.

The goal is to run this on the same Raspberry Pi ( or another ) as with Falcon Pi Player ( https://github.com/FalconChristmas/fpp/releases/ ) where you'd upload your fseq files from xLights so that you can play your light show with your normal ws2811 RGB LEDs and these lifx smart lights.

configuration

For now you need to give your lifx bulbs a label that can be sorted in order, say 1, 2, 3, 4, ... This script will discover all lifx bulbs on your network, sort them in alphanumerical order and then replay any e1.31 dmx channel data received to it as lifxlan data packets to the discovered lights.

Still much work to be done, for now e131_receive.py has a header of configuration that you can do, later I'll pull that out in a configuration file that you can update upon install or something.

current configuration options:

########## START CONFIG SETTINGS ###########

UNIVERSE = 2 # Which dmx universe it should be listening on

first_channel = 0 # First DMX channel - 1 (to account for array position)

numb_lights = 3 # How many lights you have on your network? All must be in the DMX data

max_bright = 0.8 # Brightness, from 0 - 1 - Designed to allow for rich colors until you reach the brightness below.

If r + g + b > override_max_bright_total_rgb, it adjusts max_bright by the percentage between override_max_bright_total_rgb and 3 * max_rgb_per_color

i.e. for 255 * 3, max_bright will be set to max_bright_override

for 200 * 3 or lower, max_bright will not be adjusted

for in between, will be adjusted proportionally

override_max_bright_total_rgb = 200 * 3 # The total brightness to allow moving from max_bright up to max_bright_override

max_bright_override = 1.0 # Allows for moving from single colors to bright white.

########### END CONFIG SETTINGS ###########

I'm using the pip packages lifxlan and sacn to make this all work. props to them for doing all the hard work.

You can pass an IP-Address to bind the sACN receiver to on the command line.