Home Automation with Belkin Wemo.. WTF am I doing?!?!

Tony Owen
3 min readDec 13, 2016

--

First of all. A public service announcement. DON’T BUY BELKIN WEMO PRODUCTS

Right. Now thats over with, here’s why. Now, I’m specifically walking about Belkin Wemo Lightbulbs. I haven’t used their other products, and won’t be. The Wemo app (at least on Android) is slow, and badly designed. It would be quicker to stand up and turn the light on rather than wait for the app to start.

Setup of the Wemo link is not horrendous. Connect to it’s own WiFi network, setup your WiFi password. Then scan for bulbs. Lets say you change your WiFi password, the only solution that I could get to work was to factory reset and start again .. SLOW CLAP. If a bulb cannot be found (happened with 2 after the reset) they need to be reset. This is accomplished by switching it on, then off for a second, then on for 3 seconds, off, on, off, on then if the stars have aligned it will flash 3 times and probably be found!!!

So. The app is rubbish. But there is IFTTT integration, unfortunately I found this integration far too flakey to be relied on. It works sometimes. Then there is the problem that (and this is not Belkin’s fault) Amazon Echo in the UK does not support IFTTT!! (weird).

My next step. An app called Yonomi. I set up the devices in the app, setup an Alexa integration to Yonomi, discovered devices, and it worked. Well, it worked pretty well. Problem is the smart phone with Yonomi installed needs to be inside the house. Due to the limitations of the Wemo Link I believe.

TIME TO GO NUCLEAR

Enter a guy on Github called Ian McCracken. He’s written an open source library to control Wemo devices..

This comes as a python library, and a command line interface. A few commands later and it discovers my bridge and the lights attached to the bridge. So now I can turn my lights on, off and dim them from terminal. Bad Ass I know!

But, I want to make Alexa do this, and Alexa needs a skill creating. What I ended up doing was hosting a simple web page on my NAS box that called the python scripts I had created using the ‘ouimeaux’ library, adding dynamic DNS as I have no static IP, and creating an Alexa skill on AWS Lambda.

To create a Smart Home Skill you need a linked account. So now I had to setup a dummy Google app to connect through the Alexa app. Inside the skill, I always returned the light bulbs I wanted. When handling the control events I simply called my webpage with various params which then ran the python script and controlled the lights.

Link to Dummy Smart Home Skill: https://gist.github.com/TonyOwen-MSM/39f4077c4eae42b41798fbcaa4119fdc

After a couple of hours doing this I thought, WTF AM I DOING!?!?

So, unless you want to go through all this, I’d recommend buying a different product.

--

--

Tony Owen
Tony Owen

Written by Tony Owen

Flutter Fan Boy & Android Developer

No responses yet