Emacs Home Automation

Nexa unit


We all grow so very weary of having to switch lights on and off. Every day. On again and then off again. Will the madness never end?

Technology comes to the rescue! There are companies that sell receivers (like the one pictured to the left, plugged into a wall outlet that I now see I should have dusted before snapping the picture. Too late now!) that you can control wirelessly.

So the question then is: How do you control them without (yuck!) using remote controls and stuff? You use Emacs.

Telldus sells small blue USB devices that are called Tellsticks. These expose a USB serial interface, and uses a pretty … primitive encoding method for sending commands to the units.

The Emacs Lisp code needed to send commands via Tellstick is on github, since that where all the cool kids hang out these days.

Tellstick and one of the lamps it controls

I’ve had this thing running for about half a year, and it’s really nice to be able to switch off all the lights in the entire apartment with just on the hallway computer. The main problem is that the range of the Tellstick senders is about five meters. If there moon is in the right phase and it isn’t too windy. And you feel lucky.

Fortunately I have at least one computer in each room, so I’ve just bought a truckload of Tellsticks and have each computer control each room, and then I have the remote remote control work by using emacs-server/emacsclient. But you can probably work that stuff out yourself.

Enjoy the gift of light! No longer sitting in the dark, typing away, just because you’re too lazy to get up and switch the lamps on!