WeMo Without A Smartphone

[Matt Galisa] decided to try his hand at setting up the Belkin WeMo outlet without using a Smartphone app. The hardware is a pass-through for mains voltage which allows you to switch the plug over the network. It has a built-in WiFi module which normally connects to your home network. But the first time that you power it up it announces its own SSID designed for an iOS (and recently Android Beta) app to connect to in order to enter your AP credentials.

He started with this Python script used for WeMo hacking. It was originally meant to issue commands to the outlet once it had passed the initial setup. [Matt] followed along but couldn’t get an answer on the port he expected. It turns out that the device listens on a different port until the initial setup is complete (probably so that you don’t mess up other outlets on the network that are already working correctly). His next challenge was to manually set the WPA credentials. This never really worked and he ended up using a virtual AP without password protection through DD-WRT. From there he was able to set up a Python script to turn on, off, and toggle the state of the outlet.

If you’re looking to dig deeper into the device’s security check out this project.

21 thoughts on “WeMo Without A Smartphone

  1. It’s pretty easy and cheap to connect some of those wireless outlets via the remote control to a Raspberry Pi. No risk of high voltage hazard.. You can run a webserver on the pi to switch the outlets with your browser. Even more interesting is to use IFTTT and a trigger (Google Calendar, Weather channel, geolocation, email) to switch your lamps or other gear. I wrote a series of posts at http://www.μc.net/2012/12/home-automation-mit-dem-raspberry-pi_16.html . It’s in german, but i can be convinced to do a writeup in english.. Cost for 3 outlets about 15$ + Raspberry Pi + Interface circuit (2$). Have fun..

  2. Or you can buy the cheap ones that have a remote with on/off buttons. They were going for $15 per 3-pack over Christmas. They use a simple wireless protocol with 315MHz or 433MHz radios which are readily available, and you can generate the protocol with a cheap microcontroller such as ATTiny2313. I have a writeup on Instructables where I scope the protocol for a new set, re-implement it, and then write a serial port program to send the commands. I have since written a basic Python web GUI to toggle up to 6 outlets (2 sets) over the Internet, but you can get up to 12 (A, B, C, and D sets of 3 each).


    This is a nice hack for sure, but the WeMo outlets just seem excessive for what you get. There’s no good reason these need so much hardware, it just drives the price up. You can also skip decoding the protocol on the cheap outlets and just simulate button presses via transistors, but it’s not as elegant and you use a ton of pins if you have 12 outlets to control (24 outputs/transistors and 4 remotes needed).

  3. WeMo? no thanks. $45 an outlet is not bad, but they lock up ALL THE TIME and I dont like that they call home.

    If they make the things reliable, maybe…. but as unreliable as I found them to be, X10 is better than these in reliability.

    1. Insteon seems to be the new X10. Perhaps a bit more pricy, but works over both wireline and RF for better reliability and range. As an example, to get the equivalent to two WeMos, you’d need two $35 ApplianceLincs and a $100 SmartLinc controller to hook up to your wireless router. No calling home, local WiFi control via IOS or Android app, and excellent expandability with many different products. Plus it plays nicely with X10 if you already have some installed.

      1. I’ve actually gotten fed up with just about any wireline protocol, and WiFi is about the only RF I can easily debug with the tools I have around the house. I gave up on my SwitchLinc’s when they failed to work across a room. That said, I like Insteon better than any competitors, but I think WiFi is the right way to go as WiFi modules get cheaper.

  4. Just a Heads up to everyone I have code I will be releasing in the near future that integrates Hue, Wemo Motion and Switches. Hopefully Nest integration in the future. It uses PHP server for requests so you can put a secure login facing the internet and block everything else.

    The Server it self requires windows currently because of the binary’s and the only rule I have Is “If Motion Detected, turn on for set period of time, and reset time if new motion detected” With configurable top header section for people who aren’t code savy.

    I am hoping to have a GUI for configuring rules eventually. Attached is sample code.https://www.dropbox.com/s/i1rq3g4v3bt9cdp/IFMotionTHENturnonFOR.au3

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.