Skip to content

Releases: python-kasa/python-kasa

0.10.2

12 Feb 19:31
0.10.2
f488492
Compare
Choose a tag to compare

Full Changelog

Release summary:

  • Bugfix for #1499.
  • Support for L530B and C110 devices.

Fixed bugs:

  • H100 - Raised error: not enough values to unpack (expected 2, got 1) #1499
  • Do not crash on missing build number in fw version #1500 (@rytilahti)

Added support for devices:

Project maintenance:

0.10.1

02 Feb 14:04
0.10.1
cbab40a
Compare
Choose a tag to compare

Full Changelog

Release summary:

Small patch release for bugfixes

Implemented enhancements:

Fixed bugs:

  • Do not return empty string for custom light effect name #1491 (@sdb9696)
  • Add FeatureAttributes to smartcam Alarm #1489 (@sdb9696)

Project maintenance:

0.10.0

26 Jan 17:23
0.10.0
09e73fa
Compare
Choose a tag to compare

Full Changelog

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:

Implemented enhancements:

Fixed bugs:

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

Added support for devices:

Project maintenance:

0.9.1

06 Jan 14:32
0.9.1
40886ef
Compare
Choose a tag to compare

Full Changelog

Release summary:

  • Support for hub-attached wall switches S210 and S220
  • Support for older firmware on Tapo cameras
  • Bugfixes and improvements

Implemented enhancements:

Fixed bugs:

Added support for devices:

Documentation updates:

Project maintenance:

0.9.0

21 Dec 16:49
0.9.0
63f4f82
Compare
Choose a tag to compare

Full Changelog

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.
  • Experimental support for Kasa cameras1

Breaking changes:

Implemented enhancements:

Fixed bugs:

  • Tapo H200 Hub does not work with python-kasa #1149
  • Treat smartcam 500 errors after handshake as retryable #1395 (@sdb9696)
  • Fix lens mask required component and state #1386 (@sdb9696)
  • Add LensMask module to smartcam #1385 (@sdb9696)
  • Do not error when accessing smart device_type before update #1319 (@sdb9696)
  • Fallback to other module data on get_energy_usage errors #1245 (@rytilahti)

Added support for devices:

Documentation updates:

Project maintenance:

  1. Currently limited to devices not yet provisioned via the Tapo app - Many thanks to @Puxtril!

0.8.1

06 Dec 11:39
0.8.1
611cd66
Compare
Choose a tag to compare

This patch release fixes some issues with newly supported smartcam devices.

Full Changelog

Fixed bugs:

0.8.0

26 Nov 12:19
0.8.0
6adb2b5
Compare
Choose a tag to compare

Full Changelog

Release highlights:

  • Initial support for devices using the Tapo camera protocol, i.e. Tapo cameras and the Tapo H200 hub.
  • New camera functionality such as exposing RTSP streaming urls and camera pan/tilt.
  • New way of testing module support for individual features with has_feature and get_feature.
  • Adding voltage and current monitoring to smart devices.
  • Migration from pydantic to mashumaro for serialization.

Special thanks to @ryenitcher and @Puxtril for their new contributions to the improvement of the project! Also thanks to everyone who has helped with testing, contributing fixtures, and reporting issues!

Breaking change notes:

  • Removed support for python <3.11. If you haven't got a compatible version try uv.
  • Renamed device_config.to_dict() to device_config.to_dict_control_credentials(). to_dict() is still available but takes no parameters.
  • From the iot.Cloud module the iot.CloudInfo class attributes have been converted to snake case.

Breaking changes:

Implemented enhancements:

Fixed bugs:

  • TP-Link Tapo S505D cannot disable gradual on/off #1309
  • Inconsistent emeter information between features and emeter cli #1308
  • How to dump power usage after latest updates? #1306
  • kasa.discover: Got unsupported connection type: 'device_family': 'SMART.IPCAMERA' #1267
  • device __repr__ fails if no sys_info #1262
  • Tapo P110M: Error processing Energy for device, module will be unavailable: get_energy_usage for Energy #1243
  • Listing light presets throws error #1201
  • Include duration when disabling smooth transition on/off #1313 (@rytilahti)
  • Expose energy command to cli #1307 (@rytilahti)
  • Make discovery on unsupported devices less noisy #1291 (@rytilahti)
  • Fix repr for device created with no sysinfo or discovery info" #1266 (@sdb9696)
  • Fix discovery by alias for smart devices #1260 (@sdb9696)
  • Make __repr__ work on discovery info #1233 (@rytilahti)

Added support for devices:

Documentation updates:

  • Use markdown footnotes in supported.md #1310 (@sdb9696)
  • Update docs for the new module attributes has/get feature #1301 (@sdb9696)
  • Fixup contributing.md for running test against a real device #1236 (@sdb9696)

Project maintenance:

Read more

0.7.7

04 Nov 15:58
0.7.7
331baf6
Compare
Choose a tag to compare

Full Changelog

Release summary:

  • Bugfix for child device device creation error with credentials_hash
  • PIR support for iot dimmers and wall switches.
  • Various small enhancements and project improvements.

Implemented enhancements:

Fixed bugs:

Project maintenance:

0.7.6

29 Oct 18:07
0.7.6
530cf4b
Compare
Choose a tag to compare

Full Changelog

Release summary:

  • Experimental support for Tapo cameras and the Tapo H200 hub which uses the same protocol.
  • Better timestamp support across all devices.
  • Support for new devices P304M, S200D and S200B (see README.md for note on the S200 support).
  • Various other fixes and minor features.

Implemented enhancements:

  • Add support for setting the timezone #436
  • Add stream_rtsp_url to camera module #1197 (@sdb9696)
  • Try default logon credentials in SslAesTransport #1195 (@sdb9696)
  • Allow enabling experimental devices from environment variable #1194 (@sdb9696)
  • Add core device, child and camera modules to smartcamera #1193 (@sdb9696)
  • Fallback to get_current_power if get_energy_usage does not provide current_power #1186 (@Fulch36)
  • Add https parameter to device class factory #1184 (@sdb9696)
  • Add discovery list command to cli #1183 (@sdb9696)
  • Add Time module to SmartCamera devices #1182 (@sdb9696)
  • Add try_connect_all to allow initialisation without udp broadcast #1171 (@sdb9696)
  • Update dump_devinfo for smart camera protocol #1169 (@sdb9696)
  • Enable newer encrypted discovery protocol #1168 (@sdb9696)
  • Initial TapoCamera support #1165 (@sdb9696)
  • Add waterleak alert timestamp #1162 (@rytilahti)
  • Create common Time module and add time set cli command #1157 (@sdb9696)

Fixed bugs:

  • Only send 20002 discovery request with key included #1207 (@sdb9696)
  • Fix SslAesTransport default login and add tests #1202 (@sdb9696)
  • Fix device_config serialisation of https value #1196 (@sdb9696)

Added support for devices:

Project maintenance:

0.7.5

08 Oct 13:00
0.7.5
885a04d
Compare
Choose a tag to compare

Full Changelog

Release summary:

  • Fix for KP303 on Firmware 1.0.6
  • Fix for on_since value jitter
  • Various maintenance items

Breaking changes:

Fixed bugs:

  • Use tzinfo in time constructor instead of astime for iot devices #1158 (@sdb9696)
  • Send empty dictionary instead of null for iot queries #1145 (@sdb9696)
  • Stabilise on_since value for smart devices #1144 (@sdb9696)
  • parse_pcap_klap: require source host #1137 (@rytilahti)
  • parse_pcap_klap: use request_uri for matching the response #1136 (@rytilahti)

Project maintenance: