Python-kasa

Latest version: v0.6.2.1

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

Scan your dependencies

Page 1 of 4

0.6.2.1

Quick fix to avoid a crash on child device property accesses that require component negotiation.

[0.6.2.1](https://github.com/python-kasa/python-kasa/tree/0.6.2.1) (2024-02-02)

[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)

0.6.2

[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)

0.6.1

[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)

0.6.0.1

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

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

A patch release to improve the protocol handling.

**Fixed bugs:**

- Fix httpclient exceptions on read and improve error info [\655](https://github.com/python-kasa/python-kasa/pull/655) (sdb9696)
- Improve and document close behavior [\654](https://github.com/python-kasa/python-kasa/pull/654) (bdraco)

**Closed issues:**

- Do not redact OUI for fixtures [\652](https://github.com/python-kasa/python-kasa/issues/652)

**Merged pull requests:**

- 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

[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.4...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!

**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)
- 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)
- 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)
- 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 support for tapo bulbs [\558](https://github.com/python-kasa/python-kasa/pull/558) (rytilahti)
- 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)
- Add klap protocol [\509](https://github.com/python-kasa/python-kasa/pull/509) (sdb9696)

**Fixed bugs:**

- dump\_devinfo crashes when credentials are not given [\591](https://github.com/python-kasa/python-kasa/issues/591)
- Fix connection indeterminate state on cancellation [\636](https://github.com/python-kasa/python-kasa/pull/636) (bdraco)
- 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)
- 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 the documentation for 0.6 release [\600](https://github.com/python-kasa/python-kasa/issues/600)
- Update docs for newer devices and DeviceConfig [\614](https://github.com/python-kasa/python-kasa/pull/614) (sdb9696)
- 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:**

- Convert to use aiohttp instead of httpx [\635](https://github.com/python-kasa/python-kasa/issues/635)
- KS225 support [\631](https://github.com/python-kasa/python-kasa/issues/631)
- 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)
- 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)
- Implement energy and usage for individual plugs in HS300 [\462](https://github.com/python-kasa/python-kasa/issues/462)
- KP 125M / support for matter devices [\450](https://github.com/python-kasa/python-kasa/issues/450)

**Merged pull requests:**

- 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)

0.6.0.dev2

[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:**

- 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)

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.