GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — Add ssltransport for robovacs by rytilahti · Pull Request #943 · python-kasa/python-kasa Conversation
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@ ## master #943 +/- ## ========================================== + Coverage 92.13% 92.20% +0.06% ========================================== Files 119 120 +1 Lines 7619 7744 +125 Branches 794 805 +11 ========================================== + Hits 7020 7140 +120 - Misses 441 444 +3 - Partials 158 160 +2 ☔ View full report in Codecov by Sentry. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Needs investigated if the protocol is the same (or very similar) to one proposed in #1165. If yes, this can probably be closed in favor of that PR. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
ae07538 to
69369f7
Compare
There was an error while loading. Please reload this page.
69369f7 to
8886600
Compare
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Some minor nits.
Also need to add:
"SMART.TAPOROBOVAC": SmartDevice, to device_factory.get_device_class_from_family
and
SmartRobovac= "SMART.TAPOROBOVAC" to DeviceFamily
and update SmartDevice._get_device_type_from_components to return DeviceType.RoboVac appropriately.
Is it worth adding the new get methods from #937 to dump_devinfo as extra_calls or better still to helpers.smartrequests.py under new clean and map components?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
This should be now ready for review, #1322 needs to be merged first and this then rebased on top of the master prior merging. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| def _session_expired(self) -> bool: | ||
| """Return true if session has expired.""" | ||
| return ( | ||
| self._session_expire_at is None | ||
| or self._session_expire_at - time.time() <= 0 | ||
| ) |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
It's unclear if the tokens ever expire, so we can either keep this as-is, or remove the complete session expired handling (and hope that the device reports with an error to retrigger login).
Opinions on that? Not having _session_expired() would clean up the code a bit.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| except Exception as ex: | ||
| raise KasaException( |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I'm having second thoughts on whether we should be wrapping unexpected exceptions like this, as letting it blow would be a clearer indication that something is off.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
So in HA we catch KasaException in order to ensure we always conform with the quality requirement to only raise HomeAssistantError. (It might not be a requirement anymore with the latest quality scale but haven’t checked)
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I think we can simplify get_protocol in a subsequent PR.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
## [0.9.0](https://github.com/python-kasa/python-kasa/tree/0.9.0) (2024-12-21) [Full Changelog](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](#1338) (@sdb9696) **Implemented enhancements:** - Add rssi and signal\_level to smartcam [\#1392](#1392) (@sdb9696) - Add smartcam detection modules [\#1389](#1389) (@sdb9696) - Add bare-bones matter modules to smart and smartcam devices [\#1371](#1371) (@sdb9696) - Add bare bones homekit modules smart and smartcam devices [\#1370](#1370) (@sdb9696) - Return raw discovery result in cli discover raw [\#1342](#1342) (@sdb9696) - cli: print model, https, and lv for discover list [\#1339](#1339) (@rytilahti) - Improve overheat reporting [\#1335](#1335) (@rytilahti) - Provide alternative camera urls [\#1316](#1316) (@sdb9696) - Add LinkieTransportV2 and basic IOT.IPCAMERA support [\#1270](#1270) (@Puxtril) - Add ssltransport for robovacs [\#943](#943) (@rytilahti) **Fixed bugs:** - Tapo H200 Hub does not work with python-kasa [\#1149](#1149) - Treat smartcam 500 errors after handshake as retryable [\#1395](#1395) (@sdb9696) - Fix lens mask required component and state [\#1386](#1386) (@sdb9696) - Add LensMask module to smartcam [\#1385](#1385) (@sdb9696) - Do not error when accessing smart device\_type before update [\#1319](#1319) (@sdb9696) - Fallback to other module data on get\_energy\_usage errors [\#1245](#1245) (@rytilahti) **Added support for devices:** - Add P210M\(US\) 1.0 1.0.3 fixture [\#1399](#1399) (@sdb9696) - Add C225\(US\) 2.0 1.0.11 fixture [\#1398](#1398) (@sdb9696) - Add P306\(US\) 1.0 1.1.2 fixture [\#1396](#1396) (@nakanaela) - Add TC70 3.0 1.3.11 fixture [\#1390](#1390) (@sdb9696) - Add C325WB\(EU\) 1.0 1.1.17 Fixture [\#1379](#1379) (@sdb9696) - Add C100 4.0 1.3.14 Fixture [\#1378](#1378) (@sdb9696) - Add KS200 \(US\) IOT Fixture and P115 \(US\) Smart Fixture [\#1355](#1355) (@ZeliardM) - Add C520WS camera fixture [\#1352](#1352) (@Happy-Cadaver) **Documentation updates:** - Update docs for Tapo Lab Third-Party compatibility [\#1380](#1380) (@sdb9696) - Add homebridge-kasa-python link to README [\#1367](#1367) (@rytilahti) - Update docs for new FeatureAttribute behaviour [\#1365](#1365) (@sdb9696) - Add link to related homeassistant-tapo-control [\#1333](#1333) (@rytilahti) **Project maintenance:** - Add P135 1.0 1.2.0 fixture [\#1397](#1397) (@sdb9696) - Handle smartcam device blocked response [\#1393](#1393) (@sdb9696) - Handle KeyboardInterrupts in the cli better [\#1391](#1391) (@sdb9696) - Update C520WS fixture with new methods [\#1384](#1384) (@sdb9696) - Miscellaneous minor fixes to dump\_devinfo [\#1382](#1382) (@sdb9696) - Add timeout parameter to dump\_devinfo [\#1381](#1381) (@sdb9696) - Simplify get\_protocol to prevent clashes with smartcam and robovac [\#1377](#1377) (@sdb9696) - Add smartcam modules to package inits [\#1376](#1376) (@sdb9696) - Enable saving of fixture files without git clone [\#1375](#1375) (@sdb9696) - Force single for some smartcam requests [\#1374](#1374) (@sdb9696) - Add new methods to dump\_devinfo [\#1373](#1373) (@sdb9696) - Update cli, light modules, and docs to use FeatureAttributes [\#1364](#1364) (@sdb9696) - Pass raw components to SmartChildDevice init [\#1363](#1363) (@sdb9696) - Fix line endings in device\_fixtures.py [\#1361](#1361) (@sdb9696) - Update dump\_devinfo for raw discovery json and common redactors [\#1358](#1358) (@sdb9696) - Tweak RELEASING.md instructions for patch releases [\#1347](#1347) (@sdb9696) - Scrub more vacuum keys [\#1328](#1328) (@rytilahti) - Remove unnecessary check for python \<3.10 [\#1326](#1326) (@rytilahti) - Add vacuum component queries to dump\_devinfo [\#1320](#1320) (@rytilahti) - Handle missing mgt\_encryption\_schm in discovery [\#1318](#1318) (@sdb9696) - Follow main package structure for tests [\#1317](#1317) (@rytilahti)
This PR implements a clear-text, token-based transport protocol seen on RV30 Plus (python-kasa#937). - Client sends `{"username": "[email protected]", "password": md5(password)}` and gets back a token in the response - Rest of the communications are done with POST at `/app?token=<token>` --------- Co-authored-by: Steven B. <[email protected]>
## [0.9.0](https://github.com/python-kasa/python-kasa/tree/0.9.0) (2024-12-21) [Full Changelog](python-kasa/python-kasa@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 [\python-kasa#1338](python-kasa#1338) (@sdb9696) **Implemented enhancements:** - Add rssi and signal\_level to smartcam [\python-kasa#1392](python-kasa#1392) (@sdb9696) - Add smartcam detection modules [\python-kasa#1389](python-kasa#1389) (@sdb9696) - Add bare-bones matter modules to smart and smartcam devices [\python-kasa#1371](python-kasa#1371) (@sdb9696) - Add bare bones homekit modules smart and smartcam devices [\python-kasa#1370](python-kasa#1370) (@sdb9696) - Return raw discovery result in cli discover raw [\python-kasa#1342](python-kasa#1342) (@sdb9696) - cli: print model, https, and lv for discover list [\python-kasa#1339](python-kasa#1339) (@rytilahti) - Improve overheat reporting [\python-kasa#1335](python-kasa#1335) (@rytilahti) - Provide alternative camera urls [\python-kasa#1316](python-kasa#1316) (@sdb9696) - Add LinkieTransportV2 and basic IOT.IPCAMERA support [\python-kasa#1270](python-kasa#1270) (@Puxtril) - Add ssltransport for robovacs [\python-kasa#943](python-kasa#943) (@rytilahti) **Fixed bugs:** - Tapo H200 Hub does not work with python-kasa [\python-kasa#1149](python-kasa#1149) - Treat smartcam 500 errors after handshake as retryable [\python-kasa#1395](python-kasa#1395) (@sdb9696) - Fix lens mask required component and state [\python-kasa#1386](python-kasa#1386) (@sdb9696) - Add LensMask module to smartcam [\python-kasa#1385](python-kasa#1385) (@sdb9696) - Do not error when accessing smart device\_type before update [\python-kasa#1319](python-kasa#1319) (@sdb9696) - Fallback to other module data on get\_energy\_usage errors [\python-kasa#1245](python-kasa#1245) (@rytilahti) **Added support for devices:** - Add P210M\(US\) 1.0 1.0.3 fixture [\python-kasa#1399](python-kasa#1399) (@sdb9696) - Add C225\(US\) 2.0 1.0.11 fixture [\python-kasa#1398](python-kasa#1398) (@sdb9696) - Add P306\(US\) 1.0 1.1.2 fixture [\python-kasa#1396](python-kasa#1396) (@nakanaela) - Add TC70 3.0 1.3.11 fixture [\python-kasa#1390](python-kasa#1390) (@sdb9696) - Add C325WB\(EU\) 1.0 1.1.17 Fixture [\python-kasa#1379](python-kasa#1379) (@sdb9696) - Add C100 4.0 1.3.14 Fixture [\python-kasa#1378](python-kasa#1378) (@sdb9696) - Add KS200 \(US\) IOT Fixture and P115 \(US\) Smart Fixture [\python-kasa#1355](python-kasa#1355) (@ZeliardM) - Add C520WS camera fixture [\python-kasa#1352](python-kasa#1352) (@Happy-Cadaver) **Documentation updates:** - Update docs for Tapo Lab Third-Party compatibility [\python-kasa#1380](python-kasa#1380) (@sdb9696) - Add homebridge-kasa-python link to README [\python-kasa#1367](python-kasa#1367) (@rytilahti) - Update docs for new FeatureAttribute behaviour [\python-kasa#1365](python-kasa#1365) (@sdb9696) - Add link to related homeassistant-tapo-control [\python-kasa#1333](python-kasa#1333) (@rytilahti) **Project maintenance:** - Add P135 1.0 1.2.0 fixture [\python-kasa#1397](python-kasa#1397) (@sdb9696) - Handle smartcam device blocked response [\python-kasa#1393](python-kasa#1393) (@sdb9696) - Handle KeyboardInterrupts in the cli better [\python-kasa#1391](python-kasa#1391) (@sdb9696) - Update C520WS fixture with new methods [\python-kasa#1384](python-kasa#1384) (@sdb9696) - Miscellaneous minor fixes to dump\_devinfo [\python-kasa#1382](python-kasa#1382) (@sdb9696) - Add timeout parameter to dump\_devinfo [\python-kasa#1381](python-kasa#1381) (@sdb9696) - Simplify get\_protocol to prevent clashes with smartcam and robovac [\python-kasa#1377](python-kasa#1377) (@sdb9696) - Add smartcam modules to package inits [\python-kasa#1376](python-kasa#1376) (@sdb9696) - Enable saving of fixture files without git clone [\python-kasa#1375](python-kasa#1375) (@sdb9696) - Force single for some smartcam requests [\python-kasa#1374](python-kasa#1374) (@sdb9696) - Add new methods to dump\_devinfo [\python-kasa#1373](python-kasa#1373) (@sdb9696) - Update cli, light modules, and docs to use FeatureAttributes [\python-kasa#1364](python-kasa#1364) (@sdb9696) - Pass raw components to SmartChildDevice init [\python-kasa#1363](python-kasa#1363) (@sdb9696) - Fix line endings in device\_fixtures.py [\python-kasa#1361](python-kasa#1361) (@sdb9696) - Update dump\_devinfo for raw discovery json and common redactors [\python-kasa#1358](python-kasa#1358) (@sdb9696) - Tweak RELEASING.md instructions for patch releases [\python-kasa#1347](python-kasa#1347) (@sdb9696) - Scrub more vacuum keys [\python-kasa#1328](python-kasa#1328) (@rytilahti) - Remove unnecessary check for python \<3.10 [\python-kasa#1326](python-kasa#1326) (@rytilahti) - Add vacuum component queries to dump\_devinfo [\python-kasa#1320](python-kasa#1320) (@rytilahti) - Handle missing mgt\_encryption\_schm in discovery [\python-kasa#1318](python-kasa#1318) (@sdb9696) - Follow main package structure for tests [\python-kasa#1317](python-kasa#1317) (@rytilahti)
This PR implements a clear-text, token-based transport protocol seen on RV30 Plus (python-kasa#937). - Client sends `{"username": "[email protected]", "password": md5(password)}` and gets back a token in the response - Rest of the communications are done with POST at `/app?token=<token>` --------- Co-authored-by: Steven B. <[email protected]>
## [0.9.0](https://github.com/python-kasa/python-kasa/tree/0.9.0) (2024-12-21) [Full Changelog](python-kasa/python-kasa@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 [\python-kasa#1338](python-kasa#1338) (@sdb9696) **Implemented enhancements:** - Add rssi and signal\_level to smartcam [\python-kasa#1392](python-kasa#1392) (@sdb9696) - Add smartcam detection modules [\python-kasa#1389](python-kasa#1389) (@sdb9696) - Add bare-bones matter modules to smart and smartcam devices [\python-kasa#1371](python-kasa#1371) (@sdb9696) - Add bare bones homekit modules smart and smartcam devices [\python-kasa#1370](python-kasa#1370) (@sdb9696) - Return raw discovery result in cli discover raw [\python-kasa#1342](python-kasa#1342) (@sdb9696) - cli: print model, https, and lv for discover list [\python-kasa#1339](python-kasa#1339) (@rytilahti) - Improve overheat reporting [\python-kasa#1335](python-kasa#1335) (@rytilahti) - Provide alternative camera urls [\python-kasa#1316](python-kasa#1316) (@sdb9696) - Add LinkieTransportV2 and basic IOT.IPCAMERA support [\python-kasa#1270](python-kasa#1270) (@Puxtril) - Add ssltransport for robovacs [\python-kasa#943](python-kasa#943) (@rytilahti) **Fixed bugs:** - Tapo H200 Hub does not work with python-kasa [\python-kasa#1149](python-kasa#1149) - Treat smartcam 500 errors after handshake as retryable [\python-kasa#1395](python-kasa#1395) (@sdb9696) - Fix lens mask required component and state [\python-kasa#1386](python-kasa#1386) (@sdb9696) - Add LensMask module to smartcam [\python-kasa#1385](python-kasa#1385) (@sdb9696) - Do not error when accessing smart device\_type before update [\python-kasa#1319](python-kasa#1319) (@sdb9696) - Fallback to other module data on get\_energy\_usage errors [\python-kasa#1245](python-kasa#1245) (@rytilahti) **Added support for devices:** - Add P210M\(US\) 1.0 1.0.3 fixture [\python-kasa#1399](python-kasa#1399) (@sdb9696) - Add C225\(US\) 2.0 1.0.11 fixture [\python-kasa#1398](python-kasa#1398) (@sdb9696) - Add P306\(US\) 1.0 1.1.2 fixture [\python-kasa#1396](python-kasa#1396) (@nakanaela) - Add TC70 3.0 1.3.11 fixture [\python-kasa#1390](python-kasa#1390) (@sdb9696) - Add C325WB\(EU\) 1.0 1.1.17 Fixture [\python-kasa#1379](python-kasa#1379) (@sdb9696) - Add C100 4.0 1.3.14 Fixture [\python-kasa#1378](python-kasa#1378) (@sdb9696) - Add KS200 \(US\) IOT Fixture and P115 \(US\) Smart Fixture [\python-kasa#1355](python-kasa#1355) (@ZeliardM) - Add C520WS camera fixture [\python-kasa#1352](python-kasa#1352) (@Happy-Cadaver) **Documentation updates:** - Update docs for Tapo Lab Third-Party compatibility [\python-kasa#1380](python-kasa#1380) (@sdb9696) - Add homebridge-kasa-python link to README [\python-kasa#1367](python-kasa#1367) (@rytilahti) - Update docs for new FeatureAttribute behaviour [\python-kasa#1365](python-kasa#1365) (@sdb9696) - Add link to related homeassistant-tapo-control [\python-kasa#1333](python-kasa#1333) (@rytilahti) **Project maintenance:** - Add P135 1.0 1.2.0 fixture [\python-kasa#1397](python-kasa#1397) (@sdb9696) - Handle smartcam device blocked response [\python-kasa#1393](python-kasa#1393) (@sdb9696) - Handle KeyboardInterrupts in the cli better [\python-kasa#1391](python-kasa#1391) (@sdb9696) - Update C520WS fixture with new methods [\python-kasa#1384](python-kasa#1384) (@sdb9696) - Miscellaneous minor fixes to dump\_devinfo [\python-kasa#1382](python-kasa#1382) (@sdb9696) - Add timeout parameter to dump\_devinfo [\python-kasa#1381](python-kasa#1381) (@sdb9696) - Simplify get\_protocol to prevent clashes with smartcam and robovac [\python-kasa#1377](python-kasa#1377) (@sdb9696) - Add smartcam modules to package inits [\python-kasa#1376](python-kasa#1376) (@sdb9696) - Enable saving of fixture files without git clone [\python-kasa#1375](python-kasa#1375) (@sdb9696) - Force single for some smartcam requests [\python-kasa#1374](python-kasa#1374) (@sdb9696) - Add new methods to dump\_devinfo [\python-kasa#1373](python-kasa#1373) (@sdb9696) - Update cli, light modules, and docs to use FeatureAttributes [\python-kasa#1364](python-kasa#1364) (@sdb9696) - Pass raw components to SmartChildDevice init [\python-kasa#1363](python-kasa#1363) (@sdb9696) - Fix line endings in device\_fixtures.py [\python-kasa#1361](python-kasa#1361) (@sdb9696) - Update dump\_devinfo for raw discovery json and common redactors [\python-kasa#1358](python-kasa#1358) (@sdb9696) - Tweak RELEASING.md instructions for patch releases [\python-kasa#1347](python-kasa#1347) (@sdb9696) - Scrub more vacuum keys [\python-kasa#1328](python-kasa#1328) (@rytilahti) - Remove unnecessary check for python \<3.10 [\python-kasa#1326](python-kasa#1326) (@rytilahti) - Add vacuum component queries to dump\_devinfo [\python-kasa#1320](python-kasa#1320) (@rytilahti) - Handle missing mgt\_encryption\_schm in discovery [\python-kasa#1318](python-kasa#1318) (@sdb9696) - Follow main package structure for tests [\python-kasa#1317](python-kasa#1317) (@rytilahti)
This PR implements a clear-text, token-based transport protocol seen on RV30 Plus (python-kasa#937). - Client sends `{"username": "[email protected]", "password": md5(password)}` and gets back a token in the response - Rest of the communications are done with POST at `/app?token=<token>` --------- Co-authored-by: Steven B. <[email protected]>
## [0.9.0](https://github.com/python-kasa/python-kasa/tree/0.9.0) (2024-12-21) [Full Changelog](python-kasa/python-kasa@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 [\python-kasa#1338](python-kasa#1338) (@sdb9696) **Implemented enhancements:** - Add rssi and signal\_level to smartcam [\python-kasa#1392](python-kasa#1392) (@sdb9696) - Add smartcam detection modules [\python-kasa#1389](python-kasa#1389) (@sdb9696) - Add bare-bones matter modules to smart and smartcam devices [\python-kasa#1371](python-kasa#1371) (@sdb9696) - Add bare bones homekit modules smart and smartcam devices [\python-kasa#1370](python-kasa#1370) (@sdb9696) - Return raw discovery result in cli discover raw [\python-kasa#1342](python-kasa#1342) (@sdb9696) - cli: print model, https, and lv for discover list [\python-kasa#1339](python-kasa#1339) (@rytilahti) - Improve overheat reporting [\python-kasa#1335](python-kasa#1335) (@rytilahti) - Provide alternative camera urls [\python-kasa#1316](python-kasa#1316) (@sdb9696) - Add LinkieTransportV2 and basic IOT.IPCAMERA support [\python-kasa#1270](python-kasa#1270) (@Puxtril) - Add ssltransport for robovacs [\python-kasa#943](python-kasa#943) (@rytilahti) **Fixed bugs:** - Tapo H200 Hub does not work with python-kasa [\python-kasa#1149](python-kasa#1149) - Treat smartcam 500 errors after handshake as retryable [\python-kasa#1395](python-kasa#1395) (@sdb9696) - Fix lens mask required component and state [\python-kasa#1386](python-kasa#1386) (@sdb9696) - Add LensMask module to smartcam [\python-kasa#1385](python-kasa#1385) (@sdb9696) - Do not error when accessing smart device\_type before update [\python-kasa#1319](python-kasa#1319) (@sdb9696) - Fallback to other module data on get\_energy\_usage errors [\python-kasa#1245](python-kasa#1245) (@rytilahti) **Added support for devices:** - Add P210M\(US\) 1.0 1.0.3 fixture [\python-kasa#1399](python-kasa#1399) (@sdb9696) - Add C225\(US\) 2.0 1.0.11 fixture [\python-kasa#1398](python-kasa#1398) (@sdb9696) - Add P306\(US\) 1.0 1.1.2 fixture [\python-kasa#1396](python-kasa#1396) (@nakanaela) - Add TC70 3.0 1.3.11 fixture [\python-kasa#1390](python-kasa#1390) (@sdb9696) - Add C325WB\(EU\) 1.0 1.1.17 Fixture [\python-kasa#1379](python-kasa#1379) (@sdb9696) - Add C100 4.0 1.3.14 Fixture [\python-kasa#1378](python-kasa#1378) (@sdb9696) - Add KS200 \(US\) IOT Fixture and P115 \(US\) Smart Fixture [\python-kasa#1355](python-kasa#1355) (@ZeliardM) - Add C520WS camera fixture [\python-kasa#1352](python-kasa#1352) (@Happy-Cadaver) **Documentation updates:** - Update docs for Tapo Lab Third-Party compatibility [\python-kasa#1380](python-kasa#1380) (@sdb9696) - Add homebridge-kasa-python link to README [\python-kasa#1367](python-kasa#1367) (@rytilahti) - Update docs for new FeatureAttribute behaviour [\python-kasa#1365](python-kasa#1365) (@sdb9696) - Add link to related homeassistant-tapo-control [\python-kasa#1333](python-kasa#1333) (@rytilahti) **Project maintenance:** - Add P135 1.0 1.2.0 fixture [\python-kasa#1397](python-kasa#1397) (@sdb9696) - Handle smartcam device blocked response [\python-kasa#1393](python-kasa#1393) (@sdb9696) - Handle KeyboardInterrupts in the cli better [\python-kasa#1391](python-kasa#1391) (@sdb9696) - Update C520WS fixture with new methods [\python-kasa#1384](python-kasa#1384) (@sdb9696) - Miscellaneous minor fixes to dump\_devinfo [\python-kasa#1382](python-kasa#1382) (@sdb9696) - Add timeout parameter to dump\_devinfo [\python-kasa#1381](python-kasa#1381) (@sdb9696) - Simplify get\_protocol to prevent clashes with smartcam and robovac [\python-kasa#1377](python-kasa#1377) (@sdb9696) - Add smartcam modules to package inits [\python-kasa#1376](python-kasa#1376) (@sdb9696) - Enable saving of fixture files without git clone [\python-kasa#1375](python-kasa#1375) (@sdb9696) - Force single for some smartcam requests [\python-kasa#1374](python-kasa#1374) (@sdb9696) - Add new methods to dump\_devinfo [\python-kasa#1373](python-kasa#1373) (@sdb9696) - Update cli, light modules, and docs to use FeatureAttributes [\python-kasa#1364](python-kasa#1364) (@sdb9696) - Pass raw components to SmartChildDevice init [\python-kasa#1363](python-kasa#1363) (@sdb9696) - Fix line endings in device\_fixtures.py [\python-kasa#1361](python-kasa#1361) (@sdb9696) - Update dump\_devinfo for raw discovery json and common redactors [\python-kasa#1358](python-kasa#1358) (@sdb9696) - Tweak RELEASING.md instructions for patch releases [\python-kasa#1347](python-kasa#1347) (@sdb9696) - Scrub more vacuum keys [\python-kasa#1328](python-kasa#1328) (@rytilahti) - Remove unnecessary check for python \<3.10 [\python-kasa#1326](python-kasa#1326) (@rytilahti) - Add vacuum component queries to dump\_devinfo [\python-kasa#1320](python-kasa#1320) (@rytilahti) - Handle missing mgt\_encryption\_schm in discovery [\python-kasa#1318](python-kasa#1318) (@sdb9696) - Follow main package structure for tests [\python-kasa#1317](python-kasa#1317) (@rytilahti)
This PR implements a clear-text, token-based transport protocol seen on RV30 Plus (python-kasa#937). - Client sends `{"username": "[email protected]", "password": md5(password)}` and gets back a token in the response - Rest of the communications are done with POST at `/app?token=<token>` --------- Co-authored-by: Steven B. <[email protected]>
## [0.9.0](https://github.com/python-kasa/python-kasa/tree/0.9.0) (2024-12-21) [Full Changelog](python-kasa/python-kasa@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 [\python-kasa#1338](python-kasa#1338) (@sdb9696) **Implemented enhancements:** - Add rssi and signal\_level to smartcam [\python-kasa#1392](python-kasa#1392) (@sdb9696) - Add smartcam detection modules [\python-kasa#1389](python-kasa#1389) (@sdb9696) - Add bare-bones matter modules to smart and smartcam devices [\python-kasa#1371](python-kasa#1371) (@sdb9696) - Add bare bones homekit modules smart and smartcam devices [\python-kasa#1370](python-kasa#1370) (@sdb9696) - Return raw discovery result in cli discover raw [\python-kasa#1342](python-kasa#1342) (@sdb9696) - cli: print model, https, and lv for discover list [\python-kasa#1339](python-kasa#1339) (@rytilahti) - Improve overheat reporting [\python-kasa#1335](python-kasa#1335) (@rytilahti) - Provide alternative camera urls [\python-kasa#1316](python-kasa#1316) (@sdb9696) - Add LinkieTransportV2 and basic IOT.IPCAMERA support [\python-kasa#1270](python-kasa#1270) (@Puxtril) - Add ssltransport for robovacs [\python-kasa#943](python-kasa#943) (@rytilahti) **Fixed bugs:** - Tapo H200 Hub does not work with python-kasa [\python-kasa#1149](python-kasa#1149) - Treat smartcam 500 errors after handshake as retryable [\python-kasa#1395](python-kasa#1395) (@sdb9696) - Fix lens mask required component and state [\python-kasa#1386](python-kasa#1386) (@sdb9696) - Add LensMask module to smartcam [\python-kasa#1385](python-kasa#1385) (@sdb9696) - Do not error when accessing smart device\_type before update [\python-kasa#1319](python-kasa#1319) (@sdb9696) - Fallback to other module data on get\_energy\_usage errors [\python-kasa#1245](python-kasa#1245) (@rytilahti) **Added support for devices:** - Add P210M\(US\) 1.0 1.0.3 fixture [\python-kasa#1399](python-kasa#1399) (@sdb9696) - Add C225\(US\) 2.0 1.0.11 fixture [\python-kasa#1398](python-kasa#1398) (@sdb9696) - Add P306\(US\) 1.0 1.1.2 fixture [\python-kasa#1396](python-kasa#1396) (@nakanaela) - Add TC70 3.0 1.3.11 fixture [\python-kasa#1390](python-kasa#1390) (@sdb9696) - Add C325WB\(EU\) 1.0 1.1.17 Fixture [\python-kasa#1379](python-kasa#1379) (@sdb9696) - Add C100 4.0 1.3.14 Fixture [\python-kasa#1378](python-kasa#1378) (@sdb9696) - Add KS200 \(US\) IOT Fixture and P115 \(US\) Smart Fixture [\python-kasa#1355](python-kasa#1355) (@ZeliardM) - Add C520WS camera fixture [\python-kasa#1352](python-kasa#1352) (@Happy-Cadaver) **Documentation updates:** - Update docs for Tapo Lab Third-Party compatibility [\python-kasa#1380](python-kasa#1380) (@sdb9696) - Add homebridge-kasa-python link to README [\python-kasa#1367](python-kasa#1367) (@rytilahti) - Update docs for new FeatureAttribute behaviour [\python-kasa#1365](python-kasa#1365) (@sdb9696) - Add link to related homeassistant-tapo-control [\python-kasa#1333](python-kasa#1333) (@rytilahti) **Project maintenance:** - Add P135 1.0 1.2.0 fixture [\python-kasa#1397](python-kasa#1397) (@sdb9696) - Handle smartcam device blocked response [\python-kasa#1393](python-kasa#1393) (@sdb9696) - Handle KeyboardInterrupts in the cli better [\python-kasa#1391](python-kasa#1391) (@sdb9696) - Update C520WS fixture with new methods [\python-kasa#1384](python-kasa#1384) (@sdb9696) - Miscellaneous minor fixes to dump\_devinfo [\python-kasa#1382](python-kasa#1382) (@sdb9696) - Add timeout parameter to dump\_devinfo [\python-kasa#1381](python-kasa#1381) (@sdb9696) - Simplify get\_protocol to prevent clashes with smartcam and robovac [\python-kasa#1377](python-kasa#1377) (@sdb9696) - Add smartcam modules to package inits [\python-kasa#1376](python-kasa#1376) (@sdb9696) - Enable saving of fixture files without git clone [\python-kasa#1375](python-kasa#1375) (@sdb9696) - Force single for some smartcam requests [\python-kasa#1374](python-kasa#1374) (@sdb9696) - Add new methods to dump\_devinfo [\python-kasa#1373](python-kasa#1373) (@sdb9696) - Update cli, light modules, and docs to use FeatureAttributes [\python-kasa#1364](python-kasa#1364) (@sdb9696) - Pass raw components to SmartChildDevice init [\python-kasa#1363](python-kasa#1363) (@sdb9696) - Fix line endings in device\_fixtures.py [\python-kasa#1361](python-kasa#1361) (@sdb9696) - Update dump\_devinfo for raw discovery json and common redactors [\python-kasa#1358](python-kasa#1358) (@sdb9696) - Tweak RELEASING.md instructions for patch releases [\python-kasa#1347](python-kasa#1347) (@sdb9696) - Scrub more vacuum keys [\python-kasa#1328](python-kasa#1328) (@rytilahti) - Remove unnecessary check for python \<3.10 [\python-kasa#1326](python-kasa#1326) (@rytilahti) - Add vacuum component queries to dump\_devinfo [\python-kasa#1320](python-kasa#1320) (@rytilahti) - Handle missing mgt\_encryption\_schm in discovery [\python-kasa#1318](python-kasa#1318) (@sdb9696) - Follow main package structure for tests [\python-kasa#1317](python-kasa#1317) (@rytilahti)
This PR implements a clear-text, token-based transport protocol seen on RV30 Plus (python-kasa#937). - Client sends `{"username": "[email protected]", "password": md5(password)}` and gets back a token in the response - Rest of the communications are done with POST at `/app?token=<token>` --------- Co-authored-by: Steven B. <[email protected]>
## [0.9.0](https://github.com/python-kasa/python-kasa/tree/0.9.0) (2024-12-21) [Full Changelog](python-kasa/python-kasa@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 [\python-kasa#1338](python-kasa#1338) (@sdb9696) **Implemented enhancements:** - Add rssi and signal\_level to smartcam [\python-kasa#1392](python-kasa#1392) (@sdb9696) - Add smartcam detection modules [\python-kasa#1389](python-kasa#1389) (@sdb9696) - Add bare-bones matter modules to smart and smartcam devices [\python-kasa#1371](python-kasa#1371) (@sdb9696) - Add bare bones homekit modules smart and smartcam devices [\python-kasa#1370](python-kasa#1370) (@sdb9696) - Return raw discovery result in cli discover raw [\python-kasa#1342](python-kasa#1342) (@sdb9696) - cli: print model, https, and lv for discover list [\python-kasa#1339](python-kasa#1339) (@rytilahti) - Improve overheat reporting [\python-kasa#1335](python-kasa#1335) (@rytilahti) - Provide alternative camera urls [\python-kasa#1316](python-kasa#1316) (@sdb9696) - Add LinkieTransportV2 and basic IOT.IPCAMERA support [\python-kasa#1270](python-kasa#1270) (@Puxtril) - Add ssltransport for robovacs [\python-kasa#943](python-kasa#943) (@rytilahti) **Fixed bugs:** - Tapo H200 Hub does not work with python-kasa [\python-kasa#1149](python-kasa#1149) - Treat smartcam 500 errors after handshake as retryable [\python-kasa#1395](python-kasa#1395) (@sdb9696) - Fix lens mask required component and state [\python-kasa#1386](python-kasa#1386) (@sdb9696) - Add LensMask module to smartcam [\python-kasa#1385](python-kasa#1385) (@sdb9696) - Do not error when accessing smart device\_type before update [\python-kasa#1319](python-kasa#1319) (@sdb9696) - Fallback to other module data on get\_energy\_usage errors [\python-kasa#1245](python-kasa#1245) (@rytilahti) **Added support for devices:** - Add P210M\(US\) 1.0 1.0.3 fixture [\python-kasa#1399](python-kasa#1399) (@sdb9696) - Add C225\(US\) 2.0 1.0.11 fixture [\python-kasa#1398](python-kasa#1398) (@sdb9696) - Add P306\(US\) 1.0 1.1.2 fixture [\python-kasa#1396](python-kasa#1396) (@nakanaela) - Add TC70 3.0 1.3.11 fixture [\python-kasa#1390](python-kasa#1390) (@sdb9696) - Add C325WB\(EU\) 1.0 1.1.17 Fixture [\python-kasa#1379](python-kasa#1379) (@sdb9696) - Add C100 4.0 1.3.14 Fixture [\python-kasa#1378](python-kasa#1378) (@sdb9696) - Add KS200 \(US\) IOT Fixture and P115 \(US\) Smart Fixture [\python-kasa#1355](python-kasa#1355) (@ZeliardM) - Add C520WS camera fixture [\python-kasa#1352](python-kasa#1352) (@Happy-Cadaver) **Documentation updates:** - Update docs for Tapo Lab Third-Party compatibility [\python-kasa#1380](python-kasa#1380) (@sdb9696) - Add homebridge-kasa-python link to README [\python-kasa#1367](python-kasa#1367) (@rytilahti) - Update docs for new FeatureAttribute behaviour [\python-kasa#1365](python-kasa#1365) (@sdb9696) - Add link to related homeassistant-tapo-control [\python-kasa#1333](python-kasa#1333) (@rytilahti) **Project maintenance:** - Add P135 1.0 1.2.0 fixture [\python-kasa#1397](python-kasa#1397) (@sdb9696) - Handle smartcam device blocked response [\python-kasa#1393](python-kasa#1393) (@sdb9696) - Handle KeyboardInterrupts in the cli better [\python-kasa#1391](python-kasa#1391) (@sdb9696) - Update C520WS fixture with new methods [\python-kasa#1384](python-kasa#1384) (@sdb9696) - Miscellaneous minor fixes to dump\_devinfo [\python-kasa#1382](python-kasa#1382) (@sdb9696) - Add timeout parameter to dump\_devinfo [\python-kasa#1381](python-kasa#1381) (@sdb9696) - Simplify get\_protocol to prevent clashes with smartcam and robovac [\python-kasa#1377](python-kasa#1377) (@sdb9696) - Add smartcam modules to package inits [\python-kasa#1376](python-kasa#1376) (@sdb9696) - Enable saving of fixture files without git clone [\python-kasa#1375](python-kasa#1375) (@sdb9696) - Force single for some smartcam requests [\python-kasa#1374](python-kasa#1374) (@sdb9696) - Add new methods to dump\_devinfo [\python-kasa#1373](python-kasa#1373) (@sdb9696) - Update cli, light modules, and docs to use FeatureAttributes [\python-kasa#1364](python-kasa#1364) (@sdb9696) - Pass raw components to SmartChildDevice init [\python-kasa#1363](python-kasa#1363) (@sdb9696) - Fix line endings in device\_fixtures.py [\python-kasa#1361](python-kasa#1361) (@sdb9696) - Update dump\_devinfo for raw discovery json and common redactors [\python-kasa#1358](python-kasa#1358) (@sdb9696) - Tweak RELEASING.md instructions for patch releases [\python-kasa#1347](python-kasa#1347) (@sdb9696) - Scrub more vacuum keys [\python-kasa#1328](python-kasa#1328) (@rytilahti) - Remove unnecessary check for python \<3.10 [\python-kasa#1326](python-kasa#1326) (@rytilahti) - Add vacuum component queries to dump\_devinfo [\python-kasa#1320](python-kasa#1320) (@rytilahti) - Handle missing mgt\_encryption\_schm in discovery [\python-kasa#1318](python-kasa#1318) (@sdb9696) - Follow main package structure for tests [\python-kasa#1317](python-kasa#1317) (@rytilahti)
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.