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.

18 thoughts on “An Indigo plugin for Lutron RadioRA 2 and Caseta

  1. Sylvain

    Hi Jim,

    I am trying to extend your plug-in to support RadioRa2 5-button keypads. I am not a Python programmer but I managed to get it to work for the one button on the keypad.I just need a line or two to make it work perfectly and you could have a new version. Here’s what I have:

    1. Added a new Keypad button device (type relay) with two custom fields: Integration ID and Button ID.
    2. in _cmdDeviceChange, I need to fetch the right device. If I use the following code, I’m only updating the status of the first button I created in Indigo with that Integration ID:

    id = cmdArray[1]
    button = cmdArray[2]

    if id in self.keypads:
    keypad = self.keypads[id]

    if status == ‘0’:
    keypad.updateStateOnServer(“onOffState”, False)
    elif status == ‘1’:
    keypad.updateStateOnServer(“onOffState”, True)

    I would need to get the keypad instance that matches both id and button. How can I do that?

    Thanks.

    Reply
    1. ratranch Post author

      Hi Sylvain,

      Glad to hear you got it working! Yes, please do forward your contribution so I can merge it with the latest updates (including improved thermostat support) and share it with the community.

      Thanks,
      -Jim

      Reply
  2. avi

    Thank you so much for your work. I was really hoping to find something like this for my new RadioRA 2 system.

    Reply
  3. Tony

    Have you considered extending support for ethernet? I have a situation where the repeater is nowhere near the Mac, however it does have ethernet access.

    Thanks!

    Reply
  4. Salvador

    Hi, what if i already use mi 99 zones in the main repeater. Can i add more zones to mi radiora2 using indigo. Thanks.

    Reply
    1. ratranch Post author

      Hi Salvador,

      Indigo talks to your RadioRA 2 main repeater. It doesn’t directly control zones, therefore it won’t let you add zones beyond the system limit. However, you can exceed the 100 device limit if you use a visor control receiver (VCRX) to drive contact closures. See this document.

      Also you may want to evaluate areas like closets, laundry rooms, etc., that might be good candidates for conversion to standalone PIR occupancy switches.

      Good luck,
      -Jim

      Reply
  5. Tedco

    Will this plugin work with the Lutron Caseta Smart Bridge? I am interested in some Lutron shades and this bridge is required for their iPhone app to send the RF commands to the blinds, and I’m interested in adding my shades into Indigo for scripts/macros/triggers, etc.

    Thanks!

    Ted

    Reply
    1. ratranch Post author

      Hi Ted,

      No, unfortunately you would need to go with RadioRA 2 instead, which works great with Lutron shades and has an iPhone app (Lutron Home+), but is pricier.

      -Jim

      Reply
      1. Adam

        Hi Jim,

        Coming to Indigo from Vera and curious to know how difficult it would to be to extend this to the Caseta line. As far as I understand it the Caseta line recognizes the same commands and operates on the same protocol as RadioRA2. In fact the Vera RadioRA2 plugin controls and recognizes my Caseta SmartBridge just fine even though it wasn’t intended to be used with it. I know it’s a matter of willingness to implement this feature as well as having the appropriate hardware. However, I wanted to at least point out the similarities between the two Lutron products. I’m by no means qualified to comment on this but as far as I can tell, the difference lies in the way the two plugins connect. The Vera plugin connects via Telnet which, correct me if I’m wrong is different than how you’re connecting to the RadioRA2 hardware?

        Thanks for your work on this!

        Adam

        Reply
        1. ratranch Post author

          Hi Adam,

          There would be two issues with using the existing RadioRA 2 plugin with the Caseta Smartbridge:

          1. The integration protocol used for RadioRA 2 (RR2) is publicly available and published here. AFAIK, Lutron does not make the Caseta command set publicly available. As you pointed out, there may be considerable overlap, but without documentation to refer to, I wouldn’t be able to comment.

          2. RR2 does indeed support telnet, but this is not implemented in my plugin, which communicates with the RR2 repeater over its serial port. However, others have adapted the plugin to use telnet and you might want to post a request to the Indigo message board to see if anyone has an ethernet version to share.

          Cheers,
          -Jim

          Reply
  6. Morgan

    Hello and thank you for this resource! Do you accept small donations for your work? I am trying to figure out what hardware I will need to use your indigo plugin. I am hoping to control homeworks qs switches, but don’t (yet) have a whole homeworks system. I do have a lutron caseta smart bridge pro, and homeworks qs switches. I assume I need to buy a main repeater?

    Reply
    1. ratranch Post author

      Morgan – I’m very sorry for the late reply and hope your question was already answered on the Indigo forums. Due to a system glitch, several posts on this site went unnoticed for some time.

      The Indigo plugin communicates with the smart bridge pro (not directly with your devices). So if your smart bridge pro and homeworks qs switches are able to communicate with each other, you already have everything you need.

      Reply
  7. Catherine Schuster

    I may have left a comment on your “about” page….I apologize for the mistake. I’m somewhat new to this. How do I find the telnet password and login for caseta? And how do I find the integration ID of the caseta device. I’m assuming step one is to make the luton bridge a static id to refer to in the configuration. I am very excited about your plugin, as my hope is to do my home in caseta and continue to use indigo as a controller.

    Reply
  8. Derek McFarland

    Hello, I’m new to Indigo and just playing around with what I have to connect. My goal is the close a couple of wireless contacts, one for a fan and the other for the flame of a gas fireplace in the basement when the upstairs thermostat is heating. I got Nest and Hue working so far. Does the Lutron Plugin connect to the nonPro Caseta bridges via Ethernet?

    Reply
    1. ratranch Post author

      Derek – I’m very sorry for the late reply and hope your question was already answered on the Indigo forums. Due to a system glitch, several posts on this site went unnoticed.

      The plugin only works with the smart bridge Pro.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *