-
-
Notifications
You must be signed in to change notification settings - Fork 226
Add protocol and transport documentation #663
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
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #663 +/- ##
=======================================
Coverage 86.80% 86.80%
=======================================
Files 39 39
Lines 3494 3494
Branches 892 892
=======================================
Hits 3033 3033
Misses 380 380
Partials 81 81 ☔ View full report in Codecov by Sentry. |
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 looks great, and I hope it makes it easier to understand not only the lib design but also how these devices tick :-)
All comments addressed. Also renamed the base class |
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, but please separate renaming the base class into its own PR as it's been part of the public API.
If we are going to further clean up the API (e.g., renaming TPLinkSmartHomeProtocol
towards something more suitable), we should probably add module-level __getattr__
to inform any potential users about the change. As the TPLinkProtocol is not directly usable by any library users, it is not that necessary to do for that.
809c54f
to
8dbeadf
Compare
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.
Thanks!
[Full Changelog](python-kasa/python-kasa@0.6.0.1...0.6.1) Release highlights: * Support for tapo wall switches * Support for unprovisioned devices * Performance and stability improvements **Implemented enhancements:** - Add support for tapo wall switches \(S500D\) [\python-kasa#704](python-kasa#704) (@bdraco) - Add new cli command 'command' to execute arbitrary commands [\python-kasa#692](python-kasa#692) (@rytilahti) - Allow raw-command and wifi without update [\python-kasa#688](python-kasa#688) (@rytilahti) - Generate AES KeyPair lazily [\python-kasa#687](python-kasa#687) (@sdb9696) - Add reboot and factory\_reset to tapodevice [\python-kasa#686](python-kasa#686) (@rytilahti) - Try default tapo credentials for klap and aes [\python-kasa#685](python-kasa#685) (@sdb9696) - Sleep between discovery packets [\python-kasa#656](python-kasa#656) (@sdb9696) **Fixed bugs:** - Do not crash on missing geolocation [\python-kasa#701](python-kasa#701) (@rytilahti) - Fix P100 error getting conn closed when trying default login after login failure [\python-kasa#690](python-kasa#690) (@sdb9696) **Documentation updates:** - Add protocol and transport documentation [\python-kasa#663](python-kasa#663) (@sdb9696) - Document authenticated provisioning [\python-kasa#634](python-kasa#634) (@rytilahti) **Closed issues:** - Consider handshake as still valid on ServerDisconnectedError [\python-kasa#676](python-kasa#676) - AES Transport creates the key even if the device is offline [\python-kasa#675](python-kasa#675) - how to provision new Tapo plug devices? [\python-kasa#565](python-kasa#565) - Space out discovery requests [\python-kasa#229](python-kasa#229) **Merged pull requests:** - Add additional L900-10 fixture [\python-kasa#707](python-kasa#707) (@bdraco) - Replace rich formatting stripper [\python-kasa#706](python-kasa#706) (@bdraco) - Add support for the S500 [\python-kasa#705](python-kasa#705) (@bdraco) - Fix overly greedy \_strip\_rich\_formatting [\python-kasa#703](python-kasa#703) (@bdraco) - Ensure login token is only sent if aes state is ESTABLISHED [\python-kasa#702](python-kasa#702) (@bdraco) - Update readme fixture checker and readme [\python-kasa#699](python-kasa#699) (@rytilahti) - Fix test\_klapprotocol test duration [\python-kasa#698](python-kasa#698) (@sdb9696) - Renew the handshake session 20 minutes before we think it will expire [\python-kasa#697](python-kasa#697) (@bdraco) - Add --batch-size hint to timeout errors in dump\_devinfo [\python-kasa#696](python-kasa#696) (@sdb9696) - Add L930-5 fixture [\python-kasa#694](python-kasa#694) (@bdraco) - Add fixtures for L510E [\python-kasa#693](python-kasa#693) (@bdraco) - Refactor aestransport to use a state enum [\python-kasa#691](python-kasa#691) (@bdraco) - Update transport close/reset behaviour [\python-kasa#689](python-kasa#689) (@sdb9696) - Check README for supported models [\python-kasa#684](python-kasa#684) (@rytilahti) - Add P100 test fixture [\python-kasa#683](python-kasa#683) (@bdraco) - Make dump\_devinfo request batch size configurable [\python-kasa#681](python-kasa#681) (@sdb9696) - Add updated L920 fixture [\python-kasa#680](python-kasa#680) (@bdraco) - Update fixtures from test devices [\python-kasa#679](python-kasa#679) (@bdraco) - Show discovery data for state with verbose [\python-kasa#678](python-kasa#678) (@rytilahti) - Add L530E\(US\) fixture [\python-kasa#674](python-kasa#674) (@bdraco) - Add P135 fixture [\python-kasa#673](python-kasa#673) (@bdraco) - Rename base TPLinkProtocol to BaseProtocol [\python-kasa#669](python-kasa#669) (@sdb9696) - Add 1003 \(TRANSPORT\_UNKNOWN\_CREDENTIALS\_ERROR\) [\python-kasa#667](python-kasa#667) (@rytilahti)
[Full Changelog](0.6.0.1...0.6.1) Release highlights: * Support for tapo wall switches * Support for unprovisioned devices * Performance and stability improvements **Implemented enhancements:** - Add support for tapo wall switches \(S500D\) [\#704](#704) (@bdraco) - Add new cli command 'command' to execute arbitrary commands [\#692](#692) (@rytilahti) - Allow raw-command and wifi without update [\#688](#688) (@rytilahti) - Generate AES KeyPair lazily [\#687](#687) (@sdb9696) - Add reboot and factory\_reset to tapodevice [\#686](#686) (@rytilahti) - Try default tapo credentials for klap and aes [\#685](#685) (@sdb9696) - Sleep between discovery packets [\#656](#656) (@sdb9696) **Fixed bugs:** - Do not crash on missing geolocation [\#701](#701) (@rytilahti) - Fix P100 error getting conn closed when trying default login after login failure [\#690](#690) (@sdb9696) **Documentation updates:** - Add protocol and transport documentation [\#663](#663) (@sdb9696) - Document authenticated provisioning [\#634](#634) (@rytilahti) **Closed issues:** - Consider handshake as still valid on ServerDisconnectedError [\#676](#676) - AES Transport creates the key even if the device is offline [\#675](#675) - how to provision new Tapo plug devices? [\#565](#565) - Space out discovery requests [\#229](#229) **Merged pull requests:** - Add additional L900-10 fixture [\#707](#707) (@bdraco) - Replace rich formatting stripper [\#706](#706) (@bdraco) - Add support for the S500 [\#705](#705) (@bdraco) - Fix overly greedy \_strip\_rich\_formatting [\#703](#703) (@bdraco) - Ensure login token is only sent if aes state is ESTABLISHED [\#702](#702) (@bdraco) - Update readme fixture checker and readme [\#699](#699) (@rytilahti) - Fix test\_klapprotocol test duration [\#698](#698) (@sdb9696) - Renew the handshake session 20 minutes before we think it will expire [\#697](#697) (@bdraco) - Add --batch-size hint to timeout errors in dump\_devinfo [\#696](#696) (@sdb9696) - Add L930-5 fixture [\#694](#694) (@bdraco) - Add fixtures for L510E [\#693](#693) (@bdraco) - Refactor aestransport to use a state enum [\#691](#691) (@bdraco) - Update transport close/reset behaviour [\#689](#689) (@sdb9696) - Check README for supported models [\#684](#684) (@rytilahti) - Add P100 test fixture [\#683](#683) (@bdraco) - Make dump\_devinfo request batch size configurable [\#681](#681) (@sdb9696) - Add updated L920 fixture [\#680](#680) (@bdraco) - Update fixtures from test devices [\#679](#679) (@bdraco) - Show discovery data for state with verbose [\#678](#678) (@rytilahti) - Add L530E\(US\) fixture [\#674](#674) (@bdraco) - Add P135 fixture [\#673](#673) (@bdraco) - Rename base TPLinkProtocol to BaseProtocol [\#669](#669) (@sdb9696) - Add 1003 \(TRANSPORT\_UNKNOWN\_CREDENTIALS\_ERROR\) [\#667](#667) (@rytilahti)
Addresses comment here and elsewhere.