The webLightSwitch project is a simple web-based interface for me to control the INSTEON lights within my house. I created the project to make a simple but useful system to use my home automation components.
Here are the current components of my system:
I wanted to use a BeagleBone because it is little and therefore doesn’t consume too much electricity. It has a USB host interface to allow it to communicate with the INSTEON gateway device. It has an Ethernet port to allow it to hook up to the Internet. It runs Linux so I can feel comfortable writing the necessary software to communicate with the INSTEON gateway device.
Smarthome USB INSTEON PowerLinc Modem
The Smarthome USB INSTEON PowerLinc Modem, abbreviated as PLM, plugs in to an electrical outlet. It transmits and receives INSTEON messages through the electrical wiring running through the house and via RF. (For those people familiar with X10, the INSTEON protocol is a next generation protocol that designed to be more reliable than X10 messaging.) The device also has a USB interface allowing a computer to transmit and receive INSTEON messages.
Smarthome INSTEON SwitchLinc Dimmer (Dual-Band)
The Smarthome INSTEON SwitchLinc Dimmer (Dual-Band) is wired into the household electrical wiring, replacing the existing light switch. It provides local control to turn on and off the outside lights on my house. It can also respond to INSTEON messages to turn on and off.
Smarthome LampLinc – INSTEON Plug-In Lamp Dimmer Module (Dual-Band)
The Smarthome LampLinc – INSTEON Plug-In Lamp Dimmer Module (Dual-Band) plugs in to an electrical outlet. It has a two prong outlet that a lamp is plugged into. This device provides local control via small buttons on its side to turn on and off power to the lamp. It can also respond to INSTEON messages to turn on and off.
The program has some configuration options that can be changed to customize the program to control different/more/less INSTEON devices. The “On” and “Off” “buttons” are actually links. The webLightSwitch processes the HTTP GET request and finds the query parameter that identifies which device to control.
As seen in the screen shot above, which was taken from my Android based phone, the web interface is implemented using jQuery Mobile. I specifically wanted to be able to use my phone to control the outdoor lights so that I could turn them on and off from outside the house. Using jQuery Mobile provides a touch-optimized interface very easily. And the interface works quite well on my Kindle Fire tablet too. Using the Kindle Fire tablet I can turn the lamp on and off very conveniently when I go into the living room to read.
Source code: https://github.com/cubeinhabitant/webLightSwitch
Video: webLightSwitch Show & Tell