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 common alarm interface by sdb9696 · Pull Request #1479 · python-kasa/python-kasa

Conversation

@sdb9696

@sdb9696 sdb9696 commented Jan 23, 2025 •
edited
Loading

Uh oh!

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

Copy link
Copy Markdown
Contributor

Add a common interface for the alarm module across smart and smartcam devices.

Sorry, something went wrong.

Uh oh!

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

All reactions
rytilahti and others added 14 commits December 4, 2024 21:41
@rytilahti
Allow passing alarm parameter overrides
0f7e007
@rytilahti
Expose alarm_duration, fix play setter signature
8323753
@rytilahti
Add tests
ee82c99
@rytilahti
De-nest get_alarm_configure in fake protocol
8a2ed72
@rytilahti
Add value checks
000ae50
@rytilahti
Fix tests
2fed0ea
@rytilahti
One more try
5a7ad6e
@rytilahti
update
f6119e3
@rytilahti
test exceptions
a2b1193
@rytilahti
constify max duration
0c58b5e
@rytilahti
Add mute volume and allow passing volume as integer
dbd80e6
@sdb9696
Merge remote-tracking branch 'upstream/master' into feat/improve_alarm
a621761
@sdb9696
Add range to alarm_volume feature
b1f7754
@sdb9696
Add common alarm interface
74cf44f
@codecov

codecov Bot commented Jan 23, 2025 •
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.65%. Comparing base (d857cc6) to head (49300bf).
Report is 19 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1479      +/-   ##
==========================================
+ Coverage   92.61%   92.65%   +0.03%     
==========================================
  Files         148      149       +1     
  Lines        9387     9433      +46     
  Branches      954      958       +4     
==========================================
+ Hits         8694     8740      +46     
  Misses        497      497              
  Partials      196      196              

☔ 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.

sdb9696
sdb9696 commented Jan 23, 2025
View reviewed changes
Comment thread kasa/smart/modules/alarm.py Outdated
Comment on lines +147 to +152
def alarm_volume(self) -> Annotated[int, FeatureAttribute("alarm_volume")]:
"""Return alarm volume."""
return VOLUME_STR_TO_INT[self._alarm_volume_str]

@property
def _alarm_volume_str(self) -> str:

@sdb9696 sdb9696 Jan 23, 2025

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This maintains the type of the current alarm_volume feature for smart devices so as not to break the existing feature in HA. Once the HA siren platform is updated to use the volume from the module the feature can be deprecated in HA.

Sorry, something went wrong.

Uh oh!

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

All reactions
@sdb9696 sdb9696 added the enhancement New feature or request label Jan 23, 2025
@sdb9696 sdb9696 added this to the 0.10.0 milestone Jan 23, 2025
sdb9696 added 10 commits January 24, 2025 08:48
@sdb9696
Merge branch 'master' into feat/improve_alarm
5bc843c
@sdb9696
Merge remote-tracking branch 'upstream/master' into feat/common_alarm
d7fc557
@sdb9696
Merge remote-tracking branch 'upstream/feat/improve_alarm' into feat/…
72750ef
…common_alarm
@sdb9696
Merge branch 'master' into feat/improve_alarm
3d1a6c3
@sdb9696
Merge branch 'feat/improve_alarm' into feat/common_alarm
32404dd
@sdb9696
Merge branch 'master' into feat/improve_alarm
07a4e43
@sdb9696
Add alarm_volume_number feature
7f5046b
@sdb9696
Merge remote-tracking branch 'upstream/feat/improve_alarm' into feat/…
5d3d082
…common_alarm
@sdb9696
Fix tests
233940a
@sdb9696
Merge branch 'feat/improve_alarm' into feat/common_alarm
d819143
rytilahti
rytilahti approved these changes Jan 26, 2025
View reviewed changes

@rytilahti rytilahti left a comment •
edited
Loading

Uh oh!

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

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just a minor docstring nit. Please update the PR description before you go forward with the merge. Also, should this be based on the master branch?

Sorry, something went wrong.

Uh oh!

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

All reactions
Comment thread kasa/smartcam/modules/alarm.py Resolved

Uh oh!

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

@sdb9696
Rename feature
5be4375
Base automatically changed from feat/improve_alarm to master January 26, 2025 13:13
sdb9696 added 3 commits January 26, 2025 13:13
@sdb9696
Merge remote-tracking branch 'upstream/feat/improve_alarm' into feat/…
d0216cf
…common_alarm
@sdb9696
Update docstrings
d5fbb7c
@sdb9696
Merge remote-tracking branch 'upstream/master' into feat/common_alarm
49300bf
@sdb9696
sdb9696 merged commit 656c887 into master Jan 26, 2025
@sdb9696
sdb9696 deleted the feat/common_alarm branch January 26, 2025 13:33
@sdb9696 sdb9696 mentioned this pull request Jan 26, 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)
@sdb9696 sdb9696 mentioned this pull request Jan 27, 2025
Add FeatureAttributes to smartcam Alarm #1489
Merged
rytilahti pushed a commit to rytilahti/python-kasa that referenced this pull request Aug 31, 2025
@sdb9696 @rytilahti
Add common alarm interface (python-kasa#1479)
53c3060
Add a common interface for the `alarm` module across `smart` and `smartcam` devices.
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 pushed a commit to rytilahti/python-kasa that referenced this pull request Oct 26, 2025
@sdb9696 @rytilahti
Add common alarm interface (python-kasa#1479)
8bb8a20
Add a common interface for the `alarm` module across `smart` and `smartcam` devices.
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 pushed a commit to rytilahti/python-kasa that referenced this pull request Nov 10, 2025
@sdb9696 @rytilahti
Add common alarm interface (python-kasa#1479)
c7e9ffe
Add a common interface for the `alarm` module across `smart` and `smartcam` devices.
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 pushed a commit to rytilahti/python-kasa that referenced this pull request Jul 5, 2026
@sdb9696 @rytilahti
Add common alarm interface (python-kasa#1479)
097ac39
Add a common interface for the `alarm` module across `smart` and `smartcam` devices.
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
@sdb9696
Add common alarm interface (python-kasa#1479)
f9d2b56
Add a common interface for the `alarm` module across `smart` and `smartcam` devices.
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

@rytilahti rytilahti rytilahti 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

0.10.0

Development

Successfully merging this pull request may close these issues.

Uh oh!

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

2 participants

@sdb9696 @rytilahti
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.