What are you building?

I have been working on a lifx physical switch to use as an alternative to the ‘real’ light switch on the wall so the lifx smarts still work and it can still let me know when the ISS passes overhead or turn on for me when i get near home automatically. It is also because others in my household simply prefer a physical switch to reaching for their phone. I have been waiting for lifx to release a physical wall switch that is fairly cheap, but I thought I should see how hard it is myself :slight_smile:
I know many versions of this have been built by others already but all that I can think of use either expensive hardware (relatively expensive for me anyway considering it just emulates the behaviour of a ‘dumb’ switch but with wifi) or require a bridge i.e. a computer server running scripts to do the actual communications with the lights.

I am a cabinet maker, not a software engineer so my coding is very messy, poorly documented and borrows allot from others code examples (all open - source but if you spot anything that upsets you just let me know and I will try to rewrite it!).
I chose to use ESP8266 as they are very cheap (I think $8.50 USD for the v0.9 Nodemcu dev board that I used - much cheaper for the ESP8266 module alone! and a few dollars for a tiny LiPo 260mah battery and thats it) and I use nodemcu firmware which uses a lua scripting language simple enough for me to get my head around but that can also be very powerful (in the right hands).

The code is all on Github here and a video of it working is here.
Have a play with it and tell me what you think. It needs the latest dev version of nodemcu for its larger RAM availability (for the web server for configuration) and the scripts need to be compiled to .lc when they have been uploaded to the ESP8266. If you have any questions, just ask. I would LOVE to see lifx produce something like this but obviously more robust… still cheap though! great for luddites and those who like their tech to be ‘invisible’ :wink:

Thanks for the brilliant lights,
Cheers Felix



I’ve written a nice Ruby client for the HTTP API. You can clone it from GitHub: https://github.com/tatey/lifx-http-client-ruby

I specifically wanted something that didn’t have any external dependencies (It wraps Net::HTTP) and allowed me to work with real objects that raise a NoMethodError if I call the wrong thing.

It treats everything as a collection making it easier to consume the HTTP API. If you get a bad response it won’t raise an exception unless you ask it to. If Ruby is your thing, give it a shot and let me know how you go.

I wrote a node.js implementation that supports firmware 2.0. The code is on Github: https://github.com/MariusRumpf/node-lifx.
Existing solution for node.js don’t seem to be updated any longer and I wanted to write test driven node.js project for a while.

1 Like

@mariusrumpf Let me know when you think its ready. I’m preparing a list of third party LIFX libraries and would love to add it to the list.

I’m building some controls between Arduino & LIFX light.

I have been using NodeJS as the linker, but the lifx* library for Node isn’t very compatible with Firmware 2.0, I came here looking to see what options I can use now.

I’m trying to figure that out, but there’s doesn’t seem to be any javascript/node examples here yet.

1 Like

We only just released the LAN Protocol recently so give it some time. I’m sure someone will start work on one soon.

If you want to take it on, feel free to create a thread about it and I’ll try to help you out as much as possible. You might also be interested in the thread explaining how to build a LIFX packet.

fingers crossed

Thanks, i’ll take a look at that and see what I can figure out.

I design & build a few entertainment apps, including Light DJ Pro. I’m thrilled with the performance of LIFX over competing bulbs!

1 Like

I’ve been working on some front-facing apps for controlling lights through Pebble smartwatches and web browsers, both using the HTTP API.

LIFxPebble is built using Pebble.js, and it has support for setting random colors, presets, toggling bulbs and I recently built group support for it. I think right now it is quite stable but if anyone wants to help me test it that would be great.

lifx.space is a web app built using Angular, Angular Material and is powered by github.io. It still needs some work done, as it needs group support and a few bug fixes which are listed on its Github and which I’m hoping to be able to get to soon. Pull requests are also welcome and suggestions for further improving the app.

The forum wouldn’t let me post more than two links at once, so here are the Github repos for both apps:

@LightDJPro We love Light DJ Pro! One of the people in the LIFX office recently used it at his honeymoon for the dance floor. :smiley:

@jorgerdz lifx.space is what I suggest to people who want control of their bulbs via a PC or Mac, its really well built and fits perfectly in the niche left by our official apps. Regarding the post link limit, don’t worry as you participate more in these forums it will automatically be lifted.

@daniel_hall Good to hear! I’ll be addressing the bugs soon and I’m also open to suggestions for improving the app.

I recently put together this movie rig and wrote a python script to use LIFX bulbs to match the average colour of the screen. What do you think?

1 Like

Hey that looks really cool. I would love to see a separate post explaining how you set it all up. I’m sure others would be really interested too.

I also really like that you rested the lamp stands on office chairs. :wink:

Thank you. Yes, I plan to post the code on a github once I get it all ready.

Sometimes, you need to make do with what you have. You don’t even know about the upturned bin behind the telly! haha

I’ve also written a Mac OS X framework in Swift for wrapping the LIFX HTTP API. It’s been extracted from a pet project of mine so its APIs are born out of real world usage. I’ve documented the concepts behind it in the README.

Clone it on GitHub or install with Carthage: https://github.com/tatey/LIFXHTTPKit

I wrote my first iOS app that lets you control your LIFX bulbs with your own music files and with your camera. I decided to give it away for free to the LIFX community. It is called LIFX Ambience and can be found here:

I would love to get everyone’s feedback and ideas for improvement. I plan on including a playlist manager in the next release. I also have plans for motion control functionality if that’s useful (imagine controlling your lights by tilting and moving your phone along its x,y,z axis).You can see a demo of this here:

Please feel free to share your ideas and feedback if you have any. My email address is frakman@hotmail.com

An extension for the alarm app called Alarmpad. So when the alarm goes of on your Android phone you can turn on the lifx bulbs according to your configuration. This feature does partially exist in the lifx app but it is way more userfriendly to not having to set up alarms in 2 different places.


Would love to implement the same feature on the standard Android alarm app (clock), but it does not communicate when the alarm goes of in anyway at the moment.

Love this idea, I want to do something similar… if perhaps more ridiculous.

I was thinking some kind of physical switch with knobs and dials to work through the different lamps and tweak their settings - preferably with the ugliest looking LCD display I can find to indicate obscurely what’s happening, and Pot knobs ripped off an 80’s stereo.

Now to go and find out what the hell UDP stands for. Gonna be a long road.

Hey everyone. I’ve been wanting to scratch my own itch and have a try at writing something for Mac OS X. I’ve open sourced a Today Extension (Notification Center Widget) that lets you toggle power on your LIFX lights via the LIFX HTTP API. It’s called Lighting.

It’s signed with my Developer ID so you can drag it into your Applications folder without worrying about Gate Keeper. LIFXHTTPKit was actually extracted from this project so it’s had some good battle testing. If you have any feedback please use my personal contact details on GitHub.