Monthly Archives: December 2013

First Look at Philips Hue

I’ve been keeping my eye on the Philips Hue device for a while and I finally picked one up.  I am more than intrigued with what I want to do with it.   Before I dive into a full project with it, let’s first look at the basics.


So what is it?  Philips Hue is a zigbee based system consisting of a tiny frisbee looking base station and three bulbs which is the starter kit.  You can also add bulbs individually, LED strips, a spotlight looking bulb, and a kid focused bulb that looks like Mickey Mouse.    Expensive but powerful for what it is.  The newest high end LED bulbs really aren’t _that_ much cheaper than these….we’ll see….

The bulbs I have are the normal household A19 form factor.  The spec’s on amazon says 9 watts, 16 million colors, max 600 lumens, and disable all the way down to 5%.  In other words – not super bright but very flexible.

The system was totally easy to setup, and is just second on my list behind the Nest Protect for the easiest device to set up, although it is a little surprising how the base station pairs with devices.  Developers have already written a bunch of apps to interact with the bulbs.  I started off with a bunch of iOS applications and every single one would ask me to hit the button on the middle of the base to connect.  Odd.  But it worked.   I figured out later what this was all about.


I only played with apps for a short time before diving into the API (of course) which brought me to what the deal is with always hitting the button to pair with an app.   Following this Getting Started page on Hue’s developer website is a good resource.   They have a web interface REST client on the base station web server – awesome idea!

Bring up the rest client at http://hue/debug/clip.html  and doing the command to create a new user gives the response:

Screen Shot 2013-12-05 at 9.01.23 PM

“link button not pressed”

Ahh..  When you hit the button on the base station, for 30 seconds it allows a new user to be created over an unauthenticated connection.  Physical security.  That’s smartly efficient – at least for a device intended to be on a private network.   This of course made me think, “ok cool, so how do I see the other users?  how are they set up?”

I found this in the api, a GET request to this endpoint /api/USERNAME/config shows a dump of the whole configuration including users:

Which is neat – the usernames looked to be all super complicated random strings….except… what the shit…  an app i installed called ‘Magma Hue’ uses a hard coded username of ‘calderastudios’?!  Lazy developers.  So if one installs that app & pairs it with their base.  Another person only needs to be on their same network to control the lights – without physical access to the base.  That’s crappy.

Anyway, the coolest iOS apps I use so far are: Hue (from Philips) which sets scenes really fast.  Ambify which controls the lights based on music it plays.  and lastly, Hue Party (from Philips) that has a few built in functions but will also control lights based on the mic input which is fun.   We’ve started a ‘Dinnertime Dance Party’ routine a few times.   A toddlers face when the kitchen lights suddenly go from white to rainbow flashing colors is _amazing_.

First impression: fun apps already out there.  Simple API.  Lots of evil project potential.  Stay tuned.

(Please forgive my vertical video, yes I know it’s wrong. we all slip up.)