- 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 @deepseven)
- 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.