Changelogs » Aioouimeaux



- 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)


- 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


- 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)


- Fix a bug with using query parameters on /api/device


- Added REST API
- Added Web app


- 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


- Fixed 20: Allow timeout in environment.wait()
- Fixed 21: Add Insight support


- Fixed 14: Indicate Connection:close header to avoid logging when WeMo sends
invalid HTTP response.


- 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)


- 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


- 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


- Fixed 7: Added support for light switch devices (patch by nschrenk).
- Fixed 6: Added "wemo clear" command to clear the device cache.


- 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.


- 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.


- Initial release.

* First release on PyPI.


- Modified the code to use asyncio
- suppressed use of gevent
- suppressed use of requests
- suppressed the signal framework (was using thread)
- suppressed  REST server and client application
- uses aiohttp and aiohttp_wsgi
- Renamed Environment to WeMo