From eBower Wiki
Jump to: navigation, search

There have been many home automation technologies in the past few decades. I've dealt with X10, a standard from the 70s which (remarkably) survives even today. But it's a bit limited and uses power line signalling which can be a bit problematic - especially in places like an apartment building or where there are a lot of RF signals flying around. I've played briefly with Insteon which suffers some of the same concerns as X10 despite being a more modern protocol. I've recently started playing with WEMO, a proprietary protocol from Belkin which uses WiFi-connected switches as a base. I choose it mostly because of availability and customer rating, it seems to suit my needs well enough. The only thing that could be nice is a dimmer, whenever I replace a Lutron dimmer I'm reminded of how nice the slow fade on/off is.

Installation

I've got a few wall switches. They work well with standard decora switch plates and have four wires - ground, power from the circuit breaker, power to the device, and neutral/return. There doesn't seem to be any bleed through like with my Insteon switches which makes them work well with fluorescent lights. If you've ever swapped a light switch in the past it's pretty easy to install one of these, the only difference is they're a bit bigger so make sure you've got room in your box.

Once done and you apply power the device will create a hotspot. Connect to the hotspot and then open up the WEMO app on your phone and it will walk you through naming the device. Note you probably want to install them one at a time so you know which one is which, but if you guess incorrectly it's easy enough to rename them. There may be firmware updates when you connect them to your network, but otherwise you'll be able to control them from your phone. Kind of cool already.

Controls

There are several ways to control the lights.

Physical

Of course, you can always just push the button. It's one big button with no on/off status, I like this since it's a proper toggle rather than flip up if it's off and down if it's on.

WEMO App

The app works and provides basic time of day controls. It shows the status of the lights, hitting the power button icon will toggle the status. Pretty basic, but it works.

IFTTT

I've played with a lot of phone automation software, Llama is a great free alternative to Tasker and I used that for a while until Android built some of my needs into the OS directly. I hadn't tried IFTTT (If This Then That) before, but it's also highly rated. Unfortunately I seem to need basic logic operations, the recipe I want to write is IF SwitchIsTurnedOn AND TimeBetween9pm6am THEN SwitchTurnOff. Sadly, I can't do such a thing as near as I can tell.

ouimeaux

Call me old fashioned, but I just find it easier to do things myself. Enter ouimeaux, a python library to control WEMO devices (put on your best French accent and pronounce the name). Installation isn't too bad:

sudo apt-get install python-setuptools python-dev git
git clone https://github.com/iancmcc/ouimeaux.git
cd ouimeaux
sudo python setup.py install

Now you'll find a wemo command. You can see the ouimeaux documentation for more details, but here are the most common uses:

# View all WEMO devices
$ wemo list
Switch: Closet
Switch: Bedroom
 
# Status of 1 means on, 0 means off
$ wemo switch "Closet" status
1
 
# Turn the light on
$ wemo switch "Closet" on
 
# Turn the light off
$ wemo switch "Closet" off
 
# Toggle the light
$ wemo switch "Closet" toggle

I'm missing an interrupt (it would be nice if I could get a REST API message from the switch when it's triggered, for example), but now it's a simple matter of polling the status during the "lights out" hours and setting it to off if I see it's on.

Direct Control

You can also use curl to control the devices directly, as shown here. If you need to find the IP address of the device, all three of mine look like 94:10:3e:xx:xx:xx. You can use these commands to pre-seed and then display the ARP table:

nmap -sP $(route | grep default | awk '{print $2}')/24 && arp | grep \ 94:10:3e

Security

I don't really care about remote access, turning off UPNP on my router seems to be enough of a precaution for me.

Why *NOT* WEMO?

While I'm not unhappy with the WEMO selection, there are a few issues with it.

  • It's pretty much a closed standard. To my knowledge there are no non-Belkin implementations.
  • There are no dimmer modules. I'm replacing some nice Lutron dimmers and, while I never actually leave the light dimmed, the graceful on/off is something I miss.
  • There don't seem to be any three-way switches. You may be able to hack some things together with IFTTT where turning on the second switch (which only has power to it) could trigger the first, but that's a bit of a hack and wiring may be tricky.

I did end up replacing all of my WEMO devices with INSTEON devices. The primary driver was actually installing a Nest in my daughter's room, that pointed out the large fluctuations in her heavily windowed room which made me want to install a ceiling fan in place of her light. This meant I could either have manual controls and no fan when the light's out, or I could install an INSTEON fan controller. I opted for the latter.