I'm leaning towards using Z-Wave with Arduino driving the controller. I've looked at a few different controllers, but the interfaces into them aren't that clean cut. Right now, I'm thinking the best path is to get something with a serial interface (such as the HomeSeer Z-Troller - http://store.homeseer.com/store/HomeSeer-Z-Troller-Z-Wave-Controller-P214C66.aspx).
Has anyone else done something similar? If so, what hardware did you use and how did you interface to it from the Arduino?
Don't be fooled by these "Z-Wave compatible" RF modules. They claim compatibility only because they work on same or similar RF frequency ranges but normally you have to implement the full Z-Wave protocol stack, which is not an easy game...
Infact if you look at the end of the specs you'll see the vendor's discailmer:
Note: this module works on Z-wave frequency, but not on Z-wave protocol.
In addition to frequency you have to take care of the type of modulation supported by the RF module. Z-Wave works with FSK modulation with Manchester or NRZ binary encoding depending on the data speed (9600 or 40000 baud).
In my opinion the ACT or HomePro ZCS101 Z-Wave RS232 Interface (rated at about $50) should be ok and cheaper than the Leviton.