LIFX Developer Zone

What are you building?


I just started playing around with the LIFX Z LED strips. Using Petr Klus’s python library, I was able to control one segment with my mouse and do cool things with it (at least I think it’s cool)


Lifx Music Sync’ed in Theater Show context :slight_smile:

Demo here :


This weekend I built a tool that integrates Skype for Business presence state with LIFX bulbs using the HTTP API and the Skype for Business (formerly Lync) Client API. It’s something I’ve wanted for some time – I work at home and when I’m in a conference call, I wanted a way to let the kids know not to bang on my office door unless there’s an emergency (I work with customers who are usually in offices and it comes off as really unprofessional).

It’s very alpha at this point, will be released under the Apache 2.0 license, though I won’t be releasing the source code until next week (this was a “let’s see what I can do with this” sort of 2-hour exercise … the code needs some clean-up before I’m willing to put my name on it), but it’s available for download on my keybase drive.


I built the app “Firestorm for LIFX.” It offers three different fire effects: candlelight, fireplace, and campfire. The flicker effect runs at a random interval and brightness. The campfire has the shortest interval (fastest flicker) and widest brightness range, followed by candlelight and then fireplace.

Google Play:
App Store:

 I have 2 LIFX BR30 bulbs illuminating my fish tank. I have a raspberry pi running Arch ARM that controls the bulbs via systemd timers, python scripts and api calls to weather underground. In the morning, if the weather is clear It runs a "clear weather sunrise" script. If it's cloudy, gloomy, overcast, ect. it runs a "dismal weather sunrise script. I have the same setup that runs mid-day and for sunset. 
 I also have 21 LIFX+ BR30 bulbs around the outside of my house and run a similar setup on the same raspberry pi except I have themes for holidays that rotate colors every 10 minutes or so.


UPDATE: This now uses the LAN API with an HTTP interface. It includes a route for toggling groups as well as discovering new lights, groups, and scenes. Now you can run this on a server at home and have it be the controller for your lights. Works with IFTTT Webhooks.

I setup a Node.js project running an express JS server listening to a single route /toggle-scene/:sceneName which toggles the lights in a scene on or off depending on if the scene is already on or not.

The way it works, you hit the route either directly or from IFTTT’s Maker Webhooks task.

There are two modes for route: either turn on the scene, or turn off all lights in the scene.

  1. If scene is already on (meaning all light configurations in the scene match the scene’s config), then turn off all lights in the scene.
  2. In any other case, switch all lights to match the scene.

It somewhat solves a problem I’m having with Logitech POP buttons where you normally have 3 functions: short-tap, long-tap, double-tap. With this, you can have up to 6 functions per tap type

Here’s an example for your living room when your lights are off:

  1. Single-Tap => Turns on “Bright Living Room” scene
  2. Double-Tap => Turns on “Watch Movie” scene
  3. Double-Tap => Turns off all lights in the “Watch Movie” scene
  4. If for whatever reason your “Bright Living Room” scene triggers different lights, Single-Tap will turn them off as well. If not, it will turn on that scene.

It works even if you turn the lights on and off from another switch or from Alexa because all it cares about is the current configuration of each light (power, brightness, color).

Project on GitHub

Maker Webhooks on IFTTT

Sadly, it takes 3-4 seconds to execute even running the webserver locally because the LIFX cloud HTTP API seems very slow when grabbing a large list of scenes. I can speed it up if I had a way to directly grab a single scene. Also, if the LIFX cloud is having issues connecting to your lights, sometimes it’ll miss some lights. Best way to fix this with a future code update is to do a check if it executed properly the first time; if not, run the command again.


@mdip VERY COOL! I attempted the same thing a while ago but gave up because the Skype for Business APIs weren’t working for me; at least I couldn’t find a python package that worked with our enterprise servers.

As a workaround, I wrote a script that looked at the desktop client’s state and changed the LIFX bulb lights to match it. It uses the LAN API so it’s ‘faster’.

The Mac version is here
The Windows version (uses screenshot and image processing) is here


I developed this small app in order to add a toggle button to your android devices drawer

it will require android 7.0 or above.


Decided to add an extra gimmick to a game I have to make for computer science. Having the day-night cycle linked with the lights in your room when the game is playing, and possibly having some effects corresponding to those in game


With all the cooking this holiday season (Thanksgiving and Christmas), my collaborator and I decided to add a “Spices & Herbs” collection to Lightbow.


I just released a new version of my app Music Blitz. It includes a bunch of new customization options for more interesting shows.

Here’s a short demo that shows some lights reacting to some of the settings.

I created a GitHub project page to explain the settings and have a record of what I’d like to work on with it.

If you’re interested in checking it out, it’s on the Play Store. If you have any questions, comments, or suggestions, feel free to contact me here, via email, or through GitHub.


Here is a client side java script application build with the LIFX HTTP API and AngularJS Material:

  • Group/Light selecting
  • Switch on/off
  • Send color in RGB
  • Send effects (Breathe, Pulse)
  • CURL output in js console

Github repo:


Java Libraries for Interfacing w/ Lifx bulbs over LAN



I’m currently working on a Minecraft mod to have an immersive experience with my lights.
As the API is slow for me (~1s) it’s not really convicing*, so I write a side Java app to learn how to control the lights with the LAN protocol.

It’s fun :slight_smile:

In the past I have done many things with IFTTT and some bash scripts.
The API is great but some features would be welcomed, like a theme control.

*for instance, when you enter in a cave, the game’s light tumble down quickly, like 1→0.8→0.6→0.4→0.2 in 1 second, so my LIFX have to respond very quicky


Cool! I’m trying to do something quite similar.
How do you detect the ambiant light level when you’re outside? The only data I can retrieve are the light emitted by a block, or by the sky, but the last one is always 15 even at nighttime.


Happy Valentine’s Day everyone!

My gift to you is an open-source python Desktop GUI that I wrote using the appJar framework. I used lifxlan as the underlying library to control the lights. (Sorry Daniel)

It provides a ton of details and finer control over the bulbs than most apps. (Mac Address, IP Address, Port, Power and Colour state, UpTime, Firmware Version etc )

Additionally, you can perform pulse and breath effects by using the waveform function. You can even perform the coveted strobe effect previously only available through the mobile app.

I am releasing it in the hopes that better python programmers can improve it and make it better and more useful for us hackers to play around with. You can find the github page here:

Let me know what you think and if there are any features you would like to collaborate on.


Sorry? @mclarkk’s library is way better than mine. Good choice!


I am working on building animations for the Lifx Tile. as part of that I built a clock program using Python. Now that I have the clock working reasonably well, I am going to try to come up with some animations!


I’ve been working on a way to change the color of my lights via augmented reality. I created an RGB color cube that, as you move your hand through it, updates the color of your lights in real-time. I have this base proof-of-concept running, so I want to build a more comprehensive and easier to use interface as well as better selection methods for color such as HSV or HCL selectors. Here’s a video of my current progress.


Not a new idea but I have recently been putting a desktop app together to control LIFX devices. I started this project to learn VueJS and Electron. I have only been working on this for just over a week so it is still very much a work in progress with only testing on macOS High Sierra and with LIFX A19 bulbs.

The difference between this desktop app and the others is the UI is very similar to the iOS app.

Built with:

  • VueJS
  • Electron

The app in action:

The GitHub repo for build instructions and screenshots:

If you want to play with the color dial, I first started developing it on CodePen: