Daily Archives: November 28, 2016

WeMo MoWoe

So thanks to the Christmas season, I found myself in the Home Automation market.  And I decided to start with WeMo.  Now please don’t see this as an endorsement of any kind, since there are literally hundreds of products out there that do the same thing, and some may even be much better at it than WeMo.  But for what I was looking for, WeMo did what I wanted and then some.

First, some background:
I like Christmas lights.  A lot.  And by a lot I mean 4,670 of them this year.  That doesn’t include the hundreds inside either (like the ones on the tree, the banister, the little decorative trees and the like).  My problem – not enough electricity on a single outlet.  And because there isn’t enough electricity on a single outlet, I needed a new way to control how they turn on and off if I want to use more than one outlet (which I did!).  I needed something that could do the job with some relatively synchronized timing.  In other words I didn’t want to see half of my lights on and the other half off for 20 minutes.

Enter “Smart Outlets”
So the easiest way I could find to do this was using Smart Outlets.  They all seemed to fit the bill, but WeMo had a couple of legs up for me:

  1. They had an in-wall Smart Switch which I really liked.
  2. They had an easy to use Android app.
  3. The outlets and switches could be automated using sunset and sunrise as conditions.
  4. The outlets could track energy usage.
  5. They have a product called WeMo Maker which lets you create your own WeMo integrations with other devices, like a Garage Door Opener.

So with all that in mind, I set out to WeMo-ify my home.

Setup was pretty simple, although I struggled setting up my first outlet because of some sort of incompatibility between the app and my phone’s WiFi settings or OS.  The trick – turn on Airplane Mode, then turn on WiFi, and then the app worked beautifully.

After I got everything up and running, and I was happy with how it worked, I tried to group the two outlets together… only to find that’s not a thing.  You can group “Smart Bulbs” together, but not outlets.  And while this doesn’t impact me, apparently after you group “Smart Bulbs” together, you can’t control them independently.  That’s a bummer.  But alas, IFTTT to the rescue!  I think…

For those of you not in the know, IFTTT stands for “If This Then That.”  It’s a pretty cool free service since it lets you integrate random networked technologies together to make them do interesting things.  For example, when I open my Smart Garage Door, turn on the Outside Lights.

The problem with IFTTT was similar to my problem with WeMo though, you can’t really group things together, and you can’t string multiple conditions together (or at least I think you can’t – not natively at least).  So for example, I can’t say “When I Open My Garage Door” AND “It’s Before Sunrise” THEN “Turn On Outside Lights.”

Bummer.

To pour salt in the wound, the WeMo outlets I bought, called WeMo Insight Switch (Why do they call them a “switch?”  Could you make it any more confusing?) can track energy usage.  Awesome, right?  No.  Because the app is so anemic in functionality, it can show you some basic stats and email you a CSV file of information on a schedule.  No pretty graphs.  No usage tracking.  Nada.  Lame.

 

So here’s what I’ve done – thankfully I can use IFTTT to turn everything on with the push of a button on my phone.  I have it set up to turn on all my outlets.  If I buy any more than the current two outlets though, they too will be triggered by this IFTTT button.

Bummer again.

But the WeMo app does let me create a schedule and lets me identify the things I want turned on at sunset (or even a set amount of minutes before or after sunset – nice touch WeMo).  So that’s how I am controlling my two separate Christmas light outlets.

 

But I want more.

A. I want an interface that’s easily accessible and faster than the WeMo app.
B. I want a web page I can log in to to see and control everything.
C. I want to see more statistics, charts and graphs.
D. I want to be able to group anything together and control it as a group, but still retain the ability to control it individually.
E. I want to be able to do all of this from both inside and outside my house.

Thankfully, I’m a programmer.  And thankfully, WeMo is pretty open to letting people tinker with their stuff, thanks to a system that is pretty much web based that lets you pass commands back and forth using some SOAP and XML.  Now in full disclosure, they have discontinued their SDK, but that was really only for Android and iOS app developers.  They also don’t let you do stuff to WeMo devices remotely – they claim it’s a security risk to their cloud.

The game plan?  Well, it’s still early on, but I think I can use a Raspberry Pi and either home-grown programming or this controller API humorously named ouimeaux to accomplish my dreams.  And if all goes well, this might be something I could actually sell to others, a cloud service perhaps… but lets not get a head of ourselves.

Step one would still be to mess around with ouimeaux and see if I can get it to bend to my will.  Then I would look in to purchasing a Pi and seeing what’s possible.  I would also want to carve out some space on my web server to act as a front-end to all of this, since I wouldn’t want to open up local ports on my router in order to issue commands from outside my WiFi – especially if I begin to market this to others….

We shall see what comes of all of this… probably nothing initially, but it’s definitely a project I’d love to play with.