Simple Program to Control Philip Hue Lights in a Theatrical Setting. Currently written in Racket.
Racket
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
images
sixth RacketCon
.gitignore
LICENSE
README.md
shc-classes.rkt
shc-gui.rkt
shc-main.rkt
shc-save_load.rkt
shc-settings.rkt
shc-show_control.rkt

README.md

simple-hue-control-racket

Simple Program to Control Philips hue Lights in a Theatrical Setting. Currently written in Racket.

Overview

This program was originally created for Superhero Clubhouse's 2015-07 workshop of Earth. The project took place in a studio setting, without a theatrical lighting system, and half the play was created by the audience during the event. In order to collaborate with the ensemble in real time, I used Philips hue Bulbs as they provide wireless control and color changing ability. I am providing the code of the program I created for those who wish to produce their own production of Earth from the Atlas or for those who want to experiment with other theatrical uses of these bulbs.

Notes

I am only providing the source code and not a compiled binary as there are still hard coded aspects (such as the user name) that will need to be changed for the program to be functional. A free download of Dr. Racket is needed to run or compile the software. Moreover, familiarity with the Philips hue API is highly recommended.

The files necessary to run the program are "Simple Hue Control Main.rkt", "shc-classes.rkt", "she-settings.rkt", and "shc-show_control.rkt". If you are just downloading the files and not cloning the repository, you should put all these files into the same folder, open "Simple Hue Control Main.rkt" and the program should run and be able to be compiled to an executable. The other files are either scratch files created when figuring out portions of the program or recorded interactions while doing the same.

Some Limitations:

  • There is currently no way to patch lights, so the bulbs must be controlled in the order that they have been registered with the hue Bridge.

  • The Bridge Address and Bridge User Name must be set before the program will function. They are available in the Bridge Menu that appears when the main, "Simple Hue Control", window is in the foreground. Currently, there is no error handling and the program will crash if it is used before these values are set.

  • Everything runs on the main thread, so larger RESTful commands freeze the program as they are executed.

  • For theatrical purposes, a dedicated router—not connected to the internet—is recommended.

  • I've only run the program on Mac OS X 10.9 and 10.10 and Racket v 6.0. I have no clue how it will function on other platforms. I've now added checks for OS type when creating the Settings folder; however, I have not yet tested it on Windows or Linux. Again, adding support for Windows and Linux is a low priority, so I suggest forking if such functionality is important to you.

How To

Under Construction

Screen Shots

Main Window
Main Window

Last Status
Last Lighting Change

Current Light Status Current Light Status

Cue List
Cue List