So I'd like to be able to control the lights in my living room by using my phone. I've found a few options to buy from but they're pretty expensive, so I'd like to build it myself.
The thing is, I have very little knowledge of electronics (some soldering maybe by putting together kits). In terms of software I can do web apps (RoR) but no hard core languages.
Could someone tell me where I should start? What's the smallest thing I could do to learn a bit and get to the following step?
Is your phone Android? If so, do a search for Amarino. It's a process for controlling an Arduino with an Android phone/tablet via Bluetooth. (This assumes that you want to control the lights from within the house.) It involves very little electronics knowledge but requires programming both the Arduino and the phone (and I've struggled with learning Android programming).
The first step only requires an Arduino and a Bluetooth module for it. Sample software is a free download from the Amarino site.
This might be a good starting point - once you can control the Arduino, a few options exist for tying it to the real world.
I have not yet done this but have been meaning to for a year.
You can do it almost no electronics work. Old X10 home automation stuff is really cheap these days, and you can get a serial interface for it. If you have a computer (or even a wireless router) running as a web server, you could fairly easily write a web app that sends the required bytes to control your lights in response to queries/forms/AJAX/whatever.