-
-
Notifications
You must be signed in to change notification settings - Fork 221
Add LinkieTransportV2 and basic IOT.IPCAMERA support #1270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
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.
Looking good @Puxtril. Some initial comments.
Is the plan to include a basic IotCamera
in this PR?
N.B. I merge this with the latest master for you as |
I wasn't planning on including an I installed the pre-commit hooks and have implemented most of your suggested changes, but |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1270 +/- ##
==========================================
- Coverage 92.20% 92.13% -0.07%
==========================================
Files 120 122 +2
Lines 7744 7867 +123
Branches 805 810 +5
==========================================
+ Hits 7140 7248 +108
- Misses 444 454 +10
- Partials 160 165 +5 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
I think it would be good to get the most basic |
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.
A few tweaks to way the factories are working. I think it would be helpful to upload the fixture to tests/fixtures/iotcam
. That won't break the test framework but I could then tweak the framework to check this all works after you've addressed the review comments (and added basic IotCamera
.
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.
Looking good! I fixed the test so that we can get some coverage reporting, so please do a git pull before continuing to work on this.
Added a couple of comments inline, but it's starting to look really good :-)
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.
I just realized this changes the permission bits (removing the execute bit), I added a TODO that we will fix this also for other files at some point.
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 is ready to be merged after confirming that the code works as expected after provisioning, we will improve the iotcamera class coverage in other future PRs.
basic iotcamera class as well as a fixture file is now included
## [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)
Add LinkieTransportV2 transport used by kasa cameras and a basic implementation for IOT.IPCAMERA (kasacam) devices.
Replaces #537
Fixes #1241