The new hotness in home automation is WiFi controlled light switches. Sure, we’ve had computer-controlled home lighting for literally forty years with X10 modules, but now we have VC money pouring into hardware, and someone needs to make a buck. A few years ago, [Alex] installed WiFi switches in a few devices in his house and discovered the one downside to the Internet of Light Switches — his light switches didn’t have a satisfying manual override. Instead of cursing the darkness for want of an Internet-connected candle, [Alex] did the only sensible thing. He installed electromagnets, solenoids, and servos behind the light switches in his house.
The exact problem [Alex] is trying to solve here is stateful wall switches. With an Internet-connected lamp socket, the wall switch no longer functions. Being able to turn on a light when your phone is out of charge is something we all take for granted, and the solution is, of course, to have Internet-connected switches.
Being able to read the state of a switch and send some data off to a server is easy. For this, [Alex] used a WeMos D1 mini, a simple ESP8266-based board. The trick here, though, is stateful switches that can toggle themselves on and off. This is a mechanical build, and although self-actuated switches that can flip up and down by computer command exist, they’re horrifically expensive. Instead, [Alex] went the DIY route, first installing electromagnets behind the switches, then moving to solenoids, and finally designing a solution around four cheap hobby servos. The entire confabulation stuffed into a 2-wide electrical box consists of two switches, four hobby servos, the D1 mini, and an Adafruit servo driver board.
The software stack for this entire setup includes a NodeJS server connected to Orvibo Smart Sockets over UDP. Also on this server is a WebSocket server for browser-based clients that want to turn the lights on and off, a FauXMo server to turn the lights on and off via an Amazon Echo via WeMo emulation, and an HTTP server for other clients like [Alex]’ Pebble Watch.
This is, without question, the most baroque method of turning a lamp on and off that we’ve ever seen. Despite this astonishing complexity, [Alex] has something that is also intuitive to use and, to borrow an applhorism, ‘Just Works’. With a setup like this, anyone can flick a switch and turn a lamp on or off over the Internet, or vice-versa. This is the best Home Automation build we’ve ever seen.
You can check out [Alex]’ video demo of his build below, or his GitHub for the entire project here.