Steven B.
fa0f7157c6
Deprecate legacy light module is_capability checks ( #1297 )
...
Deprecate the `is_color`, `is_dimmable`, `is_variable_color_temp`, `valid_temperate_range`,
and `has_effects` attributes from the `Light` module, as 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.
2025-01-22 10:26:37 +00:00
Teemu R.
a03a4b1d63
Add consumables module for vacuums ( #1327 )
...
Co-authored-by: Steven B <51370195+sdb9696@users.noreply.github.com>
2025-01-20 12:50:39 +00:00
Teemu R.
05085462d3
Add support for cleaning records ( #945 )
...
Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>
2025-01-20 11:41:56 +00:00
Teemu R.
bca5576425
Add support for pairing devices with hubs ( #859 )
...
Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>
2025-01-20 10:36:06 +00:00
DawidPietrykowski
2d26f91981
Add C220(EU) 1.0 1.2.2 camera fixture ( #1466 )
2025-01-18 13:22:53 +00:00
DawidPietrykowski
fd6067e5a0
Add smartcam pet detection toggle module ( #1465 )
2025-01-18 12:58:26 +00:00
Teemu R.
980f6a38ca
Add childlock module for vacuums ( #1461 )
...
Add new configuration feature:
```
Child lock (child_lock): False
```
---------
Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>
2025-01-17 12:15:51 +00:00
Teemu R.
773801cad5
Add setting to change carpet clean mode ( #1458 )
...
Add new setting to control carpet clean mode:
```
== Configuration ==
Carpet clean mode (carpet_clean_mode): Normal *Boost*
```
2025-01-15 19:35:41 +00:00
Teemu R.
d27697c50f
Add ultra mode (fanspeed = 5) for vacuums ( #1459 )
2025-01-15 19:11:10 +00:00
Steven B.
b23019e748
Enable dynamic hub child creation and deletion on update ( #1454 )
2025-01-15 19:10:32 +00:00
Teemu R.
17356c10f1
Add mop module ( #1456 )
...
Adds the following new features: a setting to control water level and a sensor if the mop is attached:
```
Mop water level (mop_waterlevel): *Disable* Low Medium High
Mop attached (mop_attached): True
```
2025-01-15 19:12:33 +01:00
Teemu R.
bc97c0794a
Add setting to change clean count ( #1457 )
...
Adds a setting to change the number of times to clean:
```
== Configuration ==
Clean count (clean_count): 1 (range: 1-3)
```
2025-01-15 19:11:33 +01:00
Teemu R.
0f185f1905
Add commit-hook to prettify JSON files ( #1455 )
2025-01-15 16:06:52 +01:00
Teemu R.
2ab42f59b3
Fallback to is_low for batterysensor's battery_low ( #1420 )
...
Fallback to `is_low` if `at_low_battery` is not available.
2025-01-15 14:33:05 +01:00
Teemu R.
1355e85f8e
Expose current cleaning information ( #1453 )
...
Add new sensors to show the current cleaning state:
```
Cleaning area (clean_area): 0 0
Cleaning time (clean_time): 0:00:00
Cleaning progress (clean_progress): 100 %
```
2025-01-15 14:20:19 +01:00
Steven B.
4e7e18cef1
Add battery module to smartcam devices ( #1452 )
2025-01-14 21:57:35 +00:00
Teemu R.
2542516009
Add vacuum speaker controls ( #1332 )
...
Implements `speaker` and adds the following features:
* `volume` to control the speaker volume
* `locate` to play "I'm here sound"
2025-01-14 16:48:34 +00:00
Teemu R.
3c98efb015
Implement vacuum dustbin module (dust_bucket) ( #1423 )
...
Initial implementation for dustbin auto-emptying.
New features:
- `dustbin_empty` action to empty the dustbin immediately
- `dustbin_autocollection_enabled` to toggle the auto collection
- `dustbin_mode` to choose how often the auto collection is performed
2025-01-14 17:30:18 +01:00
Steven B.
68f50aa763
Allow update of camera modules after setting values ( #1450 )
2025-01-14 15:11:12 +00:00
Steven B.
d03f535568
Fix discover cli command with host ( #1437 )
2025-01-14 14:47:52 +00:00
Teemu R.
1be87674bf
Initial support for vacuums (clean module) ( #944 )
...
Adds support for clean module:
- Show current vacuum state
- Start cleaning (all rooms)
- Return to dock
- Pausing & unpausing
- Controlling the fan speed
---------
Co-authored-by: Steven B <51370195+sdb9696@users.noreply.github.com>
2025-01-14 15:35:09 +01:00
Steven B.
be34dbd387
Make uses_http a readonly property of device config ( #1449 )
...
`uses_http` will no longer be included in `DeviceConfig.to_dict()`
2025-01-14 14:20:53 +00:00
Steven B.
57f6c4138a
Add D230(EU) 1.20 1.1.19 fixture ( #1448 )
2025-01-14 08:46:29 +00:00
Steven B.
589d15091a
Add smartcam child device support for smartcam hubs ( #1413 )
2025-01-14 08:38:04 +00:00
Steven B.
a211cc0af5
Update hub children on first update and delay subsequent updates ( #1438 )
2025-01-13 17:19:40 +00:00
Teemu R.
333a36bf42
Add required sphinx.configuration ( #1446 )
2025-01-13 15:55:52 +00:00
Teemu R.
6420d76351
ssltransport: use debug logger for sending requests ( #1443 )
2025-01-12 17:06:48 +01:00
Steven B.
660b9f81de
Add more redactors for smartcams ( #1439 )
...
`alias` and `ext_addr` are new fields found on `smartcam` child devices
2025-01-10 18:34:11 +00:00
Steven B.
2e3b1bc376
Add tests for dump_devinfo parent/child smartcam fixture generation ( #1428 )
...
Currently the dump_devinfo fixture generation tests do not test
generation for hub and their children.
This PR enables tests for `smartcam` hubs and their child fixtures. It
does not enable support for `smart` hub fixtures as not all the fixtures
currently have the required info. This can be addressed in a subsequent
PR.
2025-01-08 22:51:35 +01:00
steveredden
debcff9f9b
Add fixture for C720 camera ( #1433 )
2025-01-08 22:22:26 +01:00
ZeliardM
3c038fc13b
Add KS230(US) 2.0 1.0.11 IOT Fixture ( #1430 )
2025-01-07 15:40:37 +00:00
Steven B.
7b3dde9aa0
Raise errors on single smartcam child requests ( #1427 )
2025-01-06 16:11:43 +00:00
Steven B.
40886ef24d
Prepare 0.9.1 ( #1426 )
...
## [0.9.1](https://github.com/python-kasa/python-kasa/tree/0.9.1 ) (2025-01-06)
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.9.0...0.9.1 )
**Release summary:**
- Support for hub-attached wall switches S210 and S220
- Support for older firmware on Tapo cameras
- Bugfixes and improvements
**Implemented enhancements:**
- Add support for Tapo hub-attached switch devices [\#1421](https://github.com/python-kasa/python-kasa/pull/1421 ) (@sdb9696)
- Use repr\(\) for enum values in Feature.\_\_repr\_\_ [\#1414](https://github.com/python-kasa/python-kasa/pull/1414 ) (@rytilahti)
- Update SslAesTransport for older firmware versions [\#1362](https://github.com/python-kasa/python-kasa/pull/1362 ) (@sdb9696)
**Fixed bugs:**
- T310 not detected with H200 Hub [\#1409](https://github.com/python-kasa/python-kasa/issues/1409 )
- Backoff after xor timeout and improve error reporting [\#1424](https://github.com/python-kasa/python-kasa/pull/1424 ) (@bdraco)
- Fix incorrect obd src echo [\#1412](https://github.com/python-kasa/python-kasa/pull/1412 ) (@rytilahti)
- Handle smartcam partial list responses [\#1411](https://github.com/python-kasa/python-kasa/pull/1411 ) (@sdb9696)
**Added support for devices:**
- Add S220 fixture [\#1419](https://github.com/python-kasa/python-kasa/pull/1419 ) (@rytilahti)
- Add S210 fixture [\#1418](https://github.com/python-kasa/python-kasa/pull/1418 ) (@rytilahti)
**Documentation updates:**
- Improve exception messages on credential mismatches [\#1417](https://github.com/python-kasa/python-kasa/pull/1417 ) (@rytilahti)
**Project maintenance:**
- Add C210 2.0 1.3.11 fixture [\#1406](https://github.com/python-kasa/python-kasa/pull/1406 ) (@sdb9696)
- Add HS210\(US\) 3.0 1.0.10 IOT Fixture [\#1405](https://github.com/python-kasa/python-kasa/pull/1405 ) (@ZeliardM)
- Change smartcam detection features to category config [\#1402](https://github.com/python-kasa/python-kasa/pull/1402 ) (@sdb9696)
0.9.1
2025-01-06 14:24:54 +00:00
J. Nick Koston
7d508b5092
Backoff after xor timeout and improve error reporting ( #1424 )
2025-01-06 14:00:23 +00:00
Teemu R.
48a07a2970
Use repr() for enum values in Feature.__repr__ ( #1414 )
...
Instead of simply displaying the enum value, use repr to get a nicer
output for the cli.
Was: `Error (vacuum_error): 14`
Now: `Error (vacuum_error): <ErrorCode.DustBinRemoved: 14>`
2025-01-06 13:23:02 +01:00
Steven B.
6aa019280b
Handle smartcam partial list responses ( #1411 )
2025-01-06 09:23:46 +00:00
Teemu R.
1f45f425a0
Add S210 fixture ( #1418 )
2025-01-04 19:09:58 +00:00
Teemu R.
08639a3a7b
Add S220 fixture ( #1419 )
...
Add S220 (hub-connected) fixture, thanks to @chrisnewmanuk.
Drafted as requires adding `subg.plugswitch.switch` as a supported child
device category.
ref
https://github.com/home-assistant/core/issues/133973#issuecomment-2569967648
2025-01-04 19:47:12 +01:00
Steven B.
6e0be2ea1f
Add support for Tapo hub-attached switch devices ( #1421 )
...
Required for #1419 and #1418
2025-01-04 14:20:06 +01:00
Teemu R.
e097b45984
Improve exception messages on credential mismatches ( #1417 )
2025-01-04 10:06:26 +00:00
Steven B.
0a95a41ab6
Update SslAesTransport for older firmware versions ( #1362 )
...
Older firmware versions do not encrypt the payload.
Tested to work with C110 hw 2.0 fw 1.3.7 Build 230823 Rel.57279n(5553)
---------
Co-authored-by: Teemu R. <tpr@iki.fi>
2025-01-03 21:00:57 +01:00
Teemu R.
883d52209e
Fix incorrect obd src echo ( #1412 )
2025-01-03 18:07:46 +00:00
Steven B.
361697a239
Change smartcam detection features to category config ( #1402 )
2025-01-03 07:08:23 +00:00
Steven B.
5d49623d5d
Add C210 2.0 1.3.11 fixture ( #1406 )
2025-01-03 06:55:55 +00:00
ZeliardM
d0aba68e7a
Add HS210(US) 3.0 1.0.10 IOT Fixture ( #1405 )
2024-12-24 15:56:14 +00:00
Steven B.
63f4f82791
Prepare 0.9.0 ( #1401 )
...
## [0.9.0](https://github.com/python-kasa/python-kasa/tree/0.9.0 ) (2024-12-21)
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.8.1...0.9.0 )
**Release highlights:**
- Improvements to Tapo camera support:
- C100, C225, C325WB, C520WS and TC70 now supported.
- Support for motion, person, tamper, and baby cry detection.
- Initial support for Tapo robovacs.
- API extended with `FeatureAttributes` for consumers to test for [supported features](https://python-kasa.readthedocs.io/en/stable/topics.html#modules-and-features ).
- Experimental support for Kasa cameras[^1]
[^1]: Currently limited to devices not yet provisioned via the Tapo app - Many thanks to @puxtril!
**Breaking changes:**
- Use DeviceInfo consistently across devices [\#1338](https://github.com/python-kasa/python-kasa/pull/1338 ) (@sdb9696)
**Implemented enhancements:**
- Add rssi and signal\_level to smartcam [\#1392](https://github.com/python-kasa/python-kasa/pull/1392 ) (@sdb9696)
- Add smartcam detection modules [\#1389](https://github.com/python-kasa/python-kasa/pull/1389 ) (@sdb9696)
- Add bare-bones matter modules to smart and smartcam devices [\#1371](https://github.com/python-kasa/python-kasa/pull/1371 ) (@sdb9696)
- Add bare bones homekit modules smart and smartcam devices [\#1370](https://github.com/python-kasa/python-kasa/pull/1370 ) (@sdb9696)
- Return raw discovery result in cli discover raw [\#1342](https://github.com/python-kasa/python-kasa/pull/1342 ) (@sdb9696)
- cli: print model, https, and lv for discover list [\#1339](https://github.com/python-kasa/python-kasa/pull/1339 ) (@rytilahti)
- Improve overheat reporting [\#1335](https://github.com/python-kasa/python-kasa/pull/1335 ) (@rytilahti)
- Provide alternative camera urls [\#1316](https://github.com/python-kasa/python-kasa/pull/1316 ) (@sdb9696)
- Add LinkieTransportV2 and basic IOT.IPCAMERA support [\#1270](https://github.com/python-kasa/python-kasa/pull/1270 ) (@Puxtril)
- Add ssltransport for robovacs [\#943](https://github.com/python-kasa/python-kasa/pull/943 ) (@rytilahti)
**Fixed bugs:**
- Tapo H200 Hub does not work with python-kasa [\#1149](https://github.com/python-kasa/python-kasa/issues/1149 )
- Treat smartcam 500 errors after handshake as retryable [\#1395](https://github.com/python-kasa/python-kasa/pull/1395 ) (@sdb9696)
- Fix lens mask required component and state [\#1386](https://github.com/python-kasa/python-kasa/pull/1386 ) (@sdb9696)
- Add LensMask module to smartcam [\#1385](https://github.com/python-kasa/python-kasa/pull/1385 ) (@sdb9696)
- Do not error when accessing smart device\_type before update [\#1319](https://github.com/python-kasa/python-kasa/pull/1319 ) (@sdb9696)
- Fallback to other module data on get\_energy\_usage errors [\#1245](https://github.com/python-kasa/python-kasa/pull/1245 ) (@rytilahti)
**Added support for devices:**
- Add P210M\(US\) 1.0 1.0.3 fixture [\#1399](https://github.com/python-kasa/python-kasa/pull/1399 ) (@sdb9696)
- Add C225\(US\) 2.0 1.0.11 fixture [\#1398](https://github.com/python-kasa/python-kasa/pull/1398 ) (@sdb9696)
- Add P306\(US\) 1.0 1.1.2 fixture [\#1396](https://github.com/python-kasa/python-kasa/pull/1396 ) (@nakanaela)
- Add TC70 3.0 1.3.11 fixture [\#1390](https://github.com/python-kasa/python-kasa/pull/1390 ) (@sdb9696)
- Add C325WB\(EU\) 1.0 1.1.17 Fixture [\#1379](https://github.com/python-kasa/python-kasa/pull/1379 ) (@sdb9696)
- Add C100 4.0 1.3.14 Fixture [\#1378](https://github.com/python-kasa/python-kasa/pull/1378 ) (@sdb9696)
- Add KS200 \(US\) IOT Fixture and P115 \(US\) Smart Fixture [\#1355](https://github.com/python-kasa/python-kasa/pull/1355 ) (@ZeliardM)
- Add C520WS camera fixture [\#1352](https://github.com/python-kasa/python-kasa/pull/1352 ) (@Happy-Cadaver)
**Documentation updates:**
- Update docs for Tapo Lab Third-Party compatibility [\#1380](https://github.com/python-kasa/python-kasa/pull/1380 ) (@sdb9696)
- Add homebridge-kasa-python link to README [\#1367](https://github.com/python-kasa/python-kasa/pull/1367 ) (@rytilahti)
- Update docs for new FeatureAttribute behaviour [\#1365](https://github.com/python-kasa/python-kasa/pull/1365 ) (@sdb9696)
- Add link to related homeassistant-tapo-control [\#1333](https://github.com/python-kasa/python-kasa/pull/1333 ) (@rytilahti)
**Project maintenance:**
- Add P135 1.0 1.2.0 fixture [\#1397](https://github.com/python-kasa/python-kasa/pull/1397 ) (@sdb9696)
- Handle smartcam device blocked response [\#1393](https://github.com/python-kasa/python-kasa/pull/1393 ) (@sdb9696)
- Handle KeyboardInterrupts in the cli better [\#1391](https://github.com/python-kasa/python-kasa/pull/1391 ) (@sdb9696)
- Update C520WS fixture with new methods [\#1384](https://github.com/python-kasa/python-kasa/pull/1384 ) (@sdb9696)
- Miscellaneous minor fixes to dump\_devinfo [\#1382](https://github.com/python-kasa/python-kasa/pull/1382 ) (@sdb9696)
- Add timeout parameter to dump\_devinfo [\#1381](https://github.com/python-kasa/python-kasa/pull/1381 ) (@sdb9696)
- Simplify get\_protocol to prevent clashes with smartcam and robovac [\#1377](https://github.com/python-kasa/python-kasa/pull/1377 ) (@sdb9696)
- Add smartcam modules to package inits [\#1376](https://github.com/python-kasa/python-kasa/pull/1376 ) (@sdb9696)
- Enable saving of fixture files without git clone [\#1375](https://github.com/python-kasa/python-kasa/pull/1375 ) (@sdb9696)
- Force single for some smartcam requests [\#1374](https://github.com/python-kasa/python-kasa/pull/1374 ) (@sdb9696)
- Add new methods to dump\_devinfo [\#1373](https://github.com/python-kasa/python-kasa/pull/1373 ) (@sdb9696)
- Update cli, light modules, and docs to use FeatureAttributes [\#1364](https://github.com/python-kasa/python-kasa/pull/1364 ) (@sdb9696)
- Pass raw components to SmartChildDevice init [\#1363](https://github.com/python-kasa/python-kasa/pull/1363 ) (@sdb9696)
- Fix line endings in device\_fixtures.py [\#1361](https://github.com/python-kasa/python-kasa/pull/1361 ) (@sdb9696)
- Update dump\_devinfo for raw discovery json and common redactors [\#1358](https://github.com/python-kasa/python-kasa/pull/1358 ) (@sdb9696)
- Tweak RELEASING.md instructions for patch releases [\#1347](https://github.com/python-kasa/python-kasa/pull/1347 ) (@sdb9696)
- Scrub more vacuum keys [\#1328](https://github.com/python-kasa/python-kasa/pull/1328 ) (@rytilahti)
- Remove unnecessary check for python \<3.10 [\#1326](https://github.com/python-kasa/python-kasa/pull/1326 ) (@rytilahti)
- Add vacuum component queries to dump\_devinfo [\#1320](https://github.com/python-kasa/python-kasa/pull/1320 ) (@rytilahti)
- Handle missing mgt\_encryption\_schm in discovery [\#1318](https://github.com/python-kasa/python-kasa/pull/1318 ) (@sdb9696)
- Follow main package structure for tests [\#1317](https://github.com/python-kasa/python-kasa/pull/1317 ) (@rytilahti)
0.9.0
2024-12-21 16:47:46 +00:00
Bipolar Chemist
9b1be1c0b2
Add P306(US) 1.0 1.1.2 fixture ( #1396 )
2024-12-21 09:36:57 +00:00
Steven B.
d81cf1b3b6
Add P210M(US) 1.0 1.0.3 fixture ( #1399 )
2024-12-21 09:20:12 +00:00
Steven B.
cef0e571a0
Add C225(US) 2.0 1.0.11 fixture ( #1398 )
2024-12-21 09:17:50 +00:00
Steven B.
522c78350e
Add P135 1.0 1.2.0 fixture ( #1397 )
2024-12-21 09:17:00 +00:00