Introduction: Control Lights in Your House With Your Computer

Have you ever wanted to control the lights in your house from your computer? It's actually fairly affordable to do so. You can even control sprinkler systems, automatic window blinds, motorized projection screens, etc. You need two pieces of hardware to get started. A controller, which connects to your computer; and a dimmer switch. I'm using SmartHome Insteon products in this example.

Step 1: Install the Switch

Follow the instructions provided on how to install the switch. The switch I'm using is Insteon brand, but there are other types of remote controllable switches such as X10. These switches require the neutral line to send signals (commands) over. If your switch box doesn't have a neutral, you're in trouble. Try contacting an electrician to see what you can do.

Step 2: Install/setup Controller

You need a controller which will send commands over the power lines to your switch. I'm using the Insteon PowerLinc Controller with a Serial connection. This works with Windows and Mac. Windows has freeware easily found on Google.

Setup was easy. I plugged it into the wall outlet, plugged the serial connector to my PC, and that's it.

You need to download and install SDM SmartHome Device Manager. Now, once you've installed this, you can start sending commands to the PLC (PowerLinc Controller).

Since I had a MacBook in another room, I installed SDM Socket Server, which is freeware for Windows. This let me connect over TCP/IP from upstairs and send messages downstairs. Note: you need to edit a registry setting to make this software work with the Serial (COM1) port. HKEY_USERS\.DEFAULT\Software\Smarthome\SmarthomeDeviceManager
The port needed to be changed from USB4 to COM1.

Here are some various programs you might also find useful.

Step 3: Play Around With a Script

I made a Python script that basically just connects to the SDM socket server and sends messages to the PLC Controller downstairs. You can do fun stuff like flashing the lights on and off. A more practical thing to do is setting it on a timer to wake you up in the morning. Actually, you can program timers into the PowerLinc Controller directly if you use InHomeFre or other software.

You have a little more control when you code the script yourself.