GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Add vacuum speaker controls by rytilahti · Pull Request #1332 · python-kasa/python-kasa

Conversation

@rytilahti

@rytilahti rytilahti commented Dec 2, 2024 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

Implements speaker and adds the following features:

  • volume to control the speaker volume
  • locate to play "I'm here sound"

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@rytilahti rytilahti added the enhancement New feature or request label Dec 2, 2024
@codecov

codecov Bot commented Dec 2, 2024 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 92.38%. Comparing base (3c98efb) to head (02ba52d).
Report is 54 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1332      +/-   ##
==========================================
+ Coverage   92.36%   92.38%   +0.02%     
==========================================
  Files         135      136       +1     
  Lines        8554     8579      +25     
  Branches      875      876       +1     
==========================================
+ Hits         7901     7926      +25     
  Misses        477      477              
  Partials      176      176              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@rytilahti
rytilahti marked this pull request as draft December 2, 2024 13:40
@devinsmith911

devinsmith911 commented Jan 4, 2025 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Tested this PR with a Tapo RV30 Plus:

Everything works, however when using vacuum_volume to modify the volume level, the cli outputs eg:

Changing vacuum_volume from 75 to 50
New state: 75

When going back to check, the volume has indeed changed to the requested level (50), so it's just the output that seems wrong (probably not too important).

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@rytilahti rytilahti mentioned this pull request Jan 4, 2025
Initial support for vacuums (clean module) #944
Merged
@rytilahti
rytilahti force-pushed the feat/vacuum_speaker branch from 787ba00 to d8fbabf Compare January 11, 2025 15:02
@rytilahti

rytilahti commented Jan 11, 2025

Copy link
Copy Markdown
Member Author

Thanks for testing and reporting back, @devinsmith911!

When going back to check, the volume has indeed changed to the requested level (50), so it's just the output that seems wrong (probably not too important).

So basically the cli tool fetches the new state from the device, but looks like it does so too fast before the device has updated its state. So this sounds like a firmware bug, as my new RV20 also behaves similarly. If you fetch the volume again, it will show the correct value.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@rytilahti
rytilahti marked this pull request as ready for review January 11, 2025 15:05
@rytilahti
rytilahti requested a review from sdb9696 January 11, 2025 15:05
@rytilahti

rytilahti commented Jan 11, 2025

Copy link
Copy Markdown
Member Author

Coverage requires a fixture file, but this is otherwise ready to go.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@rytilahti
rytilahti force-pushed the feat/vacuum_speaker branch from d8fbabf to 85a147a Compare January 14, 2025 14:59
sdb9696
sdb9696 approved these changes Jan 14, 2025
View reviewed changes
rytilahti added 8 commits January 14, 2025 17:44
@rytilahti
Add vacuum speaker controls
68eeb2f
@rytilahti
Cleanup
ea0f1c8
@rytilahti
rename to speaker
37c0b19
@rytilahti
add tests
e0a8061
@rytilahti
Add getVolume to the fixture, fix tests
ef2b55c
@rytilahti
Add getVolume
1af0aa2
@rytilahti
Fix tests
350fe19
@rytilahti
Add test for invalid volume
02ba52d
@rytilahti
rytilahti force-pushed the feat/vacuum_speaker branch from a6414a5 to 02ba52d Compare January 14, 2025 16:44
@rytilahti
rytilahti enabled auto-merge (squash) January 14, 2025 16:45
@rytilahti
rytilahti merged commit 2542516 into master Jan 14, 2025
@rytilahti
rytilahti deleted the feat/vacuum_speaker branch January 14, 2025 16:48
@sdb9696 sdb9696 mentioned this pull request Jan 22, 2025
Prepare 0.10.0 #1473
Merged
sdb9696 added a commit that referenced this pull request Jan 26, 2025
@sdb9696
Prepare 0.10.0 (#1473)
09e73fa
## [0.10.0](https://github.com/python-kasa/python-kasa/tree/0.10.0) (2025-01-26)

[Full Changelog](0.9.1...0.10.0)

**Release summary:**

This release brings support for many new devices, including completely new device types:

- Support for Tapo robot vacuums. Special thanks to @steveredden, @MAXIGAMESSUPPER, and veep60 for helping to get this implemented!
- Support for hub attached cameras and doorbells (H200)
- Improved support for hubs (including pairing & better chime controls)
- Support for many new camera and doorbell device models, including C220, C720, D100C, D130, and D230

Many thanks to testers and new contributors - @steveredden, @DawidPietrykowski, @Obbay2, @andrewome, @ryenitcher and @etmmvdp!

**Breaking changes:**

- `uses_http` is now a readonly property of device config. Consumers that relied on `uses_http` to be persisted with `DeviceConfig.to_dict()` will need to store the value separately.
- `is_color`, `is_dimmable`, `is_variable_color_temp`, `valid_temperate_range`, and `has_effects` attributes from the `Light` module are deprecated, consumers should use `has_feature("hsv")`, `has_feature("brightness")`, `has_feature("color_temp")`, `get_feature("color_temp").range`, and `Module.LightEffect in dev.modules` respectively. Calling the deprecated attributes will emit a `DeprecationWarning` and type checkers will fail them.
-  `alarm_volume` on the `smart.Alarm` module is changed from `str` to `int`

**Breaking changes:**

- Make uses\_http a readonly property of device config [\#1449](#1449) (@sdb9696)
- Allow passing alarm parameter overrides [\#1340](#1340) (@rytilahti)
- Deprecate legacy light module is\_capability checks [\#1297](#1297) (@sdb9696)

**Implemented enhancements:**

- Expose more battery sensors for D230 [\#1451](#1451)
- dumping HTTP POST Body for Tapo Vacuum \(RV30 Plus\) [\#937](#937)
- Add common alarm interface [\#1479](#1479) (@sdb9696)
- Add common childsetup interface [\#1470](#1470) (@sdb9696)
- Add childsetup module to smartcam hubs [\#1469](#1469) (@sdb9696)
- Add smartcam pet detection toggle module [\#1465](#1465) (@DawidPietrykowski)
- Only log one warning per unknown clean error code and status [\#1462](#1462) (@rytilahti)
- Add childlock module for vacuums [\#1461](#1461) (@rytilahti)
- Add ultra mode \(fanspeed = 5\) for vacuums [\#1459](#1459) (@rytilahti)
- Add setting to change carpet clean mode [\#1458](#1458) (@rytilahti)
- Add setting to change clean count [\#1457](#1457) (@rytilahti)
- Add mop module [\#1456](#1456) (@rytilahti)
- Enable dynamic hub child creation and deletion on update [\#1454](#1454) (@sdb9696)
- Expose current cleaning information [\#1453](#1453) (@rytilahti)
- Add battery module to smartcam devices [\#1452](#1452) (@sdb9696)
- Allow update of camera modules after setting values [\#1450](#1450) (@sdb9696)
- Update hub children on first update and delay subsequent updates [\#1438](#1438) (@sdb9696)
- Add support for doorbells and chimes [\#1435](#1435) (@steveredden)
- Implement vacuum dustbin module \(dust\_bucket\) [\#1423](#1423) (@rytilahti)
- Allow https for klaptransport [\#1415](#1415) (@rytilahti)
- Add smartcam child device support for smartcam hubs [\#1413](#1413) (@sdb9696)
- Add powerprotection module [\#1337](#1337) (@rytilahti)
- Add vacuum speaker controls [\#1332](#1332) (@rytilahti)
- Add consumables module for vacuums [\#1327](#1327) (@rytilahti)
- Add ADC Value to PIR Enabled Switches [\#1263](#1263) (@ryenitcher)
- Add support for cleaning records [\#945](#945) (@rytilahti)
- Initial support for vacuums \(clean module\) [\#944](#944) (@rytilahti)
- Add support for pairing devices with hubs [\#859](#859) (@rytilahti)

**Fixed bugs:**

- TP-Link HS300 Wi-Fi Power-Strip - "Parent On/Off" not functioning. [\#637](#637)
- Convert carpet\_clean\_mode to carpet\_boost switch [\#1486](#1486) (@rytilahti)
- Change category for empty dustbin feature from Primary to Config [\#1485](#1485) (@rytilahti)
- Report 0 for instead of None for zero current and voltage [\#1483](#1483) (@ryenitcher)
- Disable iot camera creation until more complete [\#1480](#1480) (@sdb9696)
- ssltransport: use debug logger for sending requests [\#1443](#1443) (@rytilahti)
- Fix discover cli command with host [\#1437](#1437) (@sdb9696)
- Fallback to is\_low for batterysensor's battery\_low [\#1420](#1420) (@rytilahti)
- Fix iot strip turn on and off from parent [\#639](#639) (@Obbay2)

**Added support for devices:**

- Add D130\(US\) 1.0 1.1.9 fixture [\#1476](#1476) (@sdb9696)
- Add D100C\(US\) 1.0 1.1.3 fixture [\#1475](#1475) (@sdb9696)
- Add C220\(EU\) 1.0 1.2.2 camera fixture [\#1466](#1466) (@DawidPietrykowski)
- Add D230\(EU\) 1.20 1.1.19 fixture [\#1448](#1448) (@sdb9696)
- Add fixture for C720 camera [\#1433](#1433) (@steveredden)

**Project maintenance:**

- Update ruff to 0.9 [\#1482](#1482) (@sdb9696)
- Cancel in progress CI workflows after new pushes [\#1481](#1481) (@sdb9696)
- Update test framework to support smartcam device discovery. [\#1477](#1477) (@sdb9696)
- Add error code 7 for clean module [\#1474](#1474) (@rytilahti)
- Enable CI workflow on PRs to feat/ fix/ and janitor/ [\#1471](#1471) (@sdb9696)
- Add commit-hook to prettify JSON files [\#1455](#1455) (@rytilahti)
- Add required sphinx.configuration [\#1446](#1446) (@rytilahti)
- Add more redactors for smartcams [\#1439](#1439) (@sdb9696)
- Add KS230\(US\) 2.0 1.0.11 IOT Fixture [\#1430](#1430) (@ZeliardM)
- Add tests for dump\_devinfo parent/child smartcam fixture generation [\#1428](#1428) (@sdb9696)
- Raise errors on single smartcam child requests [\#1427](#1427) (@sdb9696)
rytilahti added a commit to rytilahti/python-kasa that referenced this pull request Aug 31, 2025
@rytilahti
Add vacuum speaker controls (python-kasa#1332)
d5dfcaf
Implements `speaker` and adds the following features:
* `volume`  to control the speaker volume
* `locate` to play "I'm here sound"
rytilahti pushed a commit to rytilahti/python-kasa that referenced this pull request Aug 31, 2025
@sdb9696 @rytilahti
Prepare 0.10.0 (python-kasa#1473)
a11b953
## [0.10.0](https://github.com/python-kasa/python-kasa/tree/0.10.0) (2025-01-26)

[Full Changelog](python-kasa/python-kasa@0.9.1...0.10.0)

**Release summary:**

This release brings support for many new devices, including completely new device types:

- Support for Tapo robot vacuums. Special thanks to @steveredden, @MAXIGAMESSUPPER, and veep60 for helping to get this implemented!
- Support for hub attached cameras and doorbells (H200)
- Improved support for hubs (including pairing & better chime controls)
- Support for many new camera and doorbell device models, including C220, C720, D100C, D130, and D230

Many thanks to testers and new contributors - @steveredden, @DawidPietrykowski, @Obbay2, @andrewome, @ryenitcher and @etmmvdp!

**Breaking changes:**

- `uses_http` is now a readonly property of device config. Consumers that relied on `uses_http` to be persisted with `DeviceConfig.to_dict()` will need to store the value separately.
- `is_color`, `is_dimmable`, `is_variable_color_temp`, `valid_temperate_range`, and `has_effects` attributes from the `Light` module are deprecated, consumers should use `has_feature("hsv")`, `has_feature("brightness")`, `has_feature("color_temp")`, `get_feature("color_temp").range`, and `Module.LightEffect in dev.modules` respectively. Calling the deprecated attributes will emit a `DeprecationWarning` and type checkers will fail them.
-  `alarm_volume` on the `smart.Alarm` module is changed from `str` to `int`

**Breaking changes:**

- Make uses\_http a readonly property of device config [\python-kasa#1449](python-kasa#1449) (@sdb9696)
- Allow passing alarm parameter overrides [\python-kasa#1340](python-kasa#1340) (@rytilahti)
- Deprecate legacy light module is\_capability checks [\python-kasa#1297](python-kasa#1297) (@sdb9696)

**Implemented enhancements:**

- Expose more battery sensors for D230 [\python-kasa#1451](python-kasa#1451)
- dumping HTTP POST Body for Tapo Vacuum \(RV30 Plus\) [\python-kasa#937](python-kasa#937)
- Add common alarm interface [\python-kasa#1479](python-kasa#1479) (@sdb9696)
- Add common childsetup interface [\python-kasa#1470](python-kasa#1470) (@sdb9696)
- Add childsetup module to smartcam hubs [\python-kasa#1469](python-kasa#1469) (@sdb9696)
- Add smartcam pet detection toggle module [\python-kasa#1465](python-kasa#1465) (@DawidPietrykowski)
- Only log one warning per unknown clean error code and status [\python-kasa#1462](python-kasa#1462) (@rytilahti)
- Add childlock module for vacuums [\python-kasa#1461](python-kasa#1461) (@rytilahti)
- Add ultra mode \(fanspeed = 5\) for vacuums [\python-kasa#1459](python-kasa#1459) (@rytilahti)
- Add setting to change carpet clean mode [\python-kasa#1458](python-kasa#1458) (@rytilahti)
- Add setting to change clean count [\python-kasa#1457](python-kasa#1457) (@rytilahti)
- Add mop module [\python-kasa#1456](python-kasa#1456) (@rytilahti)
- Enable dynamic hub child creation and deletion on update [\python-kasa#1454](python-kasa#1454) (@sdb9696)
- Expose current cleaning information [\python-kasa#1453](python-kasa#1453) (@rytilahti)
- Add battery module to smartcam devices [\python-kasa#1452](python-kasa#1452) (@sdb9696)
- Allow update of camera modules after setting values [\python-kasa#1450](python-kasa#1450) (@sdb9696)
- Update hub children on first update and delay subsequent updates [\python-kasa#1438](python-kasa#1438) (@sdb9696)
- Add support for doorbells and chimes [\python-kasa#1435](python-kasa#1435) (@steveredden)
- Implement vacuum dustbin module \(dust\_bucket\) [\python-kasa#1423](python-kasa#1423) (@rytilahti)
- Allow https for klaptransport [\python-kasa#1415](python-kasa#1415) (@rytilahti)
- Add smartcam child device support for smartcam hubs [\python-kasa#1413](python-kasa#1413) (@sdb9696)
- Add powerprotection module [\python-kasa#1337](python-kasa#1337) (@rytilahti)
- Add vacuum speaker controls [\python-kasa#1332](python-kasa#1332) (@rytilahti)
- Add consumables module for vacuums [\python-kasa#1327](python-kasa#1327) (@rytilahti)
- Add ADC Value to PIR Enabled Switches [\python-kasa#1263](python-kasa#1263) (@ryenitcher)
- Add support for cleaning records [\python-kasa#945](python-kasa#945) (@rytilahti)
- Initial support for vacuums \(clean module\) [\python-kasa#944](python-kasa#944) (@rytilahti)
- Add support for pairing devices with hubs [\python-kasa#859](python-kasa#859) (@rytilahti)

**Fixed bugs:**

- TP-Link HS300 Wi-Fi Power-Strip - "Parent On/Off" not functioning. [\python-kasa#637](python-kasa#637)
- Convert carpet\_clean\_mode to carpet\_boost switch [\python-kasa#1486](python-kasa#1486) (@rytilahti)
- Change category for empty dustbin feature from Primary to Config [\python-kasa#1485](python-kasa#1485) (@rytilahti)
- Report 0 for instead of None for zero current and voltage [\python-kasa#1483](python-kasa#1483) (@ryenitcher)
- Disable iot camera creation until more complete [\python-kasa#1480](python-kasa#1480) (@sdb9696)
- ssltransport: use debug logger for sending requests [\python-kasa#1443](python-kasa#1443) (@rytilahti)
- Fix discover cli command with host [\python-kasa#1437](python-kasa#1437) (@sdb9696)
- Fallback to is\_low for batterysensor's battery\_low [\python-kasa#1420](python-kasa#1420) (@rytilahti)
- Fix iot strip turn on and off from parent [\python-kasa#639](python-kasa#639) (@Obbay2)

**Added support for devices:**

- Add D130\(US\) 1.0 1.1.9 fixture [\python-kasa#1476](python-kasa#1476) (@sdb9696)
- Add D100C\(US\) 1.0 1.1.3 fixture [\python-kasa#1475](python-kasa#1475) (@sdb9696)
- Add C220\(EU\) 1.0 1.2.2 camera fixture [\python-kasa#1466](python-kasa#1466) (@DawidPietrykowski)
- Add D230\(EU\) 1.20 1.1.19 fixture [\python-kasa#1448](python-kasa#1448) (@sdb9696)
- Add fixture for C720 camera [\python-kasa#1433](python-kasa#1433) (@steveredden)

**Project maintenance:**

- Update ruff to 0.9 [\python-kasa#1482](python-kasa#1482) (@sdb9696)
- Cancel in progress CI workflows after new pushes [\python-kasa#1481](python-kasa#1481) (@sdb9696)
- Update test framework to support smartcam device discovery. [\python-kasa#1477](python-kasa#1477) (@sdb9696)
- Add error code 7 for clean module [\python-kasa#1474](python-kasa#1474) (@rytilahti)
- Enable CI workflow on PRs to feat/ fix/ and janitor/ [\python-kasa#1471](python-kasa#1471) (@sdb9696)
- Add commit-hook to prettify JSON files [\python-kasa#1455](python-kasa#1455) (@rytilahti)
- Add required sphinx.configuration [\python-kasa#1446](python-kasa#1446) (@rytilahti)
- Add more redactors for smartcams [\python-kasa#1439](python-kasa#1439) (@sdb9696)
- Add KS230\(US\) 2.0 1.0.11 IOT Fixture [\python-kasa#1430](python-kasa#1430) (@ZeliardM)
- Add tests for dump\_devinfo parent/child smartcam fixture generation [\python-kasa#1428](python-kasa#1428) (@sdb9696)
- Raise errors on single smartcam child requests [\python-kasa#1427](python-kasa#1427) (@sdb9696)
rytilahti added a commit to rytilahti/python-kasa that referenced this pull request Oct 26, 2025
@rytilahti
Add vacuum speaker controls (python-kasa#1332)
d21fadb
Implements `speaker` and adds the following features:
* `volume`  to control the speaker volume
* `locate` to play "I'm here sound"
rytilahti pushed a commit to rytilahti/python-kasa that referenced this pull request Oct 26, 2025
@sdb9696 @rytilahti
Prepare 0.10.0 (python-kasa#1473)
4577b2c
## [0.10.0](https://github.com/python-kasa/python-kasa/tree/0.10.0) (2025-01-26)

[Full Changelog](python-kasa/python-kasa@0.9.1...0.10.0)

**Release summary:**

This release brings support for many new devices, including completely new device types:

- Support for Tapo robot vacuums. Special thanks to @steveredden, @MAXIGAMESSUPPER, and veep60 for helping to get this implemented!
- Support for hub attached cameras and doorbells (H200)
- Improved support for hubs (including pairing & better chime controls)
- Support for many new camera and doorbell device models, including C220, C720, D100C, D130, and D230

Many thanks to testers and new contributors - @steveredden, @DawidPietrykowski, @Obbay2, @andrewome, @ryenitcher and @etmmvdp!

**Breaking changes:**

- `uses_http` is now a readonly property of device config. Consumers that relied on `uses_http` to be persisted with `DeviceConfig.to_dict()` will need to store the value separately.
- `is_color`, `is_dimmable`, `is_variable_color_temp`, `valid_temperate_range`, and `has_effects` attributes from the `Light` module are deprecated, consumers should use `has_feature("hsv")`, `has_feature("brightness")`, `has_feature("color_temp")`, `get_feature("color_temp").range`, and `Module.LightEffect in dev.modules` respectively. Calling the deprecated attributes will emit a `DeprecationWarning` and type checkers will fail them.
-  `alarm_volume` on the `smart.Alarm` module is changed from `str` to `int`

**Breaking changes:**

- Make uses\_http a readonly property of device config [\python-kasa#1449](python-kasa#1449) (@sdb9696)
- Allow passing alarm parameter overrides [\python-kasa#1340](python-kasa#1340) (@rytilahti)
- Deprecate legacy light module is\_capability checks [\python-kasa#1297](python-kasa#1297) (@sdb9696)

**Implemented enhancements:**

- Expose more battery sensors for D230 [\python-kasa#1451](python-kasa#1451)
- dumping HTTP POST Body for Tapo Vacuum \(RV30 Plus\) [\python-kasa#937](python-kasa#937)
- Add common alarm interface [\python-kasa#1479](python-kasa#1479) (@sdb9696)
- Add common childsetup interface [\python-kasa#1470](python-kasa#1470) (@sdb9696)
- Add childsetup module to smartcam hubs [\python-kasa#1469](python-kasa#1469) (@sdb9696)
- Add smartcam pet detection toggle module [\python-kasa#1465](python-kasa#1465) (@DawidPietrykowski)
- Only log one warning per unknown clean error code and status [\python-kasa#1462](python-kasa#1462) (@rytilahti)
- Add childlock module for vacuums [\python-kasa#1461](python-kasa#1461) (@rytilahti)
- Add ultra mode \(fanspeed = 5\) for vacuums [\python-kasa#1459](python-kasa#1459) (@rytilahti)
- Add setting to change carpet clean mode [\python-kasa#1458](python-kasa#1458) (@rytilahti)
- Add setting to change clean count [\python-kasa#1457](python-kasa#1457) (@rytilahti)
- Add mop module [\python-kasa#1456](python-kasa#1456) (@rytilahti)
- Enable dynamic hub child creation and deletion on update [\python-kasa#1454](python-kasa#1454) (@sdb9696)
- Expose current cleaning information [\python-kasa#1453](python-kasa#1453) (@rytilahti)
- Add battery module to smartcam devices [\python-kasa#1452](python-kasa#1452) (@sdb9696)
- Allow update of camera modules after setting values [\python-kasa#1450](python-kasa#1450) (@sdb9696)
- Update hub children on first update and delay subsequent updates [\python-kasa#1438](python-kasa#1438) (@sdb9696)
- Add support for doorbells and chimes [\python-kasa#1435](python-kasa#1435) (@steveredden)
- Implement vacuum dustbin module \(dust\_bucket\) [\python-kasa#1423](python-kasa#1423) (@rytilahti)
- Allow https for klaptransport [\python-kasa#1415](python-kasa#1415) (@rytilahti)
- Add smartcam child device support for smartcam hubs [\python-kasa#1413](python-kasa#1413) (@sdb9696)
- Add powerprotection module [\python-kasa#1337](python-kasa#1337) (@rytilahti)
- Add vacuum speaker controls [\python-kasa#1332](python-kasa#1332) (@rytilahti)
- Add consumables module for vacuums [\python-kasa#1327](python-kasa#1327) (@rytilahti)
- Add ADC Value to PIR Enabled Switches [\python-kasa#1263](python-kasa#1263) (@ryenitcher)
- Add support for cleaning records [\python-kasa#945](python-kasa#945) (@rytilahti)
- Initial support for vacuums \(clean module\) [\python-kasa#944](python-kasa#944) (@rytilahti)
- Add support for pairing devices with hubs [\python-kasa#859](python-kasa#859) (@rytilahti)

**Fixed bugs:**

- TP-Link HS300 Wi-Fi Power-Strip - "Parent On/Off" not functioning. [\python-kasa#637](python-kasa#637)
- Convert carpet\_clean\_mode to carpet\_boost switch [\python-kasa#1486](python-kasa#1486) (@rytilahti)
- Change category for empty dustbin feature from Primary to Config [\python-kasa#1485](python-kasa#1485) (@rytilahti)
- Report 0 for instead of None for zero current and voltage [\python-kasa#1483](python-kasa#1483) (@ryenitcher)
- Disable iot camera creation until more complete [\python-kasa#1480](python-kasa#1480) (@sdb9696)
- ssltransport: use debug logger for sending requests [\python-kasa#1443](python-kasa#1443) (@rytilahti)
- Fix discover cli command with host [\python-kasa#1437](python-kasa#1437) (@sdb9696)
- Fallback to is\_low for batterysensor's battery\_low [\python-kasa#1420](python-kasa#1420) (@rytilahti)
- Fix iot strip turn on and off from parent [\python-kasa#639](python-kasa#639) (@Obbay2)

**Added support for devices:**

- Add D130\(US\) 1.0 1.1.9 fixture [\python-kasa#1476](python-kasa#1476) (@sdb9696)
- Add D100C\(US\) 1.0 1.1.3 fixture [\python-kasa#1475](python-kasa#1475) (@sdb9696)
- Add C220\(EU\) 1.0 1.2.2 camera fixture [\python-kasa#1466](python-kasa#1466) (@DawidPietrykowski)
- Add D230\(EU\) 1.20 1.1.19 fixture [\python-kasa#1448](python-kasa#1448) (@sdb9696)
- Add fixture for C720 camera [\python-kasa#1433](python-kasa#1433) (@steveredden)

**Project maintenance:**

- Update ruff to 0.9 [\python-kasa#1482](python-kasa#1482) (@sdb9696)
- Cancel in progress CI workflows after new pushes [\python-kasa#1481](python-kasa#1481) (@sdb9696)
- Update test framework to support smartcam device discovery. [\python-kasa#1477](python-kasa#1477) (@sdb9696)
- Add error code 7 for clean module [\python-kasa#1474](python-kasa#1474) (@rytilahti)
- Enable CI workflow on PRs to feat/ fix/ and janitor/ [\python-kasa#1471](python-kasa#1471) (@sdb9696)
- Add commit-hook to prettify JSON files [\python-kasa#1455](python-kasa#1455) (@rytilahti)
- Add required sphinx.configuration [\python-kasa#1446](python-kasa#1446) (@rytilahti)
- Add more redactors for smartcams [\python-kasa#1439](python-kasa#1439) (@sdb9696)
- Add KS230\(US\) 2.0 1.0.11 IOT Fixture [\python-kasa#1430](python-kasa#1430) (@ZeliardM)
- Add tests for dump\_devinfo parent/child smartcam fixture generation [\python-kasa#1428](python-kasa#1428) (@sdb9696)
- Raise errors on single smartcam child requests [\python-kasa#1427](python-kasa#1427) (@sdb9696)
rytilahti added a commit to rytilahti/python-kasa that referenced this pull request Nov 10, 2025
@rytilahti
Add vacuum speaker controls (python-kasa#1332)
37bc095
Implements `speaker` and adds the following features:
* `volume`  to control the speaker volume
* `locate` to play "I'm here sound"
rytilahti pushed a commit to rytilahti/python-kasa that referenced this pull request Nov 10, 2025
@sdb9696 @rytilahti
Prepare 0.10.0 (python-kasa#1473)
2382821
## [0.10.0](https://github.com/python-kasa/python-kasa/tree/0.10.0) (2025-01-26)

[Full Changelog](python-kasa/python-kasa@0.9.1...0.10.0)

**Release summary:**

This release brings support for many new devices, including completely new device types:

- Support for Tapo robot vacuums. Special thanks to @steveredden, @MAXIGAMESSUPPER, and veep60 for helping to get this implemented!
- Support for hub attached cameras and doorbells (H200)
- Improved support for hubs (including pairing & better chime controls)
- Support for many new camera and doorbell device models, including C220, C720, D100C, D130, and D230

Many thanks to testers and new contributors - @steveredden, @DawidPietrykowski, @Obbay2, @andrewome, @ryenitcher and @etmmvdp!

**Breaking changes:**

- `uses_http` is now a readonly property of device config. Consumers that relied on `uses_http` to be persisted with `DeviceConfig.to_dict()` will need to store the value separately.
- `is_color`, `is_dimmable`, `is_variable_color_temp`, `valid_temperate_range`, and `has_effects` attributes from the `Light` module are deprecated, consumers should use `has_feature("hsv")`, `has_feature("brightness")`, `has_feature("color_temp")`, `get_feature("color_temp").range`, and `Module.LightEffect in dev.modules` respectively. Calling the deprecated attributes will emit a `DeprecationWarning` and type checkers will fail them.
-  `alarm_volume` on the `smart.Alarm` module is changed from `str` to `int`

**Breaking changes:**

- Make uses\_http a readonly property of device config [\python-kasa#1449](python-kasa#1449) (@sdb9696)
- Allow passing alarm parameter overrides [\python-kasa#1340](python-kasa#1340) (@rytilahti)
- Deprecate legacy light module is\_capability checks [\python-kasa#1297](python-kasa#1297) (@sdb9696)

**Implemented enhancements:**

- Expose more battery sensors for D230 [\python-kasa#1451](python-kasa#1451)
- dumping HTTP POST Body for Tapo Vacuum \(RV30 Plus\) [\python-kasa#937](python-kasa#937)
- Add common alarm interface [\python-kasa#1479](python-kasa#1479) (@sdb9696)
- Add common childsetup interface [\python-kasa#1470](python-kasa#1470) (@sdb9696)
- Add childsetup module to smartcam hubs [\python-kasa#1469](python-kasa#1469) (@sdb9696)
- Add smartcam pet detection toggle module [\python-kasa#1465](python-kasa#1465) (@DawidPietrykowski)
- Only log one warning per unknown clean error code and status [\python-kasa#1462](python-kasa#1462) (@rytilahti)
- Add childlock module for vacuums [\python-kasa#1461](python-kasa#1461) (@rytilahti)
- Add ultra mode \(fanspeed = 5\) for vacuums [\python-kasa#1459](python-kasa#1459) (@rytilahti)
- Add setting to change carpet clean mode [\python-kasa#1458](python-kasa#1458) (@rytilahti)
- Add setting to change clean count [\python-kasa#1457](python-kasa#1457) (@rytilahti)
- Add mop module [\python-kasa#1456](python-kasa#1456) (@rytilahti)
- Enable dynamic hub child creation and deletion on update [\python-kasa#1454](python-kasa#1454) (@sdb9696)
- Expose current cleaning information [\python-kasa#1453](python-kasa#1453) (@rytilahti)
- Add battery module to smartcam devices [\python-kasa#1452](python-kasa#1452) (@sdb9696)
- Allow update of camera modules after setting values [\python-kasa#1450](python-kasa#1450) (@sdb9696)
- Update hub children on first update and delay subsequent updates [\python-kasa#1438](python-kasa#1438) (@sdb9696)
- Add support for doorbells and chimes [\python-kasa#1435](python-kasa#1435) (@steveredden)
- Implement vacuum dustbin module \(dust\_bucket\) [\python-kasa#1423](python-kasa#1423) (@rytilahti)
- Allow https for klaptransport [\python-kasa#1415](python-kasa#1415) (@rytilahti)
- Add smartcam child device support for smartcam hubs [\python-kasa#1413](python-kasa#1413) (@sdb9696)
- Add powerprotection module [\python-kasa#1337](python-kasa#1337) (@rytilahti)
- Add vacuum speaker controls [\python-kasa#1332](python-kasa#1332) (@rytilahti)
- Add consumables module for vacuums [\python-kasa#1327](python-kasa#1327) (@rytilahti)
- Add ADC Value to PIR Enabled Switches [\python-kasa#1263](python-kasa#1263) (@ryenitcher)
- Add support for cleaning records [\python-kasa#945](python-kasa#945) (@rytilahti)
- Initial support for vacuums \(clean module\) [\python-kasa#944](python-kasa#944) (@rytilahti)
- Add support for pairing devices with hubs [\python-kasa#859](python-kasa#859) (@rytilahti)

**Fixed bugs:**

- TP-Link HS300 Wi-Fi Power-Strip - "Parent On/Off" not functioning. [\python-kasa#637](python-kasa#637)
- Convert carpet\_clean\_mode to carpet\_boost switch [\python-kasa#1486](python-kasa#1486) (@rytilahti)
- Change category for empty dustbin feature from Primary to Config [\python-kasa#1485](python-kasa#1485) (@rytilahti)
- Report 0 for instead of None for zero current and voltage [\python-kasa#1483](python-kasa#1483) (@ryenitcher)
- Disable iot camera creation until more complete [\python-kasa#1480](python-kasa#1480) (@sdb9696)
- ssltransport: use debug logger for sending requests [\python-kasa#1443](python-kasa#1443) (@rytilahti)
- Fix discover cli command with host [\python-kasa#1437](python-kasa#1437) (@sdb9696)
- Fallback to is\_low for batterysensor's battery\_low [\python-kasa#1420](python-kasa#1420) (@rytilahti)
- Fix iot strip turn on and off from parent [\python-kasa#639](python-kasa#639) (@Obbay2)

**Added support for devices:**

- Add D130\(US\) 1.0 1.1.9 fixture [\python-kasa#1476](python-kasa#1476) (@sdb9696)
- Add D100C\(US\) 1.0 1.1.3 fixture [\python-kasa#1475](python-kasa#1475) (@sdb9696)
- Add C220\(EU\) 1.0 1.2.2 camera fixture [\python-kasa#1466](python-kasa#1466) (@DawidPietrykowski)
- Add D230\(EU\) 1.20 1.1.19 fixture [\python-kasa#1448](python-kasa#1448) (@sdb9696)
- Add fixture for C720 camera [\python-kasa#1433](python-kasa#1433) (@steveredden)

**Project maintenance:**

- Update ruff to 0.9 [\python-kasa#1482](python-kasa#1482) (@sdb9696)
- Cancel in progress CI workflows after new pushes [\python-kasa#1481](python-kasa#1481) (@sdb9696)
- Update test framework to support smartcam device discovery. [\python-kasa#1477](python-kasa#1477) (@sdb9696)
- Add error code 7 for clean module [\python-kasa#1474](python-kasa#1474) (@rytilahti)
- Enable CI workflow on PRs to feat/ fix/ and janitor/ [\python-kasa#1471](python-kasa#1471) (@sdb9696)
- Add commit-hook to prettify JSON files [\python-kasa#1455](python-kasa#1455) (@rytilahti)
- Add required sphinx.configuration [\python-kasa#1446](python-kasa#1446) (@rytilahti)
- Add more redactors for smartcams [\python-kasa#1439](python-kasa#1439) (@sdb9696)
- Add KS230\(US\) 2.0 1.0.11 IOT Fixture [\python-kasa#1430](python-kasa#1430) (@ZeliardM)
- Add tests for dump\_devinfo parent/child smartcam fixture generation [\python-kasa#1428](python-kasa#1428) (@sdb9696)
- Raise errors on single smartcam child requests [\python-kasa#1427](python-kasa#1427) (@sdb9696)
rytilahti added a commit to rytilahti/python-kasa that referenced this pull request Jul 5, 2026
@rytilahti
Add vacuum speaker controls (python-kasa#1332)
a4fa6d1
Implements `speaker` and adds the following features:
* `volume`  to control the speaker volume
* `locate` to play "I'm here sound"
rytilahti pushed a commit to rytilahti/python-kasa that referenced this pull request Jul 5, 2026
@sdb9696 @rytilahti
Prepare 0.10.0 (python-kasa#1473)
309dc46
## [0.10.0](https://github.com/python-kasa/python-kasa/tree/0.10.0) (2025-01-26)

[Full Changelog](python-kasa/python-kasa@0.9.1...0.10.0)

**Release summary:**

This release brings support for many new devices, including completely new device types:

- Support for Tapo robot vacuums. Special thanks to @steveredden, @MAXIGAMESSUPPER, and veep60 for helping to get this implemented!
- Support for hub attached cameras and doorbells (H200)
- Improved support for hubs (including pairing & better chime controls)
- Support for many new camera and doorbell device models, including C220, C720, D100C, D130, and D230

Many thanks to testers and new contributors - @steveredden, @DawidPietrykowski, @Obbay2, @andrewome, @ryenitcher and @etmmvdp!

**Breaking changes:**

- `uses_http` is now a readonly property of device config. Consumers that relied on `uses_http` to be persisted with `DeviceConfig.to_dict()` will need to store the value separately.
- `is_color`, `is_dimmable`, `is_variable_color_temp`, `valid_temperate_range`, and `has_effects` attributes from the `Light` module are deprecated, consumers should use `has_feature("hsv")`, `has_feature("brightness")`, `has_feature("color_temp")`, `get_feature("color_temp").range`, and `Module.LightEffect in dev.modules` respectively. Calling the deprecated attributes will emit a `DeprecationWarning` and type checkers will fail them.
-  `alarm_volume` on the `smart.Alarm` module is changed from `str` to `int`

**Breaking changes:**

- Make uses\_http a readonly property of device config [\python-kasa#1449](python-kasa#1449) (@sdb9696)
- Allow passing alarm parameter overrides [\python-kasa#1340](python-kasa#1340) (@rytilahti)
- Deprecate legacy light module is\_capability checks [\python-kasa#1297](python-kasa#1297) (@sdb9696)

**Implemented enhancements:**

- Expose more battery sensors for D230 [\python-kasa#1451](python-kasa#1451)
- dumping HTTP POST Body for Tapo Vacuum \(RV30 Plus\) [\python-kasa#937](python-kasa#937)
- Add common alarm interface [\python-kasa#1479](python-kasa#1479) (@sdb9696)
- Add common childsetup interface [\python-kasa#1470](python-kasa#1470) (@sdb9696)
- Add childsetup module to smartcam hubs [\python-kasa#1469](python-kasa#1469) (@sdb9696)
- Add smartcam pet detection toggle module [\python-kasa#1465](python-kasa#1465) (@DawidPietrykowski)
- Only log one warning per unknown clean error code and status [\python-kasa#1462](python-kasa#1462) (@rytilahti)
- Add childlock module for vacuums [\python-kasa#1461](python-kasa#1461) (@rytilahti)
- Add ultra mode \(fanspeed = 5\) for vacuums [\python-kasa#1459](python-kasa#1459) (@rytilahti)
- Add setting to change carpet clean mode [\python-kasa#1458](python-kasa#1458) (@rytilahti)
- Add setting to change clean count [\python-kasa#1457](python-kasa#1457) (@rytilahti)
- Add mop module [\python-kasa#1456](python-kasa#1456) (@rytilahti)
- Enable dynamic hub child creation and deletion on update [\python-kasa#1454](python-kasa#1454) (@sdb9696)
- Expose current cleaning information [\python-kasa#1453](python-kasa#1453) (@rytilahti)
- Add battery module to smartcam devices [\python-kasa#1452](python-kasa#1452) (@sdb9696)
- Allow update of camera modules after setting values [\python-kasa#1450](python-kasa#1450) (@sdb9696)
- Update hub children on first update and delay subsequent updates [\python-kasa#1438](python-kasa#1438) (@sdb9696)
- Add support for doorbells and chimes [\python-kasa#1435](python-kasa#1435) (@steveredden)
- Implement vacuum dustbin module \(dust\_bucket\) [\python-kasa#1423](python-kasa#1423) (@rytilahti)
- Allow https for klaptransport [\python-kasa#1415](python-kasa#1415) (@rytilahti)
- Add smartcam child device support for smartcam hubs [\python-kasa#1413](python-kasa#1413) (@sdb9696)
- Add powerprotection module [\python-kasa#1337](python-kasa#1337) (@rytilahti)
- Add vacuum speaker controls [\python-kasa#1332](python-kasa#1332) (@rytilahti)
- Add consumables module for vacuums [\python-kasa#1327](python-kasa#1327) (@rytilahti)
- Add ADC Value to PIR Enabled Switches [\python-kasa#1263](python-kasa#1263) (@ryenitcher)
- Add support for cleaning records [\python-kasa#945](python-kasa#945) (@rytilahti)
- Initial support for vacuums \(clean module\) [\python-kasa#944](python-kasa#944) (@rytilahti)
- Add support for pairing devices with hubs [\python-kasa#859](python-kasa#859) (@rytilahti)

**Fixed bugs:**

- TP-Link HS300 Wi-Fi Power-Strip - "Parent On/Off" not functioning. [\python-kasa#637](python-kasa#637)
- Convert carpet\_clean\_mode to carpet\_boost switch [\python-kasa#1486](python-kasa#1486) (@rytilahti)
- Change category for empty dustbin feature from Primary to Config [\python-kasa#1485](python-kasa#1485) (@rytilahti)
- Report 0 for instead of None for zero current and voltage [\python-kasa#1483](python-kasa#1483) (@ryenitcher)
- Disable iot camera creation until more complete [\python-kasa#1480](python-kasa#1480) (@sdb9696)
- ssltransport: use debug logger for sending requests [\python-kasa#1443](python-kasa#1443) (@rytilahti)
- Fix discover cli command with host [\python-kasa#1437](python-kasa#1437) (@sdb9696)
- Fallback to is\_low for batterysensor's battery\_low [\python-kasa#1420](python-kasa#1420) (@rytilahti)
- Fix iot strip turn on and off from parent [\python-kasa#639](python-kasa#639) (@Obbay2)

**Added support for devices:**

- Add D130\(US\) 1.0 1.1.9 fixture [\python-kasa#1476](python-kasa#1476) (@sdb9696)
- Add D100C\(US\) 1.0 1.1.3 fixture [\python-kasa#1475](python-kasa#1475) (@sdb9696)
- Add C220\(EU\) 1.0 1.2.2 camera fixture [\python-kasa#1466](python-kasa#1466) (@DawidPietrykowski)
- Add D230\(EU\) 1.20 1.1.19 fixture [\python-kasa#1448](python-kasa#1448) (@sdb9696)
- Add fixture for C720 camera [\python-kasa#1433](python-kasa#1433) (@steveredden)

**Project maintenance:**

- Update ruff to 0.9 [\python-kasa#1482](python-kasa#1482) (@sdb9696)
- Cancel in progress CI workflows after new pushes [\python-kasa#1481](python-kasa#1481) (@sdb9696)
- Update test framework to support smartcam device discovery. [\python-kasa#1477](python-kasa#1477) (@sdb9696)
- Add error code 7 for clean module [\python-kasa#1474](python-kasa#1474) (@rytilahti)
- Enable CI workflow on PRs to feat/ fix/ and janitor/ [\python-kasa#1471](python-kasa#1471) (@sdb9696)
- Add commit-hook to prettify JSON files [\python-kasa#1455](python-kasa#1455) (@rytilahti)
- Add required sphinx.configuration [\python-kasa#1446](python-kasa#1446) (@rytilahti)
- Add more redactors for smartcams [\python-kasa#1439](python-kasa#1439) (@sdb9696)
- Add KS230\(US\) 2.0 1.0.11 IOT Fixture [\python-kasa#1430](python-kasa#1430) (@ZeliardM)
- Add tests for dump\_devinfo parent/child smartcam fixture generation [\python-kasa#1428](python-kasa#1428) (@sdb9696)
- Raise errors on single smartcam child requests [\python-kasa#1427](python-kasa#1427) (@sdb9696)
pillarsdotnet pushed a commit to pillarsdotnet/python-kasa that referenced this pull request Oct 22, 2026
@rytilahti
Add vacuum speaker controls (python-kasa#1332)
9e50c0d
Implements `speaker` and adds the following features:
* `volume`  to control the speaker volume
* `locate` to play "I'm here sound"
pillarsdotnet pushed a commit to pillarsdotnet/python-kasa that referenced this pull request Oct 22, 2026
@sdb9696
Prepare 0.10.0 (python-kasa#1473)
e37cf64
## [0.10.0](https://github.com/python-kasa/python-kasa/tree/0.10.0) (2025-01-26)

[Full Changelog](python-kasa/python-kasa@0.9.1...0.10.0)

**Release summary:**

This release brings support for many new devices, including completely new device types:

- Support for Tapo robot vacuums. Special thanks to @steveredden, @MAXIGAMESSUPPER, and veep60 for helping to get this implemented!
- Support for hub attached cameras and doorbells (H200)
- Improved support for hubs (including pairing & better chime controls)
- Support for many new camera and doorbell device models, including C220, C720, D100C, D130, and D230

Many thanks to testers and new contributors - @steveredden, @DawidPietrykowski, @Obbay2, @andrewome, @ryenitcher and @etmmvdp!

**Breaking changes:**

- `uses_http` is now a readonly property of device config. Consumers that relied on `uses_http` to be persisted with `DeviceConfig.to_dict()` will need to store the value separately.
- `is_color`, `is_dimmable`, `is_variable_color_temp`, `valid_temperate_range`, and `has_effects` attributes from the `Light` module are deprecated, consumers should use `has_feature("hsv")`, `has_feature("brightness")`, `has_feature("color_temp")`, `get_feature("color_temp").range`, and `Module.LightEffect in dev.modules` respectively. Calling the deprecated attributes will emit a `DeprecationWarning` and type checkers will fail them.
-  `alarm_volume` on the `smart.Alarm` module is changed from `str` to `int`

**Breaking changes:**

- Make uses\_http a readonly property of device config [\python-kasa#1449](python-kasa#1449) (@sdb9696)
- Allow passing alarm parameter overrides [\python-kasa#1340](python-kasa#1340) (@rytilahti)
- Deprecate legacy light module is\_capability checks [\python-kasa#1297](python-kasa#1297) (@sdb9696)

**Implemented enhancements:**

- Expose more battery sensors for D230 [\python-kasa#1451](python-kasa#1451)
- dumping HTTP POST Body for Tapo Vacuum \(RV30 Plus\) [\python-kasa#937](python-kasa#937)
- Add common alarm interface [\python-kasa#1479](python-kasa#1479) (@sdb9696)
- Add common childsetup interface [\python-kasa#1470](python-kasa#1470) (@sdb9696)
- Add childsetup module to smartcam hubs [\python-kasa#1469](python-kasa#1469) (@sdb9696)
- Add smartcam pet detection toggle module [\python-kasa#1465](python-kasa#1465) (@DawidPietrykowski)
- Only log one warning per unknown clean error code and status [\python-kasa#1462](python-kasa#1462) (@rytilahti)
- Add childlock module for vacuums [\python-kasa#1461](python-kasa#1461) (@rytilahti)
- Add ultra mode \(fanspeed = 5\) for vacuums [\python-kasa#1459](python-kasa#1459) (@rytilahti)
- Add setting to change carpet clean mode [\python-kasa#1458](python-kasa#1458) (@rytilahti)
- Add setting to change clean count [\python-kasa#1457](python-kasa#1457) (@rytilahti)
- Add mop module [\python-kasa#1456](python-kasa#1456) (@rytilahti)
- Enable dynamic hub child creation and deletion on update [\python-kasa#1454](python-kasa#1454) (@sdb9696)
- Expose current cleaning information [\python-kasa#1453](python-kasa#1453) (@rytilahti)
- Add battery module to smartcam devices [\python-kasa#1452](python-kasa#1452) (@sdb9696)
- Allow update of camera modules after setting values [\python-kasa#1450](python-kasa#1450) (@sdb9696)
- Update hub children on first update and delay subsequent updates [\python-kasa#1438](python-kasa#1438) (@sdb9696)
- Add support for doorbells and chimes [\python-kasa#1435](python-kasa#1435) (@steveredden)
- Implement vacuum dustbin module \(dust\_bucket\) [\python-kasa#1423](python-kasa#1423) (@rytilahti)
- Allow https for klaptransport [\python-kasa#1415](python-kasa#1415) (@rytilahti)
- Add smartcam child device support for smartcam hubs [\python-kasa#1413](python-kasa#1413) (@sdb9696)
- Add powerprotection module [\python-kasa#1337](python-kasa#1337) (@rytilahti)
- Add vacuum speaker controls [\python-kasa#1332](python-kasa#1332) (@rytilahti)
- Add consumables module for vacuums [\python-kasa#1327](python-kasa#1327) (@rytilahti)
- Add ADC Value to PIR Enabled Switches [\python-kasa#1263](python-kasa#1263) (@ryenitcher)
- Add support for cleaning records [\python-kasa#945](python-kasa#945) (@rytilahti)
- Initial support for vacuums \(clean module\) [\python-kasa#944](python-kasa#944) (@rytilahti)
- Add support for pairing devices with hubs [\python-kasa#859](python-kasa#859) (@rytilahti)

**Fixed bugs:**

- TP-Link HS300 Wi-Fi Power-Strip - "Parent On/Off" not functioning. [\python-kasa#637](python-kasa#637)
- Convert carpet\_clean\_mode to carpet\_boost switch [\python-kasa#1486](python-kasa#1486) (@rytilahti)
- Change category for empty dustbin feature from Primary to Config [\python-kasa#1485](python-kasa#1485) (@rytilahti)
- Report 0 for instead of None for zero current and voltage [\python-kasa#1483](python-kasa#1483) (@ryenitcher)
- Disable iot camera creation until more complete [\python-kasa#1480](python-kasa#1480) (@sdb9696)
- ssltransport: use debug logger for sending requests [\python-kasa#1443](python-kasa#1443) (@rytilahti)
- Fix discover cli command with host [\python-kasa#1437](python-kasa#1437) (@sdb9696)
- Fallback to is\_low for batterysensor's battery\_low [\python-kasa#1420](python-kasa#1420) (@rytilahti)
- Fix iot strip turn on and off from parent [\python-kasa#639](python-kasa#639) (@Obbay2)

**Added support for devices:**

- Add D130\(US\) 1.0 1.1.9 fixture [\python-kasa#1476](python-kasa#1476) (@sdb9696)
- Add D100C\(US\) 1.0 1.1.3 fixture [\python-kasa#1475](python-kasa#1475) (@sdb9696)
- Add C220\(EU\) 1.0 1.2.2 camera fixture [\python-kasa#1466](python-kasa#1466) (@DawidPietrykowski)
- Add D230\(EU\) 1.20 1.1.19 fixture [\python-kasa#1448](python-kasa#1448) (@sdb9696)
- Add fixture for C720 camera [\python-kasa#1433](python-kasa#1433) (@steveredden)

**Project maintenance:**

- Update ruff to 0.9 [\python-kasa#1482](python-kasa#1482) (@sdb9696)
- Cancel in progress CI workflows after new pushes [\python-kasa#1481](python-kasa#1481) (@sdb9696)
- Update test framework to support smartcam device discovery. [\python-kasa#1477](python-kasa#1477) (@sdb9696)
- Add error code 7 for clean module [\python-kasa#1474](python-kasa#1474) (@rytilahti)
- Enable CI workflow on PRs to feat/ fix/ and janitor/ [\python-kasa#1471](python-kasa#1471) (@sdb9696)
- Add commit-hook to prettify JSON files [\python-kasa#1455](python-kasa#1455) (@rytilahti)
- Add required sphinx.configuration [\python-kasa#1446](python-kasa#1446) (@rytilahti)
- Add more redactors for smartcams [\python-kasa#1439](python-kasa#1439) (@sdb9696)
- Add KS230\(US\) 2.0 1.0.11 IOT Fixture [\python-kasa#1430](python-kasa#1430) (@ZeliardM)
- Add tests for dump\_devinfo parent/child smartcam fixture generation [\python-kasa#1428](python-kasa#1428) (@sdb9696)
- Raise errors on single smartcam child requests [\python-kasa#1427](python-kasa#1427) (@sdb9696)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@sdb9696 sdb9696 sdb9696 approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

enhancement New feature or request

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@rytilahti @devinsmith911 @sdb9696
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.