Category Archives: Home Automation

An Indigo plugin for Lutron RadioRA 2 and Caseta

Lutron got a lot of things right with its RadioRA 2 lighting control system.  There are over 25 device types, including dimmers, thermostats, shades, keypads, and handheld controls.  The switches work equally well in new construction and retrofit applications.  Wireless communication is robust and the device build quality is flawless.

The only downside is that setting up and maintaining anything beyond a rudimentary installation will require programming via the RadioRA 2 Essentials configuration software, which is only available to Lutron trained and approved technicians.  While I can understand Lutron’s desire to maintain it’s brand image by requiring professional installation of its products, I think they are doing a disservice to consumers by not giving them the ability to change common settings like dimmer on  levels and device scenes.  The obvious solution would be to release a “hobbled” version of the Essentials software that would expose only those settings that couldn’t get users into too much trouble.

Edit (3/2016):  Lutron addressed this with the introduction of Caseta, a consumer friendly solution that supports up to 50 devices.

The Lutron integration protocol, however, is a completely open and documented means of monitoring and controlling a Lutron system.  Communication with RadioRA 2 devices is done via the main repeater.  Commands are sent/received as plain text.  For example, the command “#OUTPUT,41,1,100” tells the repeater to set the level of dimmer #41 to 100%.  Both serial and IP connections to the repeater are available.

The main repeater includes some basic timer and “virtual button” functionality but doesn’t support advanced features like conditional events or messaging.  I think Lutron made the right decision by leaving this stuff for third party products to support through its integration protocol.

My initial plan was to build a set of OS X tools for RadioRA 2.  It’s easy enough to script actions using built-in command line tools like netcat (nc).  But then I stumbled upon a home automation product called Indigo, which provides every control and monitoring feature I could imagine and more.  Out of the box, Indigo does not support RadioRA 2 devices (Z-Wave, Insteon and X10 interfaces are natively supported).  However, additional types of hardware can be supported via 3rd party plugins.

The Indigo documentation is very good and lots of plugin examples are available so it was relatively easy to write a RadioRA 2 plugin even though I had very limited experience with the Python programming language.  The latest version of the plugin can be downloaded here.

This initial release is by no means complete but supports the most common RadioRA 2 device types.  With the exception of phantom buttons and LEDs, you should also be able to control devices on a HomeWorks QS system but I haven’t had the opportunity to test that.

Installation

  1. Download the plugin zip file and double-click it to expand. Double-click the Lutron RadioRA 2 plugin to install it.
  2. You need to connect your Mac to the main repeater’s serial port using a USB to serial adapter.  Although it costs more than most generic adaptors, I highly recommend the Keyspan adapter, which is solidly built and universally supported.  I also feel more comfortable hooking up a quality adapter to a repeater costing $400+!  You will also need a 9-pin serial cable (and possibly a serial to ethernet extender kit if your computer is more than 25 feet from the repeater).
    Edit (3/2016):  Beginning with version 2.0.0, the plugin also supports Caseta Smartbridge PRO controllers.  You can connect your Indigo server to a RadioRA 2 repeater by either serial (still preferred) or IP Ethernet. Caseta Smart Bridge PRO only supports ethernet connection. The initial configuration dialog will prompt you to specify a serial port or IP connection. If you check the option for IP, you must enter a valid username and password. For Caseta systems, this is the telnet login, not the login you use for the Caseta app.

Usage

  1. Every RadioRA 2 device has a unique Integration ID, which you will need to identify it to Indigo.  You can get a text or XML file containing all the device IDs by running an integration report from the RadioRA 2 Essentials software or by downloading an XML file from the main repeater at this url: http://[Repeater IP Address]/DbXmlInfo.xml
  2. Dimmers, Switches,  Fans and Thermostats can be added by clicking the New button on the Indigo Device panel and specifying the device’s integration ID.
  3. A unique Indigo device type for shades is not defined in the initial plugin release, however shades can be assigned to dimmer devices.  100% represents fully open and 0% is fully closed.
  4. In the current plugin implementation phantom buttons and phantom LEDs get assigned to the same Indigo device.  Button IDs are in the range of 1-100 and LED IDs are 101-200.  Each phantom button has a corresponding led.  For example, LED 101 is assigned to button 1.  To add a button/LED pair to Indigo, specify the integration ID of the LED.
  5. Operating and monitoring status of the Lutron devices from Indigo should be self-explanatory.

Limitations in plugin version 2.0.0

  1. Main repeater phantom buttons can be set up in multiple ways but the plugin currently only supports On/Off commands.  So, for example, if a phantom button is defined as a toggle, clicking its On button in Indigo will turn the device on and clicking On again will turn it off.  Indigo’s Off button will have no effect on a phantom button that’s defined as a toggle.
  2. The Lutron fan switches have four fan speeds (low, medium, medium-high, and high) but only three of these speeds are selectable from the Indigo GUI.

When time permits, I’d like to add support for Pico handheld remotes, which are very convenient for controlling groups of shades.  Also the fact that the RA2 repeater makes its entire device list (among other things) available as an XML file opens up the possibility of importing the RA2 devices into Indigo instead of manually adding them.