Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
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. 🚀 New features to boost your workflow:
|
|
Tested this PR with a Tapo Everything works, however when using vacuum_volume to modify the volume level, the cli outputs eg: 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). |
787ba00 to
d8fbabf
Compare
|
Thanks for testing and reporting back, @devinsmith911!
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. |
|
Coverage requires a fixture file, but this is otherwise ready to go. |
d8fbabf to
85a147a
Compare
a6414a5 to
02ba52d
Compare
## [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)
Implements `speaker` and adds the following features: * `volume` to control the speaker volume * `locate` to play "I'm here sound"
## [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)
Implements `speaker` and adds the following features: * `volume` to control the speaker volume * `locate` to play "I'm here sound"
## [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)
Implements `speaker` and adds the following features: * `volume` to control the speaker volume * `locate` to play "I'm here sound"
## [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)
Implements
speakerand adds the following features:volumeto control the speaker volumelocateto play "I'm here sound"