I’ve created a device handler and a web service to interface with a Lutron Homeworks controller. At this point, it only works with the older Homeworks controller. It won’t work with HomeworksQS. It is also limited to simulating pressing a keypad button and reporting on the status of the LED associated with it. The LED typically represents the on/off state of the lights the button controls. Since button can me programmed to do anything, this isn’t much of a limitation. The primary benefit is to be able to programmatically control your lights or turn them on or off away from home. at home, it’s usually easier just to press the button itself.
The device handler can be found at: https://github.com/gcortes/Lutron-HomeWorks-Switch/blob/master/README.md
The Web service can be found at: https://github.com/gcortes/Lutronic
The documentation for the device handler will lead you through the entire install. The Web service has to be run on the same LAN as the Lutron controller and the SmartThings hub. I use a spare Mac Mini.
##The Hard Part##
The Web service is written in Ruby and requires a recent version of the interpreter. The version that comes with OS X to too old and is about to be deprecated by the Ruby organization. You will also need to install gems. Finally, this all done using the command line interface. On OS X, that’s Terminal. If all this is sounding a bit much for you, this may not be the time to install this driver. I’m looking into creating a self contained download of the interpreter, the gems, and the code. It’s not an easy process to set up. If you are feeling adventurous, there are four basic steps to prepare the environment for the Web service:
- /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” -install Homebrew. This is a great installer to install most anything on OS X
- brew install ruby - uses homebrew to install Ruby. It install the latest version
- gem install active support - the gem installed is part of Ruby
- gem install ipaddress
I’ve also only tested this on OS X. I imagine it would be a similar set up on Linux. Windows may be another story.