Skip to content

Tags: hector2007ss/python-miio

Tags

0.5.11

Toggle 0.5.11's commit message
Release 0.5.11

This release fixes zhimi.fan.za5 support and makes all integrations introspectable for their supported models.
For developers, there is now a network trace parser (in devtools/parse_pcap.py) that prints the decrypted the traffic for given tokens.

The following previously deprecated classes in favor of model-based discovery, if you were using these classes directly you need to adjust your code:
* AirFreshVA4 - use AirFresh
* AirHumidifierCA1, AirHumidifierCB1, AirHumidifierCB2 - use AirHumidifier
* AirDogX5, AirDogX7SM - use AirDogX3
* AirPurifierMB4 - use AirPurifierMiot
* Plug, PlugV1, PlugV3 - use ChuangmiPlug
* FanP9, FanP10, FanP11 - use FanMiot
* DreameVacuumMiot - use DreameVacuum
* Vacuum - use RoborockVacuum

[Full Changelog](rytilahti/python-miio@0.5.10...0.5.11)

**Breaking changes:**

- Remove deprecated integration classes [\rytilahti#1343](rytilahti#1343) (@rytilahti)

**Implemented enhancements:**

- Add PCAP file parser for protocol analysis [\rytilahti#1331](rytilahti#1331) (@rytilahti)

**Fixed bugs:**

- Fix bug for zhimi.fan.za5 resulting in user ack timeout [\rytilahti#1348](rytilahti#1348) (@saxel)

**Deprecated:**

- Deprecate wifi\_led in favor of led [\rytilahti#1342](rytilahti#1342) (@rytilahti)

**Merged pull requests:**

- Make sure miotdevice implementations define supported models [\rytilahti#1345](rytilahti#1345) (@rytilahti)
- Add Viomi V2 \(viomi.vacuum.v6\) as supported [\rytilahti#1340](rytilahti#1340) (@rytilahti)
- Mark Roborock S7 MaxV \(roborock.vacuum.a27\) as supported [\rytilahti#1337](rytilahti#1337) (@rytilahti)
- Add pyupgrade to CI runs [\rytilahti#1329](rytilahti#1329) (@rytilahti)

0.5.10

Toggle 0.5.10's commit message
Release 0.5.10

This release adds support for several new devices (see details below, thanks to @PRO-2684, @peleccom, @ymj0424, and @supar), and contains improvements to Roborock S7, yeelight and gateway integrations (thanks to @starkillerOG, @Kirmas, and @shred86).
Thanks also to everyone who has reported their working model information, we can use this information to provide better discovery in the future and this release silences the warning for known working models.

Python 3.6 is no longer supported, and Fan{V2,SA1,ZA1,ZA3,ZA4} utility classes are now removed in favor of using Fan class.

[Full Changelog](rytilahti/python-miio@0.5.9.2...0.5.10)

**Breaking changes:**

- Split fan.py to vendor-specific fan integrations [\rytilahti#1304](rytilahti#1304) (@rytilahti)
- Drop python 3.6 support [\rytilahti#1263](rytilahti#1263) (@rytilahti)

**Implemented enhancements:**

- Improve miotdevice mappings handling [\rytilahti#1302](rytilahti#1302) (@rytilahti)
- airpurifier\_miot: force aqi update prior fetching data [\rytilahti#1282](rytilahti#1282) (@rytilahti)
- improve gateway error messages [\rytilahti#1261](rytilahti#1261) (@starkillerOG)
- yeelight: use and expose the color temp range from specs [\rytilahti#1247](rytilahti#1247) (@Kirmas)
- Add Roborock S7 mop scrub intensity [\rytilahti#1236](rytilahti#1236) (@shred86)

**New devices:**

- Add support for zhimi.heater.za2 [\rytilahti#1301](rytilahti#1301) (@PRO-2684)
- Dreame F9 Vacuum \(dreame.vacuum.p2008\) support [\rytilahti#1290](rytilahti#1290) (@peleccom)
- Add support for Air Purifier 4 Pro \(zhimi.airp.va2\) [\rytilahti#1287](rytilahti#1287) (@ymj0424)
- Add support for deerma.humidifier.jsq{s,5} [\rytilahti#1193](rytilahti#1193) (@supar)

**Merged pull requests:**

- Add roborock.vacuum.a23 to supported models [\rytilahti#1314](rytilahti#1314) (@rytilahti)
- Move philips light implementations to integrations/light/philips [\rytilahti#1306](rytilahti#1306) (@rytilahti)
- Move leshow fan implementation to integrations/fan/leshow/ [\rytilahti#1305](rytilahti#1305) (@rytilahti)
- Split fan\_miot.py to vendor-specific fan integrations [\rytilahti#1303](rytilahti#1303) (@rytilahti)
- Add chuangmi.remote.v2 to chuangmiir [\rytilahti#1299](rytilahti#1299) (@rytilahti)
- Perform pypi release on github release [\rytilahti#1298](rytilahti#1298) (@rytilahti)
- Print debug recv contents prior accessing its contents [\rytilahti#1293](rytilahti#1293) (@rytilahti)
- Add more supported models [\rytilahti#1292](rytilahti#1292) (@rytilahti)
- Add more supported models [\rytilahti#1275](rytilahti#1275) (@rytilahti)
- Update installation instructions to use poetry [\rytilahti#1259](rytilahti#1259) (@rytilahti)
- Add more supported models based on discovery.py's mdns records [\rytilahti#1258](rytilahti#1258) (@rytilahti)

0.5.9.2

Toggle 0.5.9.2's commit message
Release 0.5.9.2

This release fixes regressions caused by the recent refactoring related to supported models:
* philips_bulb now defaults to a bulb that has color temperature setting
* gateway devices do not perform an info query as that is handled by their parent

Also, the list of the supported models was extended thanks to the feedback from the community!

[Full Changelog](rytilahti/python-miio@0.5.9.1...0.5.9.2)

**Implemented enhancements:**

- Add yeelink.bhf\_light.v2 and yeelink.light.lamp22 support [\rytilahti#1250](rytilahti#1250) ([FaintGhost](https://github.com/FaintGhost))
- Skip warning if the unknown model is reported on a base class [\rytilahti#1243](rytilahti#1243) ([rytilahti](https://github.com/rytilahti))
- Add emptying bin status for roborock s7+ [\rytilahti#1190](rytilahti#1190) ([rytilahti](https://github.com/rytilahti))

**Fixed bugs:**

- Fix Roborock S7 fan speed [\rytilahti#1235](rytilahti#1235) ([shred86](https://github.com/shred86))
- gateway: remove click support for gateway devices [\rytilahti#1229](rytilahti#1229) ([starkillerOG](https://github.com/starkillerOG))
- mirobo: make sure config always exists [\rytilahti#1207](rytilahti#1207) ([rytilahti](https://github.com/rytilahti))
- Fix typo [\rytilahti#1204](rytilahti#1204) ([com30n](https://github.com/com30n))

**Merged pull requests:**

- philips\_eyecare: add philips.light.sread1 as supported [\rytilahti#1246](rytilahti#1246) ([rytilahti](https://github.com/rytilahti))
- Add yeelink.light.color3 support [\rytilahti#1245](rytilahti#1245) ([Kirmas](https://github.com/Kirmas))
- Use codecov-action@v2 for CI [\rytilahti#1244](rytilahti#1244) ([rytilahti](https://github.com/rytilahti))
- Add yeelink.light.color5 support [\rytilahti#1242](rytilahti#1242) ([Kirmas](https://github.com/Kirmas))
- Add more supported devices to their corresponding classes [\rytilahti#1237](rytilahti#1237) ([rytilahti](https://github.com/rytilahti))
- Add zhimi.humidfier.ca4 as supported model [\rytilahti#1220](rytilahti#1220) ([jbouwh](https://github.com/jbouwh))
- vacuum: Add t7s \(roborock.vacuum.a14\) [\rytilahti#1214](rytilahti#1214) ([rytilahti](https://github.com/rytilahti))
- philips\_bulb: add philips.light.downlight to supported devices [\rytilahti#1212](rytilahti#1212) ([rytilahti](https://github.com/rytilahti))

0.5.9.1

Toggle 0.5.9.1's commit message
This minor release only adds already known models pre-emptively to th…

…e lists of supported models to avoid flooding the issue tracker on reports after the next homeassistant release.

[Full Changelog](rytilahti/python-miio@0.5.9...0.5.9.1)

**Merged pull requests:**

- Add known models to supported models [\rytilahti#1202](rytilahti#1202) ([rytilahti](https://github.com/rytilahti))
- Add issue template for missing model information [\rytilahti#1200](rytilahti#1200) ([rytilahti](https://github.com/rytilahti))

0.5.9

Toggle 0.5.9's commit message
Besides enhancements and bug fixes, this release includes plenty of j…

…anitoral work to enable common base classes in the future.

For library users:
* Integrations are slowly moving to their own packages and directories, e.g. the vacuum module is now located in `miio.integrations.vacuum.roborock`.
* Using `Vacuum` is now deprecated and will be later used as the common interface class for all vacuum implementations. For roborock vacuums, use `RoborockVacuum` instead.

[Full Changelog](rytilahti/python-miio@0.5.8...0.5.9)

**Breaking changes:**

- Move vacuums to self-contained integrations [\rytilahti#1165](rytilahti#1165) ([rytilahti](https://github.com/rytilahti))
- Remove unnecessary subclass constructors, deprecate subclasses only setting the model [\rytilahti#1146](rytilahti#1146) ([rytilahti](https://github.com/rytilahti))
- Remove deprecated cli tools \(plug,miceil,mieye\) [\rytilahti#1130](rytilahti#1130) ([rytilahti](https://github.com/rytilahti))

**Implemented enhancements:**

- Upgrage install and pre-commit dependencies [\rytilahti#1192](rytilahti#1192) ([rytilahti](https://github.com/rytilahti))
- Add py.typed to the package [\rytilahti#1184](rytilahti#1184) ([rytilahti](https://github.com/rytilahti))
- airhumidifer\_\(mj\)jsq: Add use\_time for better API compatibility [\rytilahti#1179](rytilahti#1179) ([rytilahti](https://github.com/rytilahti))
- vacuum: return none on is\_water\_box\_attached if unsupported [\rytilahti#1178](rytilahti#1178) ([rytilahti](https://github.com/rytilahti))
- Add more supported vacuum models [\rytilahti#1173](rytilahti#1173) ([OGKevin](https://github.com/OGKevin))
- Reorganize yeelight specs file [\rytilahti#1166](rytilahti#1166) ([Kirmas](https://github.com/Kirmas))
- enable G1 vacuum for miiocli [\rytilahti#1164](rytilahti#1164) ([ghoost82](https://github.com/ghoost82))
- Add light specs for yeelight [\rytilahti#1163](rytilahti#1163) ([Kirmas](https://github.com/Kirmas))
- Add S5 MAX model to support models list. [\rytilahti#1157](rytilahti#1157) ([OGKevin](https://github.com/OGKevin))
- Use poetry-core as build-system [\rytilahti#1152](rytilahti#1152) ([rytilahti](https://github.com/rytilahti))
- Support for Xiaomi Mijia G1 \(mijia.vacuum.v2\)  [\rytilahti#867](rytilahti#867) ([neturmel](https://github.com/neturmel))

**Fixed bugs:**

- Fix test\_properties command logic [\rytilahti#1180](rytilahti#1180) ([Zuz666](https://github.com/Zuz666))
- Make sure all device-derived classes accept model kwarg [\rytilahti#1143](rytilahti#1143) ([rytilahti](https://github.com/rytilahti))
- Make cli work again for offline gen1 vacs, fix tests [\rytilahti#1141](rytilahti#1141) ([rytilahti](https://github.com/rytilahti))
- Fix `water_level` calculation for humidifiers [\rytilahti#1140](rytilahti#1140) ([bieniu](https://github.com/bieniu))
- fix TypeError in gateway property exception handling [\rytilahti#1138](rytilahti#1138) ([starkillerOG](https://github.com/starkillerOG))
- Do not get battery status for mains powered devices [\rytilahti#1131](rytilahti#1131) ([starkillerOG](https://github.com/starkillerOG))

**Deprecated:**

- Deprecate roborock specific miio.Vacuum [\rytilahti#1191](rytilahti#1191) ([rytilahti](https://github.com/rytilahti))

**New devices:**

- add support for smart pet water dispenser mmgg.pet\_waterer.s1 [\rytilahti#1174](rytilahti#1174) ([ofen](https://github.com/ofen))

**Documentation updates:**

- Docs: Add workaround for file upload failure [\rytilahti#1155](rytilahti#1155) ([martin-kokos](https://github.com/martin-kokos))
- Add examples how to avoid model autodetection [\rytilahti#1142](rytilahti#1142) ([rytilahti](https://github.com/rytilahti))
- Restructure & improve documentation [\rytilahti#1139](rytilahti#1139) ([rytilahti](https://github.com/rytilahti))

**Merged pull requests:**

- Add Air Purifier Pro H support [\rytilahti#1185](rytilahti#1185) ([pvizeli](https://github.com/pvizeli))
- Allow publish on test pypi workflow to fail [\rytilahti#1177](rytilahti#1177) ([rytilahti](https://github.com/rytilahti))
- Relax pyyaml version requirement [\rytilahti#1176](rytilahti#1176) ([rytilahti](https://github.com/rytilahti))
- create separate directory for yeelight [\rytilahti#1160](rytilahti#1160) ([Kirmas](https://github.com/Kirmas))
- Add workflow to publish packages on pypi [\rytilahti#1145](rytilahti#1145) ([rytilahti](https://github.com/rytilahti))
- Add tests for DeviceInfo [\rytilahti#1144](rytilahti#1144) ([rytilahti](https://github.com/rytilahti))
- Mark device\_classes inside devicegroupmeta as private [\rytilahti#1129](rytilahti#1129) ([rytilahti](https://github.com/rytilahti))

0.5.8

Toggle 0.5.8's commit message
0.5.8

-----

* Add support for smart mi standing fan 3 (zhimi.fan.za5)
* Fix usage of deprecated depth for airhumidifer

[Full Changelog](rytilahti/python-miio@0.5.7...0.5.8)

**Implemented enhancements:**

- vacuum: skip timezone call if there are no timers [\rytilahti#1122](rytilahti#1122) ([rytilahti](https://github.com/rytilahti))

**Closed issues:**

- Smart Mi Standing fan 3 \(Xiaomi Pedestal Fan 3, zhimi.fan.za5\) [\rytilahti#788](rytilahti#788)

**Merged pull requests:**

- readme: add micloudfaker to list of related projects [\rytilahti#1127](rytilahti#1127) ([unrelentingtech](https://github.com/unrelentingtech))
- Update readme with section for related projects [\rytilahti#1126](rytilahti#1126) ([rytilahti](https://github.com/rytilahti))
- add lumi.plug.mmeu01 - ZNCZ04LM [\rytilahti#1125](rytilahti#1125) ([starkillerOG](https://github.com/starkillerOG))
- Do not use deprecated `depth` property [\rytilahti#1124](rytilahti#1124) ([bieniu](https://github.com/bieniu))
- vacuum: remove long-deprecated 'return\_list' for clean\_details [\rytilahti#1123](rytilahti#1123) ([rytilahti](https://github.com/rytilahti))
- deprecate Fan{V2,SA1,ZA1,ZA3,ZA4} in favor of model kwarg [\rytilahti#1119](rytilahti#1119) ([rytilahti](https://github.com/rytilahti))
- Add support for Smartmi Standing Fan 3 \(zhimi.fan.za5\) [\rytilahti#1087](rytilahti#1087) ([rnovatorov](https://github.com/rnovatorov))

0.5.7

Toggle 0.5.7's commit message
This release improves several integrations (including yeelight, airpu…

…rifier_miot, dreamevacuum, rockrobo) and adds support for Roidmi Eve vacuums, see the full changelog for more details.

Note that this will likely be the last release on the 0.5 series before breaking the API to reorganize the project structure and provide common device type specific interfaces.

[Full Changelog](rytilahti/python-miio@0.5.6...0.5.7)

0.5.6

Toggle 0.5.6's commit message
Release 0.5.6

[Full Changelog](rytilahti/python-miio@0.5.5.2...0.5.6)

**Implemented enhancements:**

- RFC: Add a script to simplify finding supported properties for miio [\rytilahti#919](rytilahti#919)
- Improve test\_properties output [\rytilahti#1024](rytilahti#1024) ([rytilahti](https://github.com/rytilahti))
- Relax zeroconf version requirement [\rytilahti#1023](rytilahti#1023) ([rytilahti](https://github.com/rytilahti))
- Add test\_properties command to device class [\rytilahti#1014](rytilahti#1014) ([rytilahti](https://github.com/rytilahti))
- Add discover command to miiocli [\rytilahti#1013](rytilahti#1013) ([rytilahti](https://github.com/rytilahti))
- Fix supported oscillation angles of the dmaker.fan.p9 [\rytilahti#1011](rytilahti#1011) ([syssi](https://github.com/syssi))
- Add additional operation mode of the deerma.humidifier.jsq1 [\rytilahti#1010](rytilahti#1010) ([syssi](https://github.com/syssi))
- Roborock S7: Parse history details returned as dict [\rytilahti#1006](rytilahti#1006) ([fettlaus](https://github.com/fettlaus))

**Fixed bugs:**

- zeroconf 0.29.0 which is incompatible [\rytilahti#1022](rytilahti#1022)
- Remove superfluous decryption failure for handshake responses [\rytilahti#1008](rytilahti#1008)
- Skip pausing on Roborock S50 [\rytilahti#1005](rytilahti#1005)
- Roborock S7 after Firmware Update 4.1.2-0928 - KeyError [\rytilahti#1004](rytilahti#1004)
- No air quality value when aqi is 1 [\rytilahti#958](rytilahti#958)
- Fix exception on devices with removed lan\_ctrl [\rytilahti#1028](rytilahti#1028) ([Kirmas](https://github.com/Kirmas))
- Fix start bug and improve error handling in walkingpad integration [\rytilahti#1017](rytilahti#1017) ([dewgenenny](https://github.com/dewgenenny))
- gateway: fix zigbee lights [\rytilahti#1016](rytilahti#1016) ([starkillerOG](https://github.com/starkillerOG))
- Silence unable to decrypt warning for handshake responses [\rytilahti#1015](rytilahti#1015) ([rytilahti](https://github.com/rytilahti))
- Fix set\_mode\_and\_speed mode for airdog airpurifier [\rytilahti#993](rytilahti#993) ([alexeypetrenko](https://github.com/alexeypetrenko))

**Closed issues:**

- Add Dafang camera \(isa.camera.df3\) support [\rytilahti#996](rytilahti#996)
- Roborock S7 [\rytilahti#989](rytilahti#989)
- WalkingPad A1 Pro [\rytilahti#797](rytilahti#797)

**Merged pull requests:**

- Add basic dmaker.fan.1c support [\rytilahti#1012](rytilahti#1012) ([syssi](https://github.com/syssi))
- Always return aqi value \[Revert PR\rytilahti#930\] [\rytilahti#1007](rytilahti#1007) ([bieniu](https://github.com/bieniu))
- Added S6 to skip pause on docking [\rytilahti#1002](rytilahti#1002) ([Sian-Lee-SA](https://github.com/Sian-Lee-SA))
- Added number of dust collections to CleaningSummary if available [\rytilahti#992](rytilahti#992) ([fettlaus](https://github.com/fettlaus))
- Reformat history data if returned as a dict/Roborock S7 Support \(\rytilahti#989\) [\rytilahti#990](rytilahti#990) ([fettlaus](https://github.com/fettlaus))
- Add support for Walkingpad A1 \(ksmb.walkingpad.v3\) [\rytilahti#975](rytilahti#975) ([dewgenenny](https://github.com/dewgenenny))

0.5.5.2

Toggle 0.5.5.2's commit message
This release is mainly to re-add mapping parameter to MiotDevice cons…

…tructor for backwards-compatibility reasons,

but adds also PyYAML dependency and improves MiOT support to allow limiting how many properties to query at once.

[Full Changelog](rytilahti/python-miio@0.5.5.1...0.5.5.2)

**Implemented enhancements:**

- Please add back the mapping parameter to `MiotDevice` constructor [\rytilahti#982](rytilahti#982)

**Fixed bugs:**

- Missing dependency: pyyaml [\rytilahti#986](rytilahti#986)

**Merged pull requests:**

- Add pyyaml dependency [\rytilahti#987](rytilahti#987) ([rytilahti](https://github.com/rytilahti))
- Re-add mapping parameter to MiotDevice ctor [\rytilahti#985](rytilahti#985) ([rytilahti](https://github.com/rytilahti))
- Move hardcoded parameter `max\_properties` [\rytilahti#981](rytilahti#981) ([ha0y](https://github.com/ha0y))

0.5.5.1

Toggle 0.5.5.1's commit message
This release fixes a single regression of non-existing sequence file …

…for those users who never used mirobo/miiocli vacuum previously.

Users of the library do not need this upgrade.

[Full Changelog](rytilahti/python-miio@0.5.5...0.5.5.1)