Python-kasa

Latest version: v0.6.2.1

Safety actively analyzes 631030 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

0.6.0.1

- Add l900-5 1.1.0 fixture [\664](https://github.com/python-kasa/python-kasa/pull/664) (rytilahti)
- Add fixtures with new MAC mask [\661](https://github.com/python-kasa/python-kasa/pull/661) (sdb9696)
- Make close behaviour consistent across new protocols and transports [\660](https://github.com/python-kasa/python-kasa/pull/660) (sdb9696)
- Fix minor typos in docstrings [\659](https://github.com/python-kasa/python-kasa/pull/659) (bdraco)
- dump\_devinfo improvements [\657](https://github.com/python-kasa/python-kasa/pull/657) (rytilahti)

[0.6.0](https://github.com/python-kasa/python-kasa/tree/0.6.0) (2024-01-19)

[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.0.dev2...0.6.0)

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!

**Implemented enhancements:**

- Allow serializing and passing of credentials\_hashes in DeviceConfig [\607](https://github.com/python-kasa/python-kasa/pull/607) (sdb9696)
- Implement wifi interface for tapodevice [\606](https://github.com/python-kasa/python-kasa/pull/606) (rytilahti)
- Add support for KS205 and KS225 wall switches [\594](https://github.com/python-kasa/python-kasa/pull/594) (gimpy88)
- Add support for tapo bulbs [\558](https://github.com/python-kasa/python-kasa/pull/558) (rytilahti)
- Add klap protocol [\509](https://github.com/python-kasa/python-kasa/pull/509) (sdb9696)

**Fixed bugs:**

- Fix connection indeterminate state on cancellation [\636](https://github.com/python-kasa/python-kasa/pull/636) (bdraco)

**Documentation updates:**

- Update the documentation for 0.6 release [\600](https://github.com/python-kasa/python-kasa/issues/600)

**Closed issues:**

- KS225 support [\631](https://github.com/python-kasa/python-kasa/issues/631)
- Convert to use aiohttp instead of httpx [\635](https://github.com/python-kasa/python-kasa/issues/635)
- Need to do error code checking for new protocols [\612](https://github.com/python-kasa/python-kasa/issues/612)
- Support of last firmware update version 1.3.0 [\611](https://github.com/python-kasa/python-kasa/issues/611)
- Improve test coverage for tapodevice class [\608](https://github.com/python-kasa/python-kasa/issues/608)

**Merged pull requests:**

0.6.0

- Remove time logging in debug message [\645](https://github.com/python-kasa/python-kasa/pull/645) (sdb9696)
- Migrate http client to use aiohttp instead of httpx [\643](https://github.com/python-kasa/python-kasa/pull/643) (sdb9696)
- Encapsulate http client dependency [\642](https://github.com/python-kasa/python-kasa/pull/642) (sdb9696)
- Fix broken docs due to applehelp dependency [\641](https://github.com/python-kasa/python-kasa/pull/641) (sdb9696)
- Raise SmartDeviceException on invalid config dicts [\640](https://github.com/python-kasa/python-kasa/pull/640) (sdb9696)
- Add fixture for L920 [\638](https://github.com/python-kasa/python-kasa/pull/638) (bdraco)
- Add known smart requests to dump\_devinfo [\597](https://github.com/python-kasa/python-kasa/pull/597) (sdb9696)

[0.6.0.dev2](https://github.com/python-kasa/python-kasa/tree/0.6.0.dev2) (2024-01-11)

[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.0.dev1...0.6.0.dev2)

**Documentation updates:**

- Update docs for newer devices and DeviceConfig [\614](https://github.com/python-kasa/python-kasa/pull/614) (sdb9696)

**Merged pull requests:**

0.6.0.dev2

- Raise TimeoutException on discover\_single timeout [\632](https://github.com/python-kasa/python-kasa/pull/632) (sdb9696)
- Add L900-10 fixture and it's additional component requests [\629](https://github.com/python-kasa/python-kasa/pull/629) (sdb9696)
- Avoid recreating struct each request in legacy protocol [\628](https://github.com/python-kasa/python-kasa/pull/628) (bdraco)
- Return alias as None for new discovery devices before update [\627](https://github.com/python-kasa/python-kasa/pull/627) (sdb9696)
- Update config to\_dict to exclude credentials if the hash is empty string [\626](https://github.com/python-kasa/python-kasa/pull/626) (sdb9696)
- Improve test coverage [\625](https://github.com/python-kasa/python-kasa/pull/625) (sdb9696)

[0.6.0.dev1](https://github.com/python-kasa/python-kasa/tree/0.6.0.dev1) (2024-01-05)

[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.0.dev0...0.6.0.dev1)

**Implemented enhancements:**

- Get child emeters with CLI [\623](https://github.com/python-kasa/python-kasa/pull/623) (Obbay2)
- Avoid linear search for emeter realtime and emeter\_today [\622](https://github.com/python-kasa/python-kasa/pull/622) (bdraco)
- Add update-credentials command [\620](https://github.com/python-kasa/python-kasa/pull/620) (rytilahti)

**Fixed bugs:**

- Check the ct range for color temp support [\619](https://github.com/python-kasa/python-kasa/pull/619) (rytilahti)
- Fix cli discover bug with None username/password [\615](https://github.com/python-kasa/python-kasa/pull/615) (sdb9696)

**Closed issues:**

- Implement energy and usage for individual plugs in HS300 [\462](https://github.com/python-kasa/python-kasa/issues/462)

**Merged pull requests:**

0.6.0.dev1

- Add P125M and update EP25 fixtures [\621](https://github.com/python-kasa/python-kasa/pull/621) (bdraco)
- Use consistent envvars for dump\_devinfo credentials [\618](https://github.com/python-kasa/python-kasa/pull/618) (rytilahti)
- Mark L900-5 as supported [\617](https://github.com/python-kasa/python-kasa/pull/617) (rytilahti)
- Ship CHANGELOG only in sdist [\610](https://github.com/python-kasa/python-kasa/pull/610) (rytilahti)

[0.6.0.dev0](https://github.com/python-kasa/python-kasa/tree/0.6.0.dev0) (2024-01-03)

[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.4...0.6.0.dev0)

**Breaking changes:**

- Add DeviceConfig to allow specifying configuration parameters [\569](https://github.com/python-kasa/python-kasa/pull/569) (sdb9696)
- Move connect\_single to SmartDevice.connect [\538](https://github.com/python-kasa/python-kasa/pull/538) (bdraco)

**Implemented enhancements:**

- Support for KS225\(US\) Light Dimmer and KS205\(US\) Light Switch [\589](https://github.com/python-kasa/python-kasa/issues/589)
- Set timeout using command line parameters [\310](https://github.com/python-kasa/python-kasa/issues/310)
- Implement the new protocol \(HTTP over 80/tcp, 20002/udp for discovery\) [\115](https://github.com/python-kasa/python-kasa/issues/115)
- Enable multiple requests in smartprotocol [\584](https://github.com/python-kasa/python-kasa/pull/584) (sdb9696)
- Improve CLI Discovery output [\583](https://github.com/python-kasa/python-kasa/pull/583) (sdb9696)
- Improve smartprotocol error handling and retries [\578](https://github.com/python-kasa/python-kasa/pull/578) (sdb9696)
- Request component\_nego only once for tapodevice [\576](https://github.com/python-kasa/python-kasa/pull/576) (rytilahti)
- Use consistent naming for cli envvars [\570](https://github.com/python-kasa/python-kasa/pull/570) (rytilahti)
- Add KP125M fixture and allow passing credentials for tests [\567](https://github.com/python-kasa/python-kasa/pull/567) (sbytnar)
- Make timeout configurable for cli [\564](https://github.com/python-kasa/python-kasa/pull/564) (rytilahti)
- Update dump\_devinfo to produce new TAPO/SMART fixtures [\561](https://github.com/python-kasa/python-kasa/pull/561) (sdb9696)
- Kasa KP125M basic emeter support [\560](https://github.com/python-kasa/python-kasa/pull/560) (sbytnar)
- Add klap support for TAPO protocol by splitting out Transports and Protocols [\557](https://github.com/python-kasa/python-kasa/pull/557) (sdb9696)
- Update dump\_devinfo to include 20002 discovery results [\556](https://github.com/python-kasa/python-kasa/pull/556) (sdb9696)
- Set TCP\_NODELAY to avoid needless buffering [\554](https://github.com/python-kasa/python-kasa/pull/554) (bdraco)
- Add support for the protocol used by TAPO devices and some newer KASA devices. [\552](https://github.com/python-kasa/python-kasa/pull/552) (sdb9696)
- Re-add protocol\_class parameter to connect [\551](https://github.com/python-kasa/python-kasa/pull/551) (sdb9696)
- Update discover single to handle hostnames [\539](https://github.com/python-kasa/python-kasa/pull/539) (sdb9696)

**Fixed bugs:**

- dump\_devinfo crashes when credentials are not given [\591](https://github.com/python-kasa/python-kasa/issues/591)
- Fix hsv setting for tapobulb [\573](https://github.com/python-kasa/python-kasa/pull/573) (rytilahti)
- Fix transport retries after close [\568](https://github.com/python-kasa/python-kasa/pull/568) (sdb9696)

**Documentation updates:**

- Update readme with clearer instructions, tapo support [\571](https://github.com/python-kasa/python-kasa/pull/571) (rytilahti)
- Add some more external links to README [\541](https://github.com/python-kasa/python-kasa/pull/541) (rytilahti)

**Closed issues:**

- Discover returns dictionary with no 'alias' property [\592](https://github.com/python-kasa/python-kasa/issues/592)
- Sending with the legacy protocol is needlessly delayed [\553](https://github.com/python-kasa/python-kasa/issues/553)
- Issues adding a KP405 device [\549](https://github.com/python-kasa/python-kasa/issues/549)
- Support for L510E bulb [\547](https://github.com/python-kasa/python-kasa/issues/547)
- Support for tapo L530E bulbs? [\546](https://github.com/python-kasa/python-kasa/issues/546)
- Unable to connect to host on different subnet with 0.5.4 [\545](https://github.com/python-kasa/python-kasa/issues/545)
- Discovery/Connect broken when upgrading from 0.5.3 -\> 0.5.4 [\543](https://github.com/python-kasa/python-kasa/issues/543)
- PydanticUserError, If you use `root_validator` with pre=False \(the default\) you MUST specify `skip_on_failure=True` [\516](https://github.com/python-kasa/python-kasa/issues/516)
- KP 125M / support for matter devices [\450](https://github.com/python-kasa/python-kasa/issues/450)

**Merged pull requests:**

0.6.0.dev0

- Cleanup credentials handling [\605](https://github.com/python-kasa/python-kasa/pull/605) (rytilahti)
- Update P110\(EU\) fixture [\604](https://github.com/python-kasa/python-kasa/pull/604) (rytilahti)
- Update L530 aes fixture [\603](https://github.com/python-kasa/python-kasa/pull/603) (rytilahti)
- Cleanup custom exception kwarg handling [\602](https://github.com/python-kasa/python-kasa/pull/602) (rytilahti)
- Pull up emeter handling to tapodevice base class [\601](https://github.com/python-kasa/python-kasa/pull/601) (rytilahti)
- Add L530\(EU\) klap fixture [\598](https://github.com/python-kasa/python-kasa/pull/598) (sdb9696)
- Update P110\(UK\) fixture [\596](https://github.com/python-kasa/python-kasa/pull/596) (sdb9696)
- Fix dump\_devinfo for unauthenticated [\593](https://github.com/python-kasa/python-kasa/pull/593) (sdb9696)
- Elevate --verbose to top-level option [\590](https://github.com/python-kasa/python-kasa/pull/590) (rytilahti)
- Add optional error code to exceptions [\585](https://github.com/python-kasa/python-kasa/pull/585) (sdb9696)
- Fix typo in cli.rst [\581](https://github.com/python-kasa/python-kasa/pull/581) (alanblake)
- Do login entirely within AesTransport [\580](https://github.com/python-kasa/python-kasa/pull/580) (sdb9696)
- Log smartprotocol requests [\575](https://github.com/python-kasa/python-kasa/pull/575) (rytilahti)
- Add new methods to dump\_devinfo and mask aliases [\574](https://github.com/python-kasa/python-kasa/pull/574) (sdb9696)
- Add EP25 smart fixture and improve test framework for SMART devices [\572](https://github.com/python-kasa/python-kasa/pull/572) (sdb9696)
- Re-add regional suffix to TAPO/SMART fixtures [\566](https://github.com/python-kasa/python-kasa/pull/566) (sdb9696)
- Add P110 fixture [\562](https://github.com/python-kasa/python-kasa/pull/562) (rytilahti)
- Do not do update\(\) in discover\_single [\542](https://github.com/python-kasa/python-kasa/pull/542) (sdb9696)

[0.5.4](https://github.com/python-kasa/python-kasa/tree/0.5.4) (2023-10-29)

[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.3...0.5.4)

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.

As always, see the full changelog for details.

**Implemented enhancements:**

- Add a connect\_single method to Discover to avoid the need for UDP [\528](https://github.com/python-kasa/python-kasa/pull/528) (bdraco)
- Parse features only during updates [\527](https://github.com/python-kasa/python-kasa/pull/527) (bdraco)
- Show an error if both --alias and --host are defined [\513](https://github.com/python-kasa/python-kasa/pull/513) (rytilahti)
- Add plumbing for passing credentials to devices [\507](https://github.com/python-kasa/python-kasa/pull/507) (sdb9696)
- Add support for pydantic v2 using v1 shims [\504](https://github.com/python-kasa/python-kasa/pull/504) (rytilahti)
- Split queries to avoid overflowing device buffers [\502](https://github.com/python-kasa/python-kasa/pull/502) (cobryan05)
- Add toggle command to cli [\498](https://github.com/python-kasa/python-kasa/pull/498) (normanr)
- Add support for alternative discovery protocol \(20002/udp\) [\488](https://github.com/python-kasa/python-kasa/pull/488) (sdb9696)
- Add discovery timeout parameter [\486](https://github.com/python-kasa/python-kasa/pull/486) (sdb9696)
- Add devtools script to create module fixtures [\404](https://github.com/python-kasa/python-kasa/pull/404) (rytilahti)
- Make timeout adjustable [\494](https://github.com/python-kasa/python-kasa/pull/494) (bdraco)

**Fixed bugs:**

- Fix on\_since for smartstrip sockets [\529](https://github.com/python-kasa/python-kasa/pull/529) (rytilahti)
- Fix every other query tries to fetch known unsupported features [\520](https://github.com/python-kasa/python-kasa/pull/520) (bdraco)

**Documentation updates:**

- Mark KS2{20}M as partially supported [\508](https://github.com/python-kasa/python-kasa/pull/508) (lschweiss)
- Document cli tool --target for discovery [\497](https://github.com/python-kasa/python-kasa/pull/497) (rytilahti)

**Closed issues:**

- Error running kasa command on the Raspberry PI [\525](https://github.com/python-kasa/python-kasa/issues/525)
- Installation Problems \(Python Version?\) [\523](https://github.com/python-kasa/python-kasa/issues/523)
- What are the units in the emeter readings? [\514](https://github.com/python-kasa/python-kasa/issues/514)
- Set Alias via Command Line [\511](https://github.com/python-kasa/python-kasa/issues/511)
- How do I know if my device supports emeter? [\510](https://github.com/python-kasa/python-kasa/issues/510)
- Getting Invalid KeyError when getting sysinfo on an EP40 device [\500](https://github.com/python-kasa/python-kasa/issues/500)
- Running kasa discover on subnet broadcasts only [\496](https://github.com/python-kasa/python-kasa/issues/496)
- Failed to discover kasa switchs on the network [\495](https://github.com/python-kasa/python-kasa/issues/495)
- \[Feature Request\] Add a toggle command [\492](https://github.com/python-kasa/python-kasa/issues/492)
- \[Feature Request\] Pydantic 2.0+ Support [\491](https://github.com/python-kasa/python-kasa/issues/491)
- Support for EP10 Plug [\170](https://github.com/python-kasa/python-kasa/issues/170)
- \[Request\] New release to pip? [\518](https://github.com/python-kasa/python-kasa/issues/518)

**Merged pull requests:**

0.5.4

- Use ruff and ruff format [\534](https://github.com/python-kasa/python-kasa/pull/534) (rytilahti)
- Add python3.12 and pypy-3.10 to CI [\532](https://github.com/python-kasa/python-kasa/pull/532) (rytilahti)
- Use trusted publisher for publishing to pypi [\531](https://github.com/python-kasa/python-kasa/pull/531) (rytilahti)
- Remove code to detect event loop change [\526](https://github.com/python-kasa/python-kasa/pull/526) (bdraco)
- Convert readthedocs config to v2 [\505](https://github.com/python-kasa/python-kasa/pull/505) (rytilahti)
- Add new HS100\(UK\) fixture [\489](https://github.com/python-kasa/python-kasa/pull/489) (sdb9696)
- Update pyproject.toml isort profile, dev group header and poetry.lock [\487](https://github.com/python-kasa/python-kasa/pull/487) (sdb9696)

[0.5.3](https://github.com/python-kasa/python-kasa/tree/0.5.3) (2023-07-23)

[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.2...0.5.3)

This release adds support for defining the device port and introduces dependency on async-timeout which improves timeout handling.

**Implemented enhancements:**

- Make device port configurable [\471](https://github.com/python-kasa/python-kasa/pull/471) (karpach)

**Fixed bugs:**

- Replace asyncio.wait\_for with async-timeout [\480](https://github.com/python-kasa/python-kasa/pull/480) (bdraco)

**Merged pull requests:**

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.