For years I've been interested in home automation. I've had remote controllable outlets from a few different manufacturers but I've never been quite satisfied with just the remote. What if I could control my outlets within my local network from any device, now that's something I wanted to have.
Controlling Outlets From Computer
A few years back I bought a three pack of remote controllable Nexa outlets. A while ago I discovered that another company manufactured a control unit that plugs into a USB port and best of all they provided Linux software for it.
To make full use of these I'd need a computer that's always on, and that's where I could make use of Raspberry Pi.
Setting Up Outlets
I had already set up my outlets with the remote that came in the retail pack by following the manufacturer's instructions.
It might be possible to configure the outlets completely via the software (at least for some brands) but I haven't tried it so I can't be sure.
To make use of the Tellstick Duo control unit, Tellstick provides software and easy to follow instructions. The important thing here is to install both applications - telldus-core and tellduscenter.
The telldus-core is the software that does the actual controlling and tellduscenter provides a GUI that I found necessary to configure the outlets for telldus-core.
Pairing Outlets and Software
To pair the outlets with tellstick software I used the tellduscenter's outlet scanning option. With this option my outlets respond to the remote and the tellstick duo controller unit.
Not Good Enough
With this setup I can control the outlets from a computer but only from the computer that has the tellstick duo connected to it. I want to be able to control the outlets from anywhere in my house.
Outlets Control From Network
To control the outlets from any device in my home network I needed a way to share the control unit to my home network.
After the first idea I figured that someone must have already solved this problem in some way and I started to look for solutions that others had created, and then I came across remotestick-server that did exactly what I wanted with the exception that it produced XML.
Modify the Existing Software
I created a fork of the remotestick-server and modified the code a bit. I removed some options that I didn't need and modified the software so that it produced JSON instead of XML.
Now I have a partly DIY home automation for outlets with a simple UI to use from any device in my home network.
Next step is to add more outlets and maybe some scheduled automation.