-
-
Notifications
You must be signed in to change notification settings - Fork 223
Update smart request parameter handling #1061
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 #1061 +/- ##
==========================================
+ Coverage 92.17% 92.33% +0.16%
==========================================
Files 85 85
Lines 5928 5896 -32
Branches 1440 1436 -4
==========================================
- Hits 5464 5444 -20
+ Misses 358 350 -8
+ Partials 106 102 -4 ☔ 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.
LGTM, cannot test it mysef right now, but it all reads reasonable 👍
## [0.7.1](https://github.com/python-kasa/python-kasa/tree/0.7.1) (2024-07-31) [Full Changelog](0.7.0.5...0.7.1) **Release highlights:** - This release consists mainly of bugfixes and project improvements. - There is also new support for Tapo T100 motion sensors. - The CLI now supports child devices on all applicable commands. **Implemented enhancements:** - Expose reboot action [\#1073](#1073) (@rytilahti) - Decrypt KLAP data from PCAP files [\#1041](#1041) (@clstrickland) - Support child devices in all applicable cli commands [\#1020](#1020) (@sdb9696) **Fixed bugs:** - Fix iot light effect brightness [\#1092](#1092) (@sdb9696) - Enable setting brightness with color temp for smart devices [\#1091](#1091) (@sdb9696) - Do not send light\_on value to iot bulb set\_state [\#1090](#1090) (@sdb9696) - Allow erroring modules to recover [\#1080](#1080) (@sdb9696) - Raise KasaException on decryption errors [\#1078](#1078) (@sdb9696) - Update smart request parameter handling [\#1061](#1061) (@sdb9696) - Fix light preset module when list contains lighting effects [\#1048](#1048) (@sdb9696) - Handle module errors more robustly and add query params to light preset and transition [\#1036](#1036) (@sdb9696) - Fix credential hash to return None on empty credentials [\#1029](#1029) (@sdb9696) **Added support for devices:** - Add support for T100 motion sensor [\#1079](#1079) (@rytilahti) **Project maintenance:** - Bump project version to 0.7.0.5 [\#1087](#1087) (@sdb9696) - Fix generate\_supported pre commit to run in venv [\#1085](#1085) (@sdb9696) - Fix intermittently failing decryption error test [\#1082](#1082) (@sdb9696) - Fix mypy pre-commit hook on windows [\#1081](#1081) (@sdb9696) - Update RELEASING.md for patch releases [\#1076](#1076) (@sdb9696) - Use monotonic time for query timing [\#1070](#1070) (@sdb9696) - Fix parse\_pcap\_klap on windows and support default credentials [\#1068](#1068) (@sdb9696) - Add fixture file for KP405 fw 1.0.6 [\#1063](#1063) (@daleye) - Bump project version to 0.7.0.3 [\#1053](#1053) (@sdb9696) - Add KP400\(US\) v1.0.4 fixture [\#1051](#1051) (@gimpy88) - Add new HS220 kasa aes fixture [\#1050](#1050) (@sdb9696) - Add KS205\(US\) v1.1.0 fixture [\#1049](#1049) (@gimpy88) - Add KS200M\(US\) v1.0.11 fixture [\#1047](#1047) (@sdb9696) - Add KS225\(US\) v1.1.0 fixture [\#1046](#1046) (@sdb9696) - Split out main cli module into lazily loaded submodules [\#1039](#1039) (@sdb9696) - Structure cli into a package [\#1038](#1038) (@sdb9696) - Add KP400 v1.0.3 fixture [\#1037](#1037) (@gimpy88) - Add L920\(EU\) v1.1.3 fixture [\#1031](#1031) (@rytilahti) - Update changelog generator config [\#1030](#1030) (@sdb9696)
Update smart request parameters based on TAPO app requests. Highlights are:
params
if null. This should stop the issues we've been getting with devices complaining about parameters randomly.get_preset_rules
doesn't send parameters forpreset
component version less than 3 (confirmed version 3 in the de-compiled app)get_led_info
no longer sends the wrong parametersget_on_off_gradually_info
no longer sends an empty{}
parameterrequestId
parameter which the app doesn't send and afaict was added to the py100 library for no reason.get_device_info
once and then queriesget_device_running_info
. We should consider this as I noted when investigating variousJSON_ENCODE_FAIL_ERROR
issues thatget_device_running_info
continued to work whenget_device_info
entered a terminal failure state.get_device_time
in the normal course of events. I suspect that for devices not supportingdevice_local_time
component this results in an external call.get_latest_fw
pretty regularly which could be because I was going into the Device Info page a lot.multiRequest
query 😬 (maybe only for children)Some pcap captures attached, made possible from the great work by @clstrickland in #1041
TAPO L900.json
TAPO P100.json
TAPO L530E.json