-
-
Notifications
You must be signed in to change notification settings - Fork 221
Make iot time timezone aware #1147
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 ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1147 +/- ##
==========================================
- Coverage 92.59% 92.57% -0.03%
==========================================
Files 96 97 +1
Lines 6119 6168 +49
Branches 1514 1523 +9
==========================================
+ Hits 5666 5710 +44
- Misses 354 357 +3
- Partials 99 101 +2 ☔ View full report in Codecov by Sentry. |
ec37b45
to
7778d2b
Compare
535dce2
to
4d36a92
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.
I'm not sure what's the best approach for caching here, maybe @bdraco knows, but otherwise this looks good to me.
## [0.7.5](https://github.com/python-kasa/python-kasa/tree/0.7.5) (2024-10-08) [Full Changelog](0.7.4...0.7.5) **Release summary:** - Fix for KP303 on Firmware 1.0.6 - Fix for `on_since` value jitter - Various maintenance items **Breaking changes:** - Make iot time timezone aware [\#1147](#1147) (@sdb9696) **Fixed bugs:** - Use tzinfo in time constructor instead of astime for iot devices [\#1158](#1158) (@sdb9696) - Send empty dictionary instead of null for iot queries [\#1145](#1145) (@sdb9696) - Stabilise on\_since value for smart devices [\#1144](#1144) (@sdb9696) - parse\_pcap\_klap: require source host [\#1137](#1137) (@rytilahti) - parse\_pcap\_klap: use request\_uri for matching the response [\#1136](#1136) (@rytilahti) **Project maintenance:** - Cache zoneinfo for smart devices [\#1156](#1156) (@sdb9696) - Correctly define SmartModule.call as an async function [\#1148](#1148) (@sdb9696) - Remove async magic patch from tests [\#1146](#1146) (@sdb9696) - Move feature initialization from \_\_init\_\_ to \_initialize\_features [\#1140](#1140) (@rytilahti)
Closes #980
Breaking:
This changes the return value for
device.timezone
to betzinfo
so marking as a breaking change. Previous return values of{"timezone": ti.tzname()}
forsmart
and{"index": 39, "error_code": 0}
foriot
were not particularly helpful so I don't think we need to be backwards compatible.Requires the tzdata to be installed on windows as there is no system installation.
N.B. The
get_timezone_index
should allow setting theiot
device timezone from any IANA timezone key.The mapping for the
iot
firmware index / internal name to IANA timezone is below (n.b. Magadan index 100 is duplicated with no side-effects):