Steven B
4beff228c9
Enable shell extra for installing ptpython and rich ( #782 )
...
Co-authored-by: Teemu R. <tpr@iki.fi>
2024-02-20 18:40:28 +00:00
Teemu R
458949157a
Add 'shell' command to cli ( #738 )
...
* Add 'shell' command to cli
* Add test
* Add ptpython as optional dep
2024-02-06 14:48:19 +01:00
Teemu R
414489ff18
Prepare 0.6.2.1 ( #736 )
...
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.2...0.6.2.1 )
**Fixed bugs:**
- Avoid crashing on childdevice property accesses [\#732](https://github.com/python-kasa/python-kasa/pull/732 ) (@rytilahti)
**Merged pull requests:**
- Retain last two chars for children device\_id [\#733](https://github.com/python-kasa/python-kasa/pull/733 ) (@rytilahti)
- Add TP15 fixture [\#730](https://github.com/python-kasa/python-kasa/pull/730 ) (@bdraco)
- Add TP25 fixtures [\#729](https://github.com/python-kasa/python-kasa/pull/729 ) (@bdraco)
- Various test code cleanups [\#725](https://github.com/python-kasa/python-kasa/pull/725 ) (@rytilahti)
- Unignore F401 for tests [\#724](https://github.com/python-kasa/python-kasa/pull/724 ) (@rytilahti)
2024-02-02 20:18:46 +01:00
Teemu R
55525fc58b
Unignore F401 for tests ( #724 )
...
* Unignore F401 for tests
* Fix linting
2024-01-30 00:15:58 +01:00
Teemu R
1e26434205
Prepare 0.6.2 ( #728 )
...
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.1...0.6.2 )
Release highlights:
* Support for tapo power strips (P300)
* Performance improvements and bug fixes
**Implemented enhancements:**
- Implement alias set for tapodevice [\#721](https://github.com/python-kasa/python-kasa/pull/721 ) (@rytilahti)
- Initial support for tapos with child devices [\#720](https://github.com/python-kasa/python-kasa/pull/720 ) (@rytilahti)
- Avoid rebuilding urls for every request [\#715](https://github.com/python-kasa/python-kasa/pull/715 ) (@bdraco)
- Reduce the number of times creating the cipher in klap [\#712](https://github.com/python-kasa/python-kasa/pull/712 ) (@bdraco)
- Use hashlib for klap [\#711](https://github.com/python-kasa/python-kasa/pull/711 ) (@bdraco)
- Enable batching of multiple requests [\#662](https://github.com/python-kasa/python-kasa/pull/662 ) (@sdb9696)
**Merged pull requests:**
- Update L510E\(US\) fixture with mac prefix [\#722](https://github.com/python-kasa/python-kasa/pull/722 ) (@sdb9696)
- Add P300 fixture [\#717](https://github.com/python-kasa/python-kasa/pull/717 ) (@rytilahti)
- Use hashlib in place of hashes.Hash [\#714](https://github.com/python-kasa/python-kasa/pull/714 ) (@bdraco)
- Switch from TPLinkSmartHomeProtocol to IotProtocol/XorTransport [\#710](https://github.com/python-kasa/python-kasa/pull/710 ) (@sdb9696)
- Add concrete XorTransport class with full implementation [\#646](https://github.com/python-kasa/python-kasa/pull/646 ) (@sdb9696)
2024-01-29 19:58:30 +01:00
Steven B
9c0a831027
Enable batching of multiple requests ( #662 )
...
* Enable batching of multiple requests
* Test for debug enabled outside of loop
* tweaks
* tweaks
* tweaks
* Update kasa/smartprotocol.py
Co-authored-by: Teemu R. <tpr@iki.fi>
* revert
* Update pyproject.toml
* Add batch test and make batch_size configurable
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Teemu R. <tpr@iki.fi>
2024-01-29 11:55:54 +01:00
Teemu R
c01c3c679c
Prepare 0.6.1 ( #709 )
...
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.0.1...0.6.1 )
Release highlights:
* Support for tapo wall switches
* Support for unprovisioned devices
* Performance and stability improvements
**Implemented enhancements:**
- Add support for tapo wall switches \(S500D\) [\#704](https://github.com/python-kasa/python-kasa/pull/704 ) (@bdraco)
- Add new cli command 'command' to execute arbitrary commands [\#692](https://github.com/python-kasa/python-kasa/pull/692 ) (@rytilahti)
- Allow raw-command and wifi without update [\#688](https://github.com/python-kasa/python-kasa/pull/688 ) (@rytilahti)
- Generate AES KeyPair lazily [\#687](https://github.com/python-kasa/python-kasa/pull/687 ) (@sdb9696)
- Add reboot and factory\_reset to tapodevice [\#686](https://github.com/python-kasa/python-kasa/pull/686 ) (@rytilahti)
- Try default tapo credentials for klap and aes [\#685](https://github.com/python-kasa/python-kasa/pull/685 ) (@sdb9696)
- Sleep between discovery packets [\#656](https://github.com/python-kasa/python-kasa/pull/656 ) (@sdb9696)
**Fixed bugs:**
- Do not crash on missing geolocation [\#701](https://github.com/python-kasa/python-kasa/pull/701 ) (@rytilahti)
- Fix P100 error getting conn closed when trying default login after login failure [\#690](https://github.com/python-kasa/python-kasa/pull/690 ) (@sdb9696)
**Documentation updates:**
- Add protocol and transport documentation [\#663](https://github.com/python-kasa/python-kasa/pull/663 ) (@sdb9696)
- Document authenticated provisioning [\#634](https://github.com/python-kasa/python-kasa/pull/634 ) (@rytilahti)
**Closed issues:**
- Consider handshake as still valid on ServerDisconnectedError [\#676](https://github.com/python-kasa/python-kasa/issues/676 )
- AES Transport creates the key even if the device is offline [\#675](https://github.com/python-kasa/python-kasa/issues/675 )
- how to provision new Tapo plug devices? [\#565](https://github.com/python-kasa/python-kasa/issues/565 )
- Space out discovery requests [\#229](https://github.com/python-kasa/python-kasa/issues/229 )
**Merged pull requests:**
- Add additional L900-10 fixture [\#707](https://github.com/python-kasa/python-kasa/pull/707 ) (@bdraco)
- Replace rich formatting stripper [\#706](https://github.com/python-kasa/python-kasa/pull/706 ) (@bdraco)
- Add support for the S500 [\#705](https://github.com/python-kasa/python-kasa/pull/705 ) (@bdraco)
- Fix overly greedy \_strip\_rich\_formatting [\#703](https://github.com/python-kasa/python-kasa/pull/703 ) (@bdraco)
- Ensure login token is only sent if aes state is ESTABLISHED [\#702](https://github.com/python-kasa/python-kasa/pull/702 ) (@bdraco)
- Update readme fixture checker and readme [\#699](https://github.com/python-kasa/python-kasa/pull/699 ) (@rytilahti)
- Fix test\_klapprotocol test duration [\#698](https://github.com/python-kasa/python-kasa/pull/698 ) (@sdb9696)
- Renew the handshake session 20 minutes before we think it will expire [\#697](https://github.com/python-kasa/python-kasa/pull/697 ) (@bdraco)
- Add --batch-size hint to timeout errors in dump\_devinfo [\#696](https://github.com/python-kasa/python-kasa/pull/696 ) (@sdb9696)
- Add L930-5 fixture [\#694](https://github.com/python-kasa/python-kasa/pull/694 ) (@bdraco)
- Add fixtures for L510E [\#693](https://github.com/python-kasa/python-kasa/pull/693 ) (@bdraco)
- Refactor aestransport to use a state enum [\#691](https://github.com/python-kasa/python-kasa/pull/691 ) (@bdraco)
- Update transport close/reset behaviour [\#689](https://github.com/python-kasa/python-kasa/pull/689 ) (@sdb9696)
- Check README for supported models [\#684](https://github.com/python-kasa/python-kasa/pull/684 ) (@rytilahti)
- Add P100 test fixture [\#683](https://github.com/python-kasa/python-kasa/pull/683 ) (@bdraco)
- Make dump\_devinfo request batch size configurable [\#681](https://github.com/python-kasa/python-kasa/pull/681 ) (@sdb9696)
- Add updated L920 fixture [\#680](https://github.com/python-kasa/python-kasa/pull/680 ) (@bdraco)
- Update fixtures from test devices [\#679](https://github.com/python-kasa/python-kasa/pull/679 ) (@bdraco)
- Show discovery data for state with verbose [\#678](https://github.com/python-kasa/python-kasa/pull/678 ) (@rytilahti)
- Add L530E\(US\) fixture [\#674](https://github.com/python-kasa/python-kasa/pull/674 ) (@bdraco)
- Add P135 fixture [\#673](https://github.com/python-kasa/python-kasa/pull/673 ) (@bdraco)
- Rename base TPLinkProtocol to BaseProtocol [\#669](https://github.com/python-kasa/python-kasa/pull/669 ) (@sdb9696)
- Add 1003 \(TRANSPORT\_UNKNOWN\_CREDENTIALS\_ERROR\) [\#667](https://github.com/python-kasa/python-kasa/pull/667 ) (@rytilahti)
2024-01-25 09:32:45 +01:00
J. Nick Koston
24c645746e
Refactor aestransport to use a state enum ( #691 )
2024-01-23 22:50:25 -10:00
Teemu R
b784d891ff
Release 0.6.0.1 ( #666 )
...
A patch release to improve the protocol handling.
2024-01-21 01:55:24 +01:00
Teemu R
0647adaba0
Release 0.6.0 ( #653 )
...
This major brings major changes to the library by adding support for devices that require authentication for communications, all of this being possible thanks to the great work by @sdb9696!
This release adds support to a large range of previously unsupported devices, including:
* Newer kasa-branded devices, including Matter-enabled devices like KP125M
* Newer hardware/firmware versions on some models, like EP25, that suddenly changed the used protocol
* Tapo-branded devices like plugs (P110), light bulbs (KL530), LED strips (L900, L920), and wall switches (KS205, KS225)
* UK variant of HS110, which was the first device using the new protocol
If your device that is not currently listed as supported is working, please consider contributing a test fixture file.
Special thanks goes to @SimonWilkinson who created the initial PR for the new communication protocol!
2024-01-19 01:36:57 +01:00
Steven B
642e9a1f5b
Migrate http client to use aiohttp instead of httpx ( #643 )
2024-01-18 07:32:26 -10:00
Steven B
4623434eb4
Fix broken docs due to applehelp dependency ( #641 )
2024-01-18 09:21:52 +01:00
Teemu R
816053fc6e
Release 0.6.0.dev2 ( #633 )
2024-01-11 16:29:15 +01:00
Teemu R
510aea7207
Release 0.6.0.dev1 ( #624 )
2024-01-05 02:34:56 +01:00
Teemu R
1bb930b096
Ship CHANGELOG only in sdist ( #610 )
...
Otherwise, the file would be extracted in the main site-packages which is rather unexpected..
Uninstalling python-kasa-0.6.0.dev0:
Would remove:
/home/tpr/.virtualenvs/default/bin/kasa
/home/tpr/.virtualenvs/default/lib/python3.11/site-packages/CHANGELOG.md
/home/tpr/.virtualenvs/default/lib/python3.11/site-packages/kasa/*
/home/tpr/.virtualenvs/default/lib/python3.11/site-packages/python_kasa-0.6.0.dev0.dist-info/*
Proceed (Y/n)?
2024-01-04 19:14:14 +01:00
Teemu R
047a84b60a
Release 0.6.0.dev0 ( #609 )
2024-01-04 00:28:29 +01:00
sdb9696
30f217b8ab
Add klap protocol ( #509 )
...
* Add support for the new encryption protocol
This adds support for the new TP-Link discovery and encryption
protocols. It is currently incomplete - only devices without
username and password are current supported, and single device
discovery is not implemented.
Discovery should find both old and new devices. When accessing
a device by IP the --klap option can be specified on the command
line to active the new connection protocol.
sdb9696 - This commit also contains 16 later commits from Simon Wilkinson
squashed into the original
* Update klap changes 2023 to fix encryption, deal with kasa credential switching and work with new discovery changes
* Move from aiohttp to httpx
* Changes following review comments
---------
Co-authored-by: Simon Wilkinson <simon@sxw.org.uk>
2023-11-20 14:17:10 +01:00
Teemu R
805e4b8588
Release 0.5.4 ( #536 )
...
The highlights of this maintenance release:
* Support to the alternative discovery protocol and foundational work to support other communication protocols, thanks to @sdb9696.
* Reliability improvements by avoiding overflowing device buffers, thanks to @cobryan05.
* Optimizations for downstream device accesses, thanks to @bdraco.
* Support for both pydantic v1 and v2.
2023-10-30 00:57:29 +01:00
Teemu R
c431dbb832
Use ruff and ruff format ( #534 )
...
Replaces the previously used linting and code formatting tools with ruff.
2023-10-29 23:15:42 +01:00
Teemu R
53021f07fe
Add support for pydantic v2 using v1 shims ( #504 )
2023-08-28 17:48:49 +02:00
sdb9696
ceb42e5583
Update pyproject.toml isort profile, dev group header and poetry.lock ( #487 )
2023-08-03 13:19:31 +02:00
Teemu R
e98475a1b2
Release 0.5.3 ( #485 )
...
This release adds support for defining the device port and introduces dependency on async-timeout which improves timeout handling.
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.2...0.5.3 )
2023-07-23 15:49:27 +02:00
J. Nick Koston
117a7ac64a
Replace asyncio.wait_for with async-timeout ( #480 )
...
asyncio.wait_for has some underlying problems that are only fixed in cpython 3.12.
Use async_timeout instead until the minimum supported version is 3.11+ and it can be replaced with asyncio.timeout
See https://github.com/python/cpython/pull/98518
2023-07-21 11:50:54 +02:00
Teemu R
6199521269
Release 0.5.2 ( #475 )
...
Besides some small improvements, this release:
* Adds optional dependency for for `orjson` and `kasa-crypt` to speed-up protocol handling by an order of magnitude.
* Drops Python 3.7 support as it is no longer maintained.
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.1...0.5.2 )
2023-07-02 16:26:29 +02:00
J. Nick Koston
afd54d11d3
Add optional kasa-crypt dependency for speedups ( #464 )
...
If installed, use the optimized protocol encryption procedures implemented as a C extension by kasa-crypt (https://pypi.org/project/kasa-crypt/
2023-06-30 02:43:01 +02:00
J. Nick Koston
2d42ca301f
Use orjson when already installed or with speedups extra ( #466 )
...
* Use orjson when already installed
* Use orjson when already installed
* fix patch target
* fix patch target
* add speedups extra
* Update README.md
* Update README.md
2023-06-18 01:03:04 +02:00
Teemu R
39310f3f02
Remove importlib-metadata dependency ( #457 )
...
This is no longer needed, as python 3.8 has native importlib.metadata
2023-05-17 20:33:02 +02:00
Teemu R
ce5821a35f
Drop python 3.7 support ( #455 )
...
* Drop python 3.7 support
* CI: drop 3.7 and add 3.11
* Remove skipifs that were required for <3.8
* Use pypy-3.8 for CI, re-enable pypy for windows to see if it works now
* Bump readthedocs to use py3.8
* Remove py3.7 failure comment
2023-05-17 20:03:08 +02:00
Teemu R
6be2f387f0
Prepare 0.5.1 ( #434 )
2023-02-18 22:40:42 +01:00
Teemu R
02c857d472
Some release preparation janitoring ( #432 )
...
* Use myst-parser for readme.md doc injection
* Relax version pins
* Define bug tracker and doc links for pypi
* Update pre-commit hooks
2023-02-18 22:09:35 +01:00
Julian Davis
866c8d6db5
Fix pytest warnings about asyncio ( #397 )
...
Turn on ayncio auto mode for pytest and remove the global async marking flag
2022-11-13 23:34:47 +01:00
Teemu R
51fb908d8b
Prepare 0.5.0 ( #342 )
...
* Prepare 0.5.0
* Add note about how to include release summary to changelog
2022-04-25 00:13:24 +02:00
Teemu R
d848117384
Various documentation updates ( #333 )
...
* Add a note about socket sharing
* Show inherited members for apidocs
* Remove outdated note of emeters not being supported on smartstrips
* Describe emeter and usage modules, add note about NTP for time sync
* Describe lib design and modules
* Bump sphinx version, ignore d001 (line-length) for doc8
* demote energy & usage to 3rd level, promote api for 2nd
2022-04-06 01:13:27 +02:00
Teemu Rytilahti
68038c93df
Bump version to 0.5.0.dev0
2022-04-05 19:27:46 +02:00
Teemu R
3926f3224f
Add module support & query their information during update cycle ( #243 )
...
* Add module support & modularize existing query
This creates a base to expose more features on the supported devices.
At the moment, the most visible change is that each update cycle gets information from all available modules:
* Basic system info
* Cloud (new)
* Countdown (new)
* Antitheft (new)
* Schedule (new)
* Time (existing, implements the time/timezone handling)
* Emeter (existing, partially separated from smartdevice)
* Fix imports
* Fix linting
* Use device host instead of alias in module repr
* Add property to list available modules, print them in cli state report
* usage: fix the get_realtime query
* separate usage from schedule to avoid multi-inheritance
* Fix module querying
* Add is_supported property to modules
2022-04-05 19:27:46 +02:00
Teemu R
7b9e3aae8a
Release 0.4.3 ( #332 )
...
This release fixes an issue where the bulb state on led strips was not restored properly when turned back on.
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.4.2...0.4.3 )
**Fixed bugs:**
- Divide by zero when HS300 powerstrip is discovered [\#292](https://github.com/python-kasa/python-kasa/issues/292 )
- Ensure bulb state is restored when turning back on [\#330](https://github.com/python-kasa/python-kasa/pull/330 ) (@bdraco)
**Closed issues:**
- KL420L5 controls [\#327](https://github.com/python-kasa/python-kasa/issues/327 )
**Merged pull requests:**
- Update pre-commit hooks to fix black in CI [\#331](https://github.com/python-kasa/python-kasa/pull/331 ) (@rytilahti)
- Fix test\_deprecated\_type stalling [\#325](https://github.com/python-kasa/python-kasa/pull/325 ) (@bdraco)
2022-04-05 19:02:00 +02:00
Teemu R
6f5a60ad43
Release 0.4.2 ( #321 )
...
This is the last release prior restructuring the code to enable easier extendability by moving towards more modular architecture.
The most prominent change in this release is the support for effects on light strips.
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.4.1...0.4.2 )
**Implemented enhancements:**
- Allow environment variables for discovery target, device type and debug [\#313](https://github.com/python-kasa/python-kasa/pull/313 ) (@rytilahti)
- Add 'internal\_state' to return the results from the last update query [\#306](https://github.com/python-kasa/python-kasa/pull/306 ) (@rytilahti)
- Drop microsecond precision for on\_since [\#296](https://github.com/python-kasa/python-kasa/pull/296 ) (@rytilahti)
- Add effect support for light strips [\#293](https://github.com/python-kasa/python-kasa/pull/293 ) (@bdraco)
**Fixed bugs:**
- TypeError: \_\_init\_\_\(\) got an unexpected keyword argument 'package\_name' [\#311](https://github.com/python-kasa/python-kasa/issues/311 )
- RuntimeError: Event loop is closed on WSL [\#294](https://github.com/python-kasa/python-kasa/issues/294 )
- Don't crash on devices not reporting features [\#317](https://github.com/python-kasa/python-kasa/pull/317 ) (@rytilahti)
**Closed issues:**
- SmartDeviceException: Communication error on system:set\_relay\_state [\#309](https://github.com/python-kasa/python-kasa/issues/309 )
- Add Support: ES20M and KS200M motion/light switches [\#308](https://github.com/python-kasa/python-kasa/issues/308 )
- New problem with installing on Ubuntu 20.04.3 LTS [\#305](https://github.com/python-kasa/python-kasa/issues/305 )
- KeyError: 'emeter' when discovering [\#302](https://github.com/python-kasa/python-kasa/issues/302 )
- RuntimeError: Event loop is closed [\#291](https://github.com/python-kasa/python-kasa/issues/291 )
- provisioning format [\#290](https://github.com/python-kasa/python-kasa/issues/290 )
- Fix CI publishing on pypi [\#222](https://github.com/python-kasa/python-kasa/issues/222 )
- LED strips effects are not supported \(was LEDs is not turning on after switching on\) [\#191](https://github.com/python-kasa/python-kasa/issues/191 )
**Merged pull requests:**
- Add pyupgrade to CI runs [\#314](https://github.com/python-kasa/python-kasa/pull/314 ) (@rytilahti)
- Depend on asyncclick \>= 8 [\#312](https://github.com/python-kasa/python-kasa/pull/312 ) (@rytilahti)
- Guard emeter accesses to avoid keyerrors [\#304](https://github.com/python-kasa/python-kasa/pull/304 ) (@rytilahti)
- cli: cleanup discover, fetch update prior device access [\#303](https://github.com/python-kasa/python-kasa/pull/303 ) (@rytilahti)
- Fix unsafe \_\_del\_\_ in TPLinkSmartHomeProtocol [\#300](https://github.com/python-kasa/python-kasa/pull/300 ) (@bdraco)
- Improve typing for protocol class [\#289](https://github.com/python-kasa/python-kasa/pull/289 ) (@rytilahti)
- Added a fixture file for KS220M [\#273](https://github.com/python-kasa/python-kasa/pull/273 ) (@mrbetta)
2022-03-21 22:34:44 +01:00
Teemu R
15906ec232
Depend on asyncclick >= 8 ( #312 )
2022-02-14 18:26:51 +01:00
Teemu R
b4036e55ac
Prepare 0.4.1 ( #288 )
...
This minor release fixes issues that were found after homeassistant integration got converted over from pyhs100.
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.4.0...0.4.1 )
**Implemented enhancements:**
- Add --type option to cli [\#269](https://github.com/python-kasa/python-kasa/pull/269 ) ([rytilahti](https://github.com/rytilahti ))
- Minor improvements to onboarding doc [\#264](https://github.com/python-kasa/python-kasa/pull/264 ) ([rytilahti](https://github.com/rytilahti ))
- Add fixture file for KL135 [\#263](https://github.com/python-kasa/python-kasa/pull/263 ) ([ErikSGross](https://github.com/ErikSGross ))
- Add KL135 color temperature range [\#256](https://github.com/python-kasa/python-kasa/pull/256 ) ([rytilahti](https://github.com/rytilahti ))
- Add py.typed to flag that the package is typed [\#251](https://github.com/python-kasa/python-kasa/pull/251 ) ([rytilahti](https://github.com/rytilahti ))
- Add script to check supported devices, update README [\#242](https://github.com/python-kasa/python-kasa/pull/242 ) ([rytilahti](https://github.com/rytilahti ))
- Add perftest to devtools [\#236](https://github.com/python-kasa/python-kasa/pull/236 ) ([rytilahti](https://github.com/rytilahti ))
- Add KP401 US fixture [\#234](https://github.com/python-kasa/python-kasa/pull/234 ) ([bdraco](https://github.com/bdraco ))
- Add KL60 US KP105 UK fixture [\#233](https://github.com/python-kasa/python-kasa/pull/233 ) ([bdraco](https://github.com/bdraco ))
- Make cli interface more consistent [\#232](https://github.com/python-kasa/python-kasa/pull/232 ) ([rytilahti](https://github.com/rytilahti ))
- Add KL400, KL50 fixtures [\#231](https://github.com/python-kasa/python-kasa/pull/231 ) ([bdraco](https://github.com/bdraco ))
- Add fixture for newer KP400 firmware [\#227](https://github.com/python-kasa/python-kasa/pull/227 ) ([bdraco](https://github.com/bdraco ))
- Switch to poetry-core [\#226](https://github.com/python-kasa/python-kasa/pull/226 ) ([fabaff](https://github.com/fabaff ))
- Add fixtures for LB110, KL110, EP40, KL430, KP115 [\#224](https://github.com/python-kasa/python-kasa/pull/224 ) ([bdraco](https://github.com/bdraco ))
**Fixed bugs:**
- Discovery on WSL results in OSError: \[Errno 22\] Invalid argument [\#246](https://github.com/python-kasa/python-kasa/issues/246 )
- New firmware for HS103 blocking local access? [\#42](https://github.com/python-kasa/python-kasa/issues/42 )
- Pin mistune to \<2.0.0 to fix doc builds [\#270](https://github.com/python-kasa/python-kasa/pull/270 ) ([rytilahti](https://github.com/rytilahti ))
- Catch exceptions raised on unknown devices during discovery [\#240](https://github.com/python-kasa/python-kasa/pull/240 ) ([rytilahti](https://github.com/rytilahti ))
**Closed issues:**
- Control device with alias via python api? [\#285](https://github.com/python-kasa/python-kasa/issues/285 )
- Can't install using pip install python-kasa [\#255](https://github.com/python-kasa/python-kasa/issues/255 )
- Kasa Smart Bulb KL135 - Unknown color temperature range error [\#252](https://github.com/python-kasa/python-kasa/issues/252 )
- KL400 Support [\#247](https://github.com/python-kasa/python-kasa/issues/247 )
- Cloud support? [\#245](https://github.com/python-kasa/python-kasa/issues/245 )
- Support for kp401 [\#241](https://github.com/python-kasa/python-kasa/issues/241 )
- LB130 Bulb stopped working [\#237](https://github.com/python-kasa/python-kasa/issues/237 )
- Unable to constantly query bulb in loop [\#225](https://github.com/python-kasa/python-kasa/issues/225 )
- HS103: Unable to query the device: unpack requires a buffer of 4 bytes [\#187](https://github.com/python-kasa/python-kasa/issues/187 )
- Help request - query value [\#171](https://github.com/python-kasa/python-kasa/issues/171 )
- Can't Discover Devices [\#164](https://github.com/python-kasa/python-kasa/issues/164 )
- Concurrency performance question [\#110](https://github.com/python-kasa/python-kasa/issues/110 )
- Define the port by self? [\#108](https://github.com/python-kasa/python-kasa/issues/108 )
- Convert homeassistant integration to use the library [\#9](https://github.com/python-kasa/python-kasa/issues/9 )
**Merged pull requests:**
- Publish to pypi on github release published [\#287](https://github.com/python-kasa/python-kasa/pull/287 ) ([rytilahti](https://github.com/rytilahti ))
- Relax asyncclick version requirement [\#286](https://github.com/python-kasa/python-kasa/pull/286 ) ([rytilahti](https://github.com/rytilahti ))
- Do not crash on discovery on WSL [\#283](https://github.com/python-kasa/python-kasa/pull/283 ) ([rytilahti](https://github.com/rytilahti ))
- Add python 3.10 to CI [\#279](https://github.com/python-kasa/python-kasa/pull/279 ) ([rytilahti](https://github.com/rytilahti ))
- Use codecov-action@v2 for CI [\#277](https://github.com/python-kasa/python-kasa/pull/277 ) ([rytilahti](https://github.com/rytilahti ))
- Add coverage\[toml\] dependency to fix coverage on CI [\#271](https://github.com/python-kasa/python-kasa/pull/271 ) ([rytilahti](https://github.com/rytilahti ))
- Allow publish on test pypi workflow to fail [\#248](https://github.com/python-kasa/python-kasa/pull/248 ) ([rytilahti](https://github.com/rytilahti ))
2022-01-14 16:47:49 +01:00
Teemu R
6ece506a3b
Relax asyncclick version requirement ( #286 )
...
* Add package_name to version_option(), breaks --version on click < 8
2022-01-14 16:32:32 +01:00
Teemu R
a817d9cab1
Add python 3.10 to CI ( #279 )
...
* Add python 3.10 to CI
* Require pytest >=6.2.5
Required for running on python 3.10 (https://github.com/pytest-dev/pytest/pull/8540 )
* Update lockfile
* Update pre-commit hooks
2021-12-17 17:48:03 +01:00
Teemu R
62c9f0ae64
Add coverage[toml] dependency to fix coverage on CI ( #271 )
2021-12-13 18:40:50 +01:00
Teemu R
8554a1db29
Pin mistune to <2.0.0 to fix doc builds ( #270 )
2021-12-08 15:31:55 +01:00
Fabian Affolter
7b99f7e9a4
Switch to poetry-core ( #226 )
2021-10-02 00:51:16 +02:00
Teemu R
1a3c73e42f
Release 0.4.0 ( #221 )
...
This is the first proper python-kasa release since forking from pyhs100.
* Improved I/O handling, including asyncio interface, request merging & connection sharing
* API improvements throughout the whole package
* Support for LED strips
* Improved bulb support (transitions, support for more models)
* Onboarding is now possible without a mobile app
* Improved documentation
* And various other improvements, see the full changelog for details!
Thanks to all contributors, from testers, and issue reporters to those who have submitted pull requests! Thanks also to those who donated test devices to help to make this release happen!
Special thanks for this release go to @basnijholt (initial asyncio port, push to make this fork happen) and @bdraco (fixing the last release blocker, emeter support for powerstrips).
If you are using python-kasa in your projects, we would be happy to hear about it. Feel free to post a note on Github discussions!
If it is a project that could be interesting for other users and/or developers, feel also free to create a PR to add a short note to the README file.
2021-09-27 19:10:05 +02:00
Teemu R
85f17ab91c
Release 0.4.0.dev5 ( #215 )
...
This release introduces re-using the device connection to get rid of (sometimes slow) connection establishment.
This is especially useful for emeter-enabled smart strips or any other usecases requiring consecutive I/O requests.
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.4.0.dev4...0.4.0.dev5 )
**Merged pull requests:**
- Add KL130 fixture, initial lightstrip tests [\#214](https://github.com/python-kasa/python-kasa/pull/214 ) ([rytilahti](https://github.com/rytilahti ))
- Keep connection open and lock to prevent duplicate requests [\#213](https://github.com/python-kasa/python-kasa/pull/213 ) ([bdraco](https://github.com/bdraco ))
- Cleanup discovery & add tests [\#212](https://github.com/python-kasa/python-kasa/pull/212 ) ([rytilahti](https://github.com/rytilahti ))
2021-09-24 23:38:30 +02:00
Teemu R
bdb07a749c
Release 0.4.0.dev4 ( #210 )
...
* Release 0.4.0.dev4
The most important enhancements in this release are:
* Support for emeter on strip sockets
* Fix discovery and update() on some devices that do not support multi-module queries (e.g., HS200)
* Improved support for bulbs
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.4.0.dev3...0.4.0.dev4 )
**Implemented enhancements:**
- HS300 Children plugs have emeter [\#64](https://github.com/python-kasa/python-kasa/issues/64 )
- Improve emeterstatus API, move into own module [\#205](https://github.com/python-kasa/python-kasa/pull/205 ) ([rytilahti](https://github.com/rytilahti ))
- Avoid temp array during encrypt and decrypt [\#204](https://github.com/python-kasa/python-kasa/pull/204 ) ([bdraco](https://github.com/bdraco ))
- Add emeter support for strip sockets [\#203](https://github.com/python-kasa/python-kasa/pull/203 ) ([bdraco](https://github.com/bdraco ))
- Add own device type for smartstrip children [\#201](https://github.com/python-kasa/python-kasa/pull/201 ) ([rytilahti](https://github.com/rytilahti ))
- bulb: allow set\_hsv without v, add fallback ct range [\#200](https://github.com/python-kasa/python-kasa/pull/200 ) ([rytilahti](https://github.com/rytilahti ))
- Improve bulb support \(alias, time settings\) [\#198](https://github.com/python-kasa/python-kasa/pull/198 ) ([rytilahti](https://github.com/rytilahti ))
- Improve testing harness to allow tests on real devices [\#197](https://github.com/python-kasa/python-kasa/pull/197 ) ([rytilahti](https://github.com/rytilahti ))
- cli: add human-friendly printout when calling temperature on non-supported devices [\#196](https://github.com/python-kasa/python-kasa/pull/196 ) ([JaydenRA](https://github.com/JaydenRA ))
**Fixed bugs:**
- KL430: Throw error for Device specific information [\#189](https://github.com/python-kasa/python-kasa/issues/189 )
- dump\_devinfo: handle latitude/longitude keys properly [\#175](https://github.com/python-kasa/python-kasa/pull/175 ) ([rytilahti](https://github.com/rytilahti ))
**Closed issues:**
- Feature Request - Toggle Command [\#188](https://github.com/python-kasa/python-kasa/issues/188 )
- Is It Compatible With HS105? [\#186](https://github.com/python-kasa/python-kasa/issues/186 )
- Cannot use some functions with KP303 [\#181](https://github.com/python-kasa/python-kasa/issues/181 )
- Help needed - awaiting game [\#179](https://github.com/python-kasa/python-kasa/issues/179 )
- Version inconsistency between CLI and pip [\#177](https://github.com/python-kasa/python-kasa/issues/177 )
- Release 0.4.0.dev3? [\#169](https://github.com/python-kasa/python-kasa/issues/169 )
- Discover does not support specifying network interface [\#167](https://github.com/python-kasa/python-kasa/issues/167 )
- Can't command or query HS200 v5 switch [\#161](https://github.com/python-kasa/python-kasa/issues/161 )
**Merged pull requests:**
- More CI fixes [\#208](https://github.com/python-kasa/python-kasa/pull/208 ) ([rytilahti](https://github.com/rytilahti ))
- Fix CI dep installation [\#207](https://github.com/python-kasa/python-kasa/pull/207 ) ([rytilahti](https://github.com/rytilahti ))
- Use github actions instead of azure pipelines [\#206](https://github.com/python-kasa/python-kasa/pull/206 ) ([rytilahti](https://github.com/rytilahti ))
- Add KP115 fixture [\#202](https://github.com/python-kasa/python-kasa/pull/202 ) ([rytilahti](https://github.com/rytilahti ))
- Perform initial update only using the sysinfo query [\#199](https://github.com/python-kasa/python-kasa/pull/199 ) ([rytilahti](https://github.com/rytilahti ))
- Add real kasa KL430\(UN\) device dump [\#192](https://github.com/python-kasa/python-kasa/pull/192 ) ([iprodanovbg](https://github.com/iprodanovbg ))
- Use less strict matcher for kl430 color temperature [\#190](https://github.com/python-kasa/python-kasa/pull/190 ) ([rytilahti](https://github.com/rytilahti ))
- Add EP10\(US\) 1.0 1.0.2 fixture [\#174](https://github.com/python-kasa/python-kasa/pull/174 ) ([nbrew](https://github.com/nbrew ))
- Add a note about using the discovery target parameter [\#168](https://github.com/python-kasa/python-kasa/pull/168 ) ([leandroreox](https://github.com/leandroreox ))
* replace pypy3 with pypy-3.7 as we do not support python3.6 anyway
* skip pypy-3.7 on windows to avoid flaky ci
2021-09-24 01:44:22 +02:00
Teemu R
d7202883e9
More CI fixes ( #208 )
...
* Remove bandit from CI, update poetry.lock&pre-commit-config.yaml
* We don't support python 3.6
* poetry install also on tests flow
* remove pytest-azurepipelines
2021-09-23 19:09:19 +02:00
Teemu R
1803a83ae6
Improve testing harness to allow tests on real devices ( #197 )
...
* test_cli: provide return values to patched objects to avoid warning about non-awaited calls
* test_cli: restore alias after testing
* smartstrip: remove internal update() calls for turn_{on,off}, set_led
* Make sure power is always a float
* Fix discovery tests
* Make tests runnable on real devices
* Add a note about running tests on a real device
* test_strip: run update against the parent device
2021-09-19 23:45:48 +02:00
Teemu R
0aa20f6cf9
Prepare 0.4.0.dev3 ( #172 )
...
* Prepare 0.4.0.dev3
Most notable changes:
* Devices initialized by discovery are pre-initialized using the discovery response data, so no need for update() directly after discovery
* Only the basic information is requested during discovery, as some HS110 and HS220 devices do not respond to multi-module queries
* Fix mac address parsing for KL430
* Add support for KL125 color temperature ranges
* Documentation updates!
* add types-click for mypy hook
* use generator expression for sum
2021-06-16 18:16:45 +03:00