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.


  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.


  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.

29 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?


    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.


  2. avi

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

  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.


  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.

    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,

  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.



    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.


      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!


        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.


  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?

    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.

  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.

  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?

    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.

  9. Alex

    Hi ratranch,
    Recently started using your plugin with both a Smartbridge Pro and a RadioRA2 main repeater. It seems the former is much easier by simply enabling telnet support. But do you know if there’s anyway to change the default username and password? I wasn’t able to find any such information, and thus I tried the RadioRA2, but their programming software isn’t available anywhere, and it seems I need to find a dealer for that. And I don’t know why I wasn’t able to get the integration report over LAN, it just returned a blank page. I wonder if you have any luck with that? Thank you!!

    1. ratranch Post author

      Hi Alex,

      I don’t think you can change the password for the built-in “lutron” user but you can add users using the RA2 Essentials software. You can get access to the software by completing RadioRA 2 Level 1 Training. It will require you to invest a few hours time but you will learn how to get the most out of your system.

      Regarding the blank page when you try to get an integration report, some browsers won’t display raw XML data. Try right-clicking on the blank page and selecting View Page Source.


      1. Alex

        Hi Jim,
        Thanks for the reply! Yeah like you said, probably that training is what I’m missing. I still wasn’t able to get the XML though, maybe that’s related to the Essentials software I guess. Anyway thanks for the help, the plugin is definitely awesome!

  10. Lee

    Hi there, not sure if you’ll see this but I’m buying a new home so wanted to get RadioRA2 for it. I just had a question about your plugin that I wanted to confirm as I don’t own Indigo yet.

    If I use a Hybrid Keypad, does Indigo see the button presses? As in am I able to have a event where it’s like “If Hybrid Keypad button is pressed, turn on a Z-Wave light”? Same with Pico remotes, does the plugin see their button presses yet?

    There’s a few things I’m mainly trying to do, so wondering if your plugin might work for this:

    1) I will have some Hybrid Keypads that control multiple RA2 lights as a scene, such as “Dinner.” When I press that button, I want Indigo to also turn on and set the colour on some Hue lights as well. This is my main reason for wanting to integrate RA2 with something else. Similar to pressing “Goodnight” which turns off lights with RA2, but then possibly locks the Z-Wave doors etc.

    2) If it’s possible to detect button presses from the Pico remotes, I’d potentially want to buy the 4 button ones and get them custom engraved to only control Indigo actions, not RA2. Such as a Pico that is used to start or stop the sprinklers, having Indigo be the one in the middle receiving the button press and issuing an irrigation command. It didn’t sound like Pico works like this yet but I noticed some of those comments were from 2016 so wanted to check.

    Thanks for the assistance! I’d have to buy a Mac Mini to use Indigo, so just had those few questions first since not as easy for me to just test it yet.

    1. ratranch Post author

      Hi Lee,

      Please post these questions on the plugin forum. I turned over development of the RadioRA 2 plugin to another developer who is actively working on improvements to it. You will get the best answers about the latest version’s capabilities and advice from the user community there.

      BTW, I think what you are seeking to do is largely (if not entirely) possible.


  11. Jacques

    I don’t have the RR2 interface, I have Lutron casita bridge with a few Lutron dimmer which work fine with home kit. Can I use this plug-in to control my Lutron Caseta dimmer from Indigo ?

  12. Jaimey m

    Hi I have a question. I have a ra2 system in my house as well as a few Caseta switches with a separate bridge. Is there a way to connect the Insteon plugin to both systems? Or is there a way to have two plug-ins, one for ra2 and the other for the Caseta? Thx

  13. Moe


    I noticed a change in the plugin I wanted to ask about. The ramp rate no longer accepts fractions and only integers. I get the following error when using a ramp rate for example 1.2:

    Traceback (most recent call last):
    File “”, line 1615, in fadeDimmer
    ValueError: invalid literal for int() with base 10: ‘1.2’

    Is this a limitation with Lutron?

    Thank you!

    1. ratranch Post author

      Hi Moe,

      I handed over maintenance of the plugin to another person and am no longer involved in updates. Please post questions or report bugs here:

      However, I do think this is a bug because the Lutron protocol allows for fractional seconds, rounding down to the nearest quarter-second. For example, if a delay time is specified as 1 .45 seconds, a value of 1 .25 seconds will be used.

      The most current version of the plugin can be found here:

      Best regards,


Leave a Reply to ratranch Cancel reply

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