Jamie Zawinski built a command line interface for controlling the curtains in his apartment:
My apartment has a 16′ wide floor-to-ceiling window, and a correspondingly-huge curtain. I wanted to put the curtain under software control so I could do things like, for example, have it automatically open in the morning to help me get out of bed.
He did it by getting an off-the-shelf motorized curtain controller and wiring in an Arduino and Ethernet Shield as well as a Seeed Relay Shield topping it off. JWZ’s writeup is detailed and fascinating and gives a lot of insight on how to construct your own system.