I really enjoyed working with Perceptive Automation's Indigo and successfully integrating the Lutron RadioRA lighting system with it. As I'm sure any home automation geek can attest to, after spending a week with it I wanted to integrate additional devices in my house (e.g. thermostat, deck lighting, etc.)
Indigo supports X10 and Insteon devices natively. X10 is an older, power line-based technology that isn't really known for its stellar reliability. My rudimentary research into Insteon uncovered two issues: quite a few people complained about the reliability of its hardware and, since Insteon uses both RF and power lines, there appeared to be a potential need to add line filters to certain outlets to prevent problems with sensitive electronic components.
Having ruled out Insteon, I looked into a competing technology called Z-Wave. Z-Wave has several large, known companies (GE, Leviton, Trane, etc.) creating components for it which which resolved Insteon problem #1. Z-Wave is also RF-based which resolved Insteon problem #2. Since the cost of Z-Wave devices was comparable (and sometimes even cheaper) than Insteon, it seemed to make the most sense.
Unfortunately, Indigo doesn't support Z-Wave nor was it going to be viable to write a plugin for it since the Z-Wave SDK is quite expensive. This lead me to a different home automation solution: Mi Casa Verde's Vera.
Vera is a dedicated, Linux-based hardware device that can speak Z-Wave, X10 and Insteon out-of-the-box. It also provided a plug-in API to integrate third-party components (including those using RS-232). Like Indigo, there were already a fair number of plug-ins written for various devices and the online community seemed reasonably strong. Furthermore, the people at MiOS were offering a partial refund on a Vera device to developers willing to successfully write a plug-in that they felt was useful. I submitted my proposal of a RadioRA plug-in and they approved. I ordered a Vera as well as an inexpensive outdoor module to test the waters.
I'm happy to say that Vera was a breeze to set up and worked with the outdoor module immediately. While I think Indigo's user interface and feature set is much better, Vera's is definitely passable. The biggest detraction to Vera is that its web interface is terrible for a mobile device and there is no official, free iPhone app available for it. There are several paid ones available but they are either expensive and/or have significant usability issues in my opinion.
Now having committed to a Vera device, it was time to write a RadioRA plug-in for it. Vera's plug-ins are coded in Lua which is yet another language I've never before used. However, it didn't take long to get a proof-of-concept plug-in written that was properly communicating with RadioRA.
One thing I feel Vera desperately needs is a proper developer's guide. The current developer information is spread pretty haphazardly across various wiki pages and forum postings. To make matters worse, it was often not easy to determine if information is applicable to the current version of Vera's operating system (UI5) or only to previous ones. I definitely struggled with developing for Vera more than Indigo after learning their respective programming languages. Oh, and I'm still trying to figure out why XML is used for everything except their dashboard user interface definition file which inexplicably uses JSON.
Having said that, the API is pretty full-featured and the MiOS staff is helpful. I did finally get the plug-in written and working to my satisfaction. It's been running my home for about a week now with nary an issue.
I've submitted the code and documentation to MiOS to hopefully get a my partial refund. I also hope the free plug-in will soon be available on MiOS's app store.