diff options
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | CHANGELOG.md | 93 | ||||
-rw-r--r-- | PKGBUILD | 30 | ||||
-rw-r--r-- | remove-tests.patch | 12 |
4 files changed, 131 insertions, 16 deletions
@@ -1,21 +1,21 @@ pkgbase = python-miio pkgdesc = Python library & console tool for controlling Xiaomi smart appliances - pkgver = 0.5.11 + pkgver = 0.5.12 pkgrel = 1 url = https://github.com/rytilahti/python-miio install = miio.install changelog = CHANGELOG.md arch = any license = GPL3 - makedepends = python-poetry-core makedepends = python-build makedepends = python-installer - makedepends = python-wheel + makedepends = python-poetry-core makedepends = python-pytest makedepends = python-sphinx makedepends = python-sphinx-click makedepends = python-sphinx_rtd_theme makedepends = python-sphinxcontrib-apidoc + makedepends = python-wheel depends = python-appdirs depends = python-attrs depends = python-click @@ -29,7 +29,9 @@ pkgbase = python-miio depends = python-yaml depends = python-zeroconf optdepends = python-android-backup-tools: Android backup extraction support - source = python-miio-0.5.11.tar.gz::https://github.com/rytilahti/python-miio/archive/0.5.11.tar.gz - sha512sums = 804029ffa10760d3563b9025e3a074e5622494562c412ef4a3d7d8b62e2bd01ac3f4ee65de1d271143196464355f58a38364460454ead647254989d6ff550b12 + source = python-miio-0.5.12.tar.gz::https://github.com/rytilahti/python-miio/archive/0.5.12.tar.gz + source = remove-tests.patch + sha256sums = 8a2d369913247e0e62102ee11d6fc026917c710e831863362d4abdcef818e3f1 + sha256sums = a0f3a1e3b926221f41704601d89142c5fb999d009743b7781cb63446c810f4dd pkgname = python-miio diff --git a/CHANGELOG.md b/CHANGELOG.md index f2eb297e012a..e29b94b5997c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,98 @@ # Change Log +## [0.5.12](https://github.com/rytilahti/python-miio/tree/0.5.12) (2022-07-18) + +Release highlights: + +* Thanks to @starkillerOG, this library now supports event handling using `miio.PushServer`, + making it possible to support instantenous event-based callbacks on supported devices. + This works by leveraging the scene functionality for subscribing to events, and is + at the moment only known to be supported by gateway devices. + See the documentation for details: https://python-miio.readthedocs.io/en/latest/push_server.html + +* Optional support for obtaining tokens from the cloud (using `micloud` library by @Squachen), + making onboarding new devices out-of-the-box simpler than ever. + You can access this feature using `miiocli cloud` command, or through `miio.CloudInterface` API. + +* And of course support for new devices, various enhancements to existing ones as well as bug fixes + +Thanks to all 20 individual contributors for this release, see the full changelog below for details! + +[Full Changelog](https://github.com/rytilahti/python-miio/compare/0.5.11...0.5.12) + +**Breaking changes:** + +- Require click8+ \(API incompatibility on result\_callback\) [\#1378](https://github.com/rytilahti/python-miio/pull/1378) (@Sir-Photch) +- Move yeelight to integrations.light package [\#1367](https://github.com/rytilahti/python-miio/pull/1367) (@rytilahti) +- Move humidifier implementations to miio.integrations.humidifier package [\#1365](https://github.com/rytilahti/python-miio/pull/1365) (@rytilahti) +- Move airpurifier impls to miio.integrations.airpurifier package [\#1364](https://github.com/rytilahti/python-miio/pull/1364) (@rytilahti) + +**Implemented enhancements:** + +- Implement fetching device tokens from the cloud [\#1460](https://github.com/rytilahti/python-miio/pull/1460) (@rytilahti) +- Implement push notifications for gateway [\#1459](https://github.com/rytilahti/python-miio/pull/1459) (@starkillerOG) +- Add soundpack install support for vacuum/dreame [\#1457](https://github.com/rytilahti/python-miio/pull/1457) (@GH0st3rs) +- Improve gateway get\_devices\_from\_dict [\#1456](https://github.com/rytilahti/python-miio/pull/1456) (@starkillerOG) +- Improved fanspeed mapping for Roborock S7 MaxV [\#1454](https://github.com/rytilahti/python-miio/pull/1454) (@arthur-morgan-1) +- Add push server implementation to enable event handling [\#1446](https://github.com/rytilahti/python-miio/pull/1446) (@starkillerOG) +- Add yeelink.light.color7 for yeelight [\#1426](https://github.com/rytilahti/python-miio/pull/1426) (@rytilahti) +- vacuum/roborock: Allow custom timer ids [\#1423](https://github.com/rytilahti/python-miio/pull/1423) (@rytilahti) +- Add fan speed presets to VacuumInterface [\#1405](https://github.com/rytilahti/python-miio/pull/1405) (@2pirko) +- Add device\_id property to Device class [\#1384](https://github.com/rytilahti/python-miio/pull/1384) (@starkillerOG) +- Add common interface for vacuums [\#1368](https://github.com/rytilahti/python-miio/pull/1368) (@2pirko) +- roborock: auto empty dustbin support [\#1188](https://github.com/rytilahti/python-miio/pull/1188) (@craigcabrey) + +**Fixed bugs:** + +- Consolidate supported models for class and instance properties [\#1462](https://github.com/rytilahti/python-miio/pull/1462) (@rytilahti) +- fix lumi.plug.mmeu01 ZNCZ04LM [\#1449](https://github.com/rytilahti/python-miio/pull/1449) (@starkillerOG) +- Add quirk fix for double-oh values [\#1438](https://github.com/rytilahti/python-miio/pull/1438) (@rytilahti) +- Use result\_callback \(click8+\) in roborock integration [\#1390](https://github.com/rytilahti/python-miio/pull/1390) (@DoganM95) +- Retry on error code -9999 [\#1363](https://github.com/rytilahti/python-miio/pull/1363) (@rytilahti) +- Catch exceptions during quirk handling [\#1360](https://github.com/rytilahti/python-miio/pull/1360) (@rytilahti) +- Use devinfo.model for unsupported model warning + [\#1359](https://github.com/rytilahti/python-miio/pull/1359) (@MPThLee) + +**New devices:** + +- Add support for Xiaomi Smart Standing Fan 2 Pro \(dmaker.fan.p33\) [\#1467](https://github.com/rytilahti/python-miio/pull/1467) (@dainnilsson) +- add zhimi.airpurifier.amp1 support [\#1464](https://github.com/rytilahti/python-miio/pull/1464) (@dsh0416) +- roborock: Add support for Roborock G10S \(roborock.vacuum.a46\) [\#1437](https://github.com/rytilahti/python-miio/pull/1437) (@rytilahti) +- Add support for Smartmi Air Purifier \(zhimi.airpurifier.za1\) [\#1417](https://github.com/rytilahti/python-miio/pull/1417) (@julian-klode) +- Add zhimi.airp.rmb1 support [\#1402](https://github.com/rytilahti/python-miio/pull/1402) (@jedziemyjedziemy) +- Add zhimi.airp.vb4 support \(air purifier 4 pro\) [\#1399](https://github.com/rytilahti/python-miio/pull/1399) (@rperrell) +- Add support for dreame.vacuum.p2150o [\#1382](https://github.com/rytilahti/python-miio/pull/1382) (@icepie) +- Add support for Air Purifier 4 \(zhimi.airp.mb5\) [\#1357](https://github.com/rytilahti/python-miio/pull/1357) (@MPThLee) +- Support for Xiaomi Vaccum Mop 2 Ultra and Pro+ \(dreame\) [\#1356](https://github.com/rytilahti/python-miio/pull/1356) (@2pirko) + +**Documentation updates:** + +- Various documentation cleanups [\#1466](https://github.com/rytilahti/python-miio/pull/1466) (@rytilahti) +- Remove docs for now-removed mi{ceil,plug,eyecare} cli tools [\#1465](https://github.com/rytilahti/python-miio/pull/1465) (@rytilahti) +- Fix outdated vacuum mentions in README [\#1442](https://github.com/rytilahti/python-miio/pull/1442) (@rytilahti) +- Update troubleshooting to note discovery issues with roborock.vacuum.a27 [\#1414](https://github.com/rytilahti/python-miio/pull/1414) (@golddragon007) +- Add cloud extractor for token extraction to documentation [\#1383](https://github.com/rytilahti/python-miio/pull/1383) (@NiRi0004) + +**Merged pull requests:** + +- Mark zhimi.airp.mb3a as supported [\#1468](https://github.com/rytilahti/python-miio/pull/1468) (@rytilahti) +- Disable 3.11-dev builds on mac and windows [\#1461](https://github.com/rytilahti/python-miio/pull/1461) (@rytilahti) +- Fix doc8 regression [\#1458](https://github.com/rytilahti/python-miio/pull/1458) (@rytilahti) +- Disable fail-fast on CI tests [\#1450](https://github.com/rytilahti/python-miio/pull/1450) (@rytilahti) +- Mark roborock q5 \(roborock.vacuum.a34\) as supported [\#1448](https://github.com/rytilahti/python-miio/pull/1448) (@rytilahti) +- zhimi\_miot: Rename fan\_speed to speed [\#1439](https://github.com/rytilahti/python-miio/pull/1439) (@syssi) +- Add viomi.vacuum.v13 for viomivacuum [\#1432](https://github.com/rytilahti/python-miio/pull/1432) (@rytilahti) +- Add python 3.11-dev to CI [\#1427](https://github.com/rytilahti/python-miio/pull/1427) (@rytilahti) +- Add codeql checks [\#1403](https://github.com/rytilahti/python-miio/pull/1403) (@rytilahti) +- Update pre-commit hooks to fix black in CI [\#1380](https://github.com/rytilahti/python-miio/pull/1380) (@rytilahti) +- Mark chuangmi.camera.038a2 as supported [\#1371](https://github.com/rytilahti/python-miio/pull/1371) (@rockyzhang) +- Mark roborock.vacuum.c1 as supported [\#1370](https://github.com/rytilahti/python-miio/pull/1370) (@rytilahti) +- Use integration type specific imports [\#1366](https://github.com/rytilahti/python-miio/pull/1366) (@rytilahti) +- Mark dmaker.fan.p{15,18} as supported [\#1362](https://github.com/rytilahti/python-miio/pull/1362) (@rytilahti) +- Mark philips.light.sread2 as supported for philips\_eyecare [\#1355](https://github.com/rytilahti/python-miio/pull/1355) (@rytilahti) +- Use \_mappings for all miot integrations [\#1349](https://github.com/rytilahti/python-miio/pull/1349) (@rytilahti) + + ## [0.5.11](https://github.com/rytilahti/python-miio/tree/0.5.11) (2022-03-07) This release fixes zhimi.fan.za5 support and makes all integrations introspectable for their supported models. @@ -1,8 +1,10 @@ # Maintainer: Luis Martinez <luis dot martinez at disroot dot org> # Contributor: Patrick Lühne <patrick-arch@luehne.de> +## Using tarballs from GitHub to build manpages + pkgname=python-miio -pkgver=0.5.11 +pkgver=0.5.12 pkgrel=1 pkgdesc="Python library & console tool for controlling Xiaomi smart appliances" url="https://github.com/rytilahti/python-miio" @@ -23,31 +25,37 @@ depends=( 'python-zeroconf') optdepends=('python-android-backup-tools: Android backup extraction support') makedepends=( - 'python-poetry-core' 'python-build' 'python-installer' - 'python-wheel' + 'python-poetry-core' 'python-pytest' 'python-sphinx' 'python-sphinx-click' 'python-sphinx_rtd_theme' - 'python-sphinxcontrib-apidoc') + 'python-sphinxcontrib-apidoc' + 'python-wheel') install=miio.install changelog=CHANGELOG.md -source=("$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz") -sha512sums=('804029ffa10760d3563b9025e3a074e5622494562c412ef4a3d7d8b62e2bd01ac3f4ee65de1d271143196464355f58a38364460454ead647254989d6ff550b12') +source=("$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz" + 'remove-tests.patch') +sha256sums=('8a2d369913247e0e62102ee11d6fc026917c710e831863362d4abdcef818e3f1' + 'a0f3a1e3b926221f41704601d89142c5fb999d009743b7781cb63446c810f4dd') + +prepare() { + patch -p1 -d "$pkgname-$pkgver" < remove-tests.patch +} build() { cd "$pkgname-$pkgver" python -m build --wheel --no-isolation - cd docs - PYTHONPATH=../ make man + PYTHONPATH="$PWD" make -C docs man } package() { - export PYTHONHASHSEED=0 cd "$pkgname-$pkgver" - python -m installer --destdir="$pkgdir/" dist/*.whl - install -Dm644 LICENSE.md -t "${pkgdir}/usr/share/licenses/${pkgname}" + PYTHONHASHSEED=0 python -m installer --destdir="$pkgdir/" dist/*.whl install -Dm644 "docs/_build/man/$pkgname.1" -t "$pkgdir/usr/share/man/man1/" + local _site="$(python -c 'import site; print(site.getsitepackages()[0])')" + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s "$_site/${pkgname/-/_}-$pkgver.dist-info/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/" } diff --git a/remove-tests.patch b/remove-tests.patch new file mode 100644 index 000000000000..b90850f08f7b --- /dev/null +++ b/remove-tests.patch @@ -0,0 +1,12 @@ +diff --git a/pyproject.toml b/pyproject.toml +index 60b8652..e65fa8a 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -20,6 +20,7 @@ classifiers = [ + "Topic :: System :: Hardware", + "Topic :: Home Automation" + ] ++exclude = ["miio/**/tests/*"] + + [tool.poetry.scripts] + mirobo = "miio.integrations.vacuum.roborock.vacuum_cli:cli" |