I've set up a home server with a Rasberry Pi and some PIC microcontrollers that allows me to control a couple different fixtures around the house. The Rasberry Pi sends commands to a PIC microcontroller which can perform several functions. The whole setup has the ability to give the temperature of the house, control several lights, view a webcam feed, and control the TV using an IR transceiver.
An http server was set up on a Rasberry Pi to serve up the control website, and send commands to an attached PIC microcontroller on a breadboard. The Rasberry Pi is able to communicate with the PIC using UART. This PIC is hooked up to an RF transmitter that allows it to control some remote controlled outlets. I used an RF receiver to capture the RF signals that the remote uses to control the RF outlets and was then able get the PIC to replicate these signals. The PIC is also hooked up to a cheap temperature sensor that outputs an analog voltage that is proportional to temperature. The PIC reads this voltage and sends the value back to the Rasberry Pi which translates it into a temperature value since the PIC can't do floating point arithmetic. A simple webcam is also hooked up to the Rasberry Pi which gives a live feed to the control website. The webcam is also set up to start recording video when it detects motion. This way it acts as a security camera.
I also made a separate device that accepts commands through an RF receiver and is able to control one of my TVs in the living room with an IR LED. This device uses another PIC mcrocontroller with preprogrammed IR commands on it to control the TV. The device is also able to record any IR command using an IR receiver and then play it back. It's enclosed in a project box and runs on a 9V battery so that it can be placed out of sight close to the TV.