Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

wemo Proof of Concept. Should be used as a starting point for your own UPnP WeMo hacking

branch: master
Octocat-spinner-32 LICENSE First Commit
Octocat-spinner-32 README.rst First Commit
Octocat-spinner-32 miranda.py Remove hardcoded IP
Octocat-spinner-32 wemo.py Update wemo.py
README.rst

WeMo Hacking

I've spent some time reverse engineering my WeMo switch. It's pretty cool and I figured out how to get it to do what I wanted. It's based on UPnP, which I found the miranda tool to be the best (closest to working with WeMo, and easiest to read)

I had to make some modifications to the miranda package to get it working, and to get it properly reporting the details of the device.

To use, download, cd into the wemo folder and open a python intepreter:

$ python
>>> from wemo import on, off, get
Entering discovery mode for 'upnp:rootdevice', Ctl+C to stop...

Error updating command completer structure; some command completion features might not work...
Error updating command completer structure; some command completion features might not work...
****************************************************************
SSDP reply message from 192.168.1.133:49153
XML file is located at http://192.168.1.133:49153/setup.xml
Device is running Linux/2.6.21, UPnP/1.0, Portable SDK for UPnP devices/1.6.6
****************************************************************

Discover mode halted...
>>> get()
True
>>> on()
True
>>> off()
True
>>> get()
False
>>> on()
True
>>>
Something went wrong with that request. Please try again.