The most noteworthy change in this release is the work undertaken by @starkillerOG to improve the support for Xiaomi gateway devices. See the PR description for more details at #700 .
For downstream developers, this release adds two new exceptions to allow better control in situations where the response payloads from the device are something unexpected. This is useful for gracefully fallbacks when automatic device type discovery fails.
P.S. There is now a matrix room (https://matrix.to/#/#python-miio-chat:matrix.org) so feel free to hop in for any reason.
This release adds support for the following new devices:
- chuangmi.plug.hmi208
- Gateway subdevices: Aqara Wireless Relay 2ch (@bskaplou), AqaraSwitch{One,Two}Channels (@starkillerOG)
Fixes & Enhancements:
- The initial UDP handshake is sent now several times to accommodate spotty networks
- chuangmi.camera.ipc019: camera rotation & alarm activation
- Vacuum: added next_schedule property for timers, water tank status, is_on state for segment cleaning mode
- chuangmi.plug.v3: works now with updated firmware version
- Viomi vacuum: various minor fixes
API changes:
-
Device.send() accepts
extra_parameters
to allow passing values to the main payload body. This is useful at least for gateway devices. -
Two new exceptions to give more control to downstream developers:
- PayloadDecodeException (when the payload is unparseable)
- DeviceInfoUnavailableException (when device.info() fails)
-
Dependency management is now done using poetry & pyproject.toml