Skip to main content
Files added late

2 files were added to this release more than 14 days after its initial publication. Inspect the release files before installing.

# ouimeaux

Open source control for Belkin WeMo devices

* Free software: BSD license
* Documentation: http://ouimeaux.rtfd.org.

## Features

* Supports WeMo Switch, Light Switch, Insight Switch and Motion
* Command-line tool to discover and control devices in your environment
* REST API to obtain information and perform actions on devices
* Simple responsive Web app provides device control on mobile
* Python API to interact with device at a low level

## About this fork

The original repository can be found here: https://github.com/iancmcc/ouimeaux

It doesn't appear to be maintained and it doesn't work with modern Python
packages.

It has been forked here so that I can include my modifications to
`requirements.txt` as well as document how to use it.

## Installation

```
$ sudo pip install virtualenv
$ mkdir ouimeaux-env
$ virtualenv ouimeaux-env
$ source ouimeaux-env/bin/activate
$ cd ouimeaux-env
$ pip install git+https://github.com/syphoxy/ouimeaux.git
```

At this point you should be able to use `wemo` and `wemo server` so long as
you've activated your environment with `source ouimeaux-env/bin/activate`.

**Note:** Ensure that the `pip` and `virtualenv` command you use belongs to a
Python 2 installation. On some systems, there are multiple versions of Python
installed. See below for an example from my Fedora system.

```
$ /bin/ls -1 "$(dirname $(which python))/virtualenv"{,-2} "$(dirname $(which python))/p"{ython,ip}[23]
/usr/bin/pip2
/usr/bin/pip3
/usr/bin/python2
/usr/bin/python3
/usr/bin/virtualenv
/usr/bin/virtualenv-2

$ pip --version
pip 9.0.1 from /usr/lib/python3.5/site-packages (python 3.5)

$ pip2 --version
pip 9.0.1 from /usr/lib/python2.7/site-packages (python 2.7)
```

## Troubleshooting

#### Using a VPN
The `wemo` command won't be able to communicate with your devices if you're connected to a VPN. It may be redirecting UDP traffic somewhere else. Disconnect from the VPN and the tool should work.

Open an issue and I'll try to help.




History
-------

Release 0.8.0 (July 30, 2016)
+++++++++++++++++++++++++++++
- Randomize subscription ports to enable simultaneous ouimeaux scripts (thanks @bennytheshap)
- Fix for WeMo LED Light support (thanks @sstangle73)
- #32: Removed address cache, broke server out into optional feature
- Fix for Maker state reporting (thanks @pavoni)
- Filter by SSDP location, fixing case where multiple devices respond from the same IP (thanks @szakharchenko)
- Fix Maker event handlers, which were being passed as bridges (thanks @maxlazarov)
- Work around gevent-socketio bug by explicitly casting header value as string
- Fix for inconsistent Light state (thanks @canduuk)
- StateChange signals are now a separate class and do not fire if value is unchanged (thanks @esecules)
- Python 3 support (thanks to @drock371)

Release 0.7.9 (March 17, 2015)
++++++++++++++++++++++++++++++
- Command line support for WeMo LED Light (thanks @fritz-fritz)
- Command line support for WeMo Maker (thanks @logjames)
- Support for 2.0.0 firmware (thanks @fritz-fritz)
- Bug fixes

Release 0.7.3 (August 10, 2014)
++++++++++++++++++++++++++++++++
- Fixed #18: Error when run as root
- Fixed #26: Evict devices from cache when unreachable
- Fixed #29: GetPower stopped working for Insight devices
- Fixed #31: Add blink method on switches, include in REST API
- Fixed #33, #37: Handle invalid devices without dying
- Fixed #35: Require requests >= 2.3.0
- Fixed #40: Retry requests in the event of failure
- Fixed #47: Don't choke on invalid newlines in XML returned by switches
(thanks to @fingon)

Release 0.7.2 (January 28, 2014)
++++++++++++++++++++++++++++++++
- Fix a bug with using query parameters on /api/device

Release 0.7 (January 27, 2014)
++++++++++++++++++++++++++++++
- Added REST API
- Added Web app

Release 0.6 (January 25, 2014)
++++++++++++++++++++++++++++++++
- Added signals framework
- Fixed #16, #19, #22: Defensively resubscribe to events when device responds with an error
- Fixed #15: Signals framework includes relevant device when sending signal
- Refactored structure, added Sphinx docs

Release 0.5.3 (January 25, 2014)
++++++++++++++++++++++++++++++++
- Fixed #20: Allow timeout in environment.wait()
- Fixed #21: Add Insight support

Release 0.5.2 (November 23, 2013)
+++++++++++++++++++++++++++++++++
- Fixed #14: Indicate Connection:close header to avoid logging when WeMo sends
invalid HTTP response.

Release 0.5.1 (November 9, 2013)
++++++++++++++++++++++++++++++++
- Fixed #10: Updated subscriber listener to use more reliable method of
retrieving non-loopback IP address; updated docs to fix typo in listener
registration example (thanks to @benhoyle, @francxk)
- Fixed #11: Remove instancemethod objects before attempting to pickle devices
in the cache (thanks @piperde, @JonPenner, @tomtomau, @masilu77)

Release 0.5 (October 14, 2013)
+++++++++++++++++++++++++++++++
- Added fuzzy matching of device name when searching/toggling from command line
- Added ``status`` mode to print status for all devices
- Added ``switch status`` mode to print status for specific device
- Added flags for all command-line options
- Fixed #9: Removed unused fcntl import that precluded Windows usage (thanks to
@deepseven)

Release 0.4.3 (August 31, 2013)
+++++++++++++++++++++++++++++++
- Used new method of obtaining local IP for discovery that is less likely to
return loopback
- Exit with failure and instructions for solution if loopback IP is used
- Updated installation docs to include python-dev and pip instructions (patch
by @fnaard)
- Fixed README inclusion bug that occasionally broke installation via pip.
- Added ``--debug`` option to enable debug logging to stdout

Release 0.4 (August 17, 2013)
+++++++++++++++++++++++++++++
- Fixed #7: Added support for light switch devices (patch by nschrenk).
- Fixed #6: Added "wemo clear" command to clear the device cache.

Release 0.3 (May 25, 2013)
++++++++++++++++++++++++++
- Fixed #4: Added ability to specify ip:port for discovery server binding. Removed
documentation describing need to disable SSDP service on Windows.
- Fixed #5: Added device cache for faster results.
- Added configuration file.
- Added ability to configure aliases for devices to avoid quoting strings on
the command line.
- Added 'toggle' command to command line switch control.

Release 0.2 (April 21, 2013)
++++++++++++++++++++++++++++++
- Fixed #1: Added ability to subscribe to motion and switch state change events.
- Added Windows installation details to README (patch by @brianpeiris)
- Cleaned up UDP server lifecycle so rediscovery doesn't try to start it back up.

Release 0.1 (February 2, 2013)
++++++++++++++++++++++++++++++
- Initial release.

* First release on PyPI.

Metadata

Release files for ouimeaux 0.8.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Files added late

2 files were uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release files before installing.

Source distribution (sdist)

Source distribution for ouimeaux 0.8.2
File Size Uploaded
ouimeaux-0.8.2.tar.gz 516.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for ouimeaux 0.8.2
File Interpreter ABI Platform
ouimeaux-0.8.2-py3-none-any.whl Python 3 none any Details
ouimeaux-0.8.2-py2-none-any.whl Python 2 none any Details

Total release size: 1.7 MB

Release files / ouimeaux-0.8.2.tar.gz

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL ouimeaux-0.8.2.tar.gz
Size 516.2 kB
Tags Source
SHA-256 checksum
How to use checksums
935112f7810a3e775a097d5a9fb2a5d878991374c25665a79e8e807f3b9c8e90
BLAKE2b-256 checksum
How to use checksums
42d6f7a8804e25b0831dd729b11e66b45e3ea2f72a1748aaabd56a58abaf7ad2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.9

Release files / ouimeaux-0.8.2-py3-none-any.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL ouimeaux-0.8.2-py3-none-any.whl
Size 529.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
371a61a385523ca5646928d30c89be67637ea397bb5d2e078e483a88562a1e6b
BLAKE2b-256 checksum
How to use checksums
e510ca03d428a0f2eec59506814f0bc0de228a619f104c55293d32cf07b6f947
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.9

Release files / ouimeaux-0.8.2-py2-none-any.whl

Download URL ouimeaux-0.8.2-py2-none-any.whl
Size 608.1 kB
Tags Python 2
SHA-256 checksum
How to use checksums
db49a67b9dfb5fb37e347824b356b71826aa41073ca00be124b8e7375bc2b812
BLAKE2b-256 checksum
How to use checksums
db83a642f53d1ff79eced307e0ea511fb177defbb4aa8257b3152a9570138fa9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/2.7

Release history Release notifications | RSS feed

This release

0.8.2 This release

3 release files

0.8

1 release file

0.7.9

1 release file

0.7.3

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7

1 release file

0.6

1 release file

0.5.3

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

0.1dev

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page