I like to build software.

Philips Hue

As of October 30th the Apple store here in Amsterdam started selling Philips Hue lights. It’s possible to dim and change the color of these LED lights using an iPhone app. I picked up a starter set (1 base station + three lights) immediately.

First thing any developer want to know of course is how to communicate with the system using your own software. I’ll document what I’ve found here.

Discovery

The Hue base station advertises itself using SSDP. This is basically a HTTP over UDP protocol. Sending a discover packet will result in an answer packet from the base station. The SSDP packets received don’t seem to uniquely identify a device as being a Hue. So for now it’s still required to make a http request for each discovered device it’s /description.xml (example) file, just in case there are more devices advertising using SSDP.

To discover devices on the network I wrote SSDPBrowser: a simple browser class in Objective-C that works on iOS and OS X.