summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO12
-rw-r--r--CHANGELOG.md93
-rw-r--r--PKGBUILD30
-rw-r--r--remove-tests.patch12
4 files changed, 131 insertions, 16 deletions
diff --git a/.SRCINFO b/.SRCINFO
index bf9a345704b9..d39ecf984bef 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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.
diff --git a/PKGBUILD b/PKGBUILD
index eaa40d0c2287..2dadb4b9c795 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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"