Skip to content

Conversation

@JaydenRA
Copy link
Contributor

@JaydenRA JaydenRA commented Sep 3, 2021

Temperature is not supported on plugs

One of the best things about this python library is that even when we throw unsupported commands at it, it doesn't return errors because there is a clause to tell the user it isn't supported. To maintain this clean style, a simple if not dev.is_plug: can prevent the user from receiving errors if they attempt to change the colour temperature of a plug. This is already set with changing the brightness of a plug so why not here?

Consider this pull request.

  • Thanks

Temperature is not supported on plugs
@JaydenRA JaydenRA changed the title Bug Fix Bug Fix - Temperature is not supported for SmartPlugs Sep 3, 2021
Copy link
Member

@rytilahti rytilahti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR @JaydenRA, I'd suggest failing early on non-supported models to avoid an extra indent as this makes the code cleaner.

@JaydenRA JaydenRA requested a review from rytilahti September 3, 2021 21:43
Co-authored-by: Teemu R. <tpr@iki.fi>
@codecov-commenter
Copy link

codecov-commenter commented Sep 3, 2021

Codecov Report

Merging #196 (e6dd95f) into master (7c9d21a) will decrease coverage by 0.18%.
The diff coverage is 0.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #196      +/-   ##
==========================================
- Coverage   74.44%   74.26%   -0.19%     
==========================================
  Files          11       11              
  Lines        1221     1224       +3     
  Branches      177      178       +1     
==========================================
  Hits          909      909              
- Misses        279      282       +3     
  Partials       33       33              
Impacted Files Coverage Δ
kasa/cli.py 57.65% <0.00%> (-0.57%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7c9d21a...e6dd95f. Read the comment docs.

Copy link
Member

@rytilahti rytilahti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, thanks! 👍

@rytilahti rytilahti changed the title Bug Fix - Temperature is not supported for SmartPlugs cli: add human-friendly printout when calling temperature on non-supported devices Sep 4, 2021
@rytilahti rytilahti added the enhancement New feature or request label Sep 4, 2021
@rytilahti rytilahti merged commit f8e7258 into python-kasa:master Sep 4, 2021
rytilahti added a commit to rytilahti/python-kasa that referenced this pull request Sep 23, 2021
The most important enhancements in this release are:
* Support for emeter on strip sockets
* Fix discovery and update() on some devices that do not support multi-module queries (e.g., HS200)
* Improved support for bulbs

[Full Changelog](python-kasa/python-kasa@0.4.0.dev3...0.4.0.dev4)

**Implemented enhancements:**

- HS300 Children plugs have emeter [\python-kasa#64](python-kasa#64)
- Improve emeterstatus API, move into own module [\python-kasa#205](python-kasa#205) ([rytilahti](https://github.com/rytilahti))
- Avoid temp array during encrypt and decrypt [\python-kasa#204](python-kasa#204) ([bdraco](https://github.com/bdraco))
- Add emeter support for strip sockets [\python-kasa#203](python-kasa#203) ([bdraco](https://github.com/bdraco))
- Add own device type for smartstrip children [\python-kasa#201](python-kasa#201) ([rytilahti](https://github.com/rytilahti))
- bulb: allow set\_hsv without v, add fallback ct range [\python-kasa#200](python-kasa#200) ([rytilahti](https://github.com/rytilahti))
- Improve bulb support \(alias, time settings\) [\python-kasa#198](python-kasa#198) ([rytilahti](https://github.com/rytilahti))
- Improve testing harness to allow tests on real devices [\python-kasa#197](python-kasa#197) ([rytilahti](https://github.com/rytilahti))
- cli: add human-friendly printout when calling temperature on non-supported devices [\python-kasa#196](python-kasa#196) ([JaydenRA](https://github.com/JaydenRA))

**Fixed bugs:**

- KL430: Throw error for Device specific information [\python-kasa#189](python-kasa#189)
- dump\_devinfo: handle latitude/longitude keys properly [\python-kasa#175](python-kasa#175) ([rytilahti](https://github.com/rytilahti))

**Closed issues:**

- Feature Request - Toggle Command [\python-kasa#188](python-kasa#188)
- Is It Compatible With HS105? [\python-kasa#186](python-kasa#186)
- Cannot use some functions with KP303 [\python-kasa#181](python-kasa#181)
- Help needed - awaiting game  [\python-kasa#179](python-kasa#179)
- Version inconsistency between CLI and pip [\python-kasa#177](python-kasa#177)
- Release 0.4.0.dev3? [\python-kasa#169](python-kasa#169)
- Discover does not support specifying network interface [\python-kasa#167](python-kasa#167)
- Can't command or query HS200 v5 switch [\python-kasa#161](python-kasa#161)

**Merged pull requests:**

- More CI fixes [\python-kasa#208](python-kasa#208) ([rytilahti](https://github.com/rytilahti))
- Fix CI dep installation [\python-kasa#207](python-kasa#207) ([rytilahti](https://github.com/rytilahti))
- Use github actions instead of azure pipelines [\python-kasa#206](python-kasa#206) ([rytilahti](https://github.com/rytilahti))
- Add KP115 fixture [\python-kasa#202](python-kasa#202) ([rytilahti](https://github.com/rytilahti))
- Perform initial update only using the sysinfo query [\python-kasa#199](python-kasa#199) ([rytilahti](https://github.com/rytilahti))
- Add real kasa KL430\(UN\) device dump [\python-kasa#192](python-kasa#192) ([iprodanovbg](https://github.com/iprodanovbg))
- Use less strict matcher for kl430 color temperature [\python-kasa#190](python-kasa#190) ([rytilahti](https://github.com/rytilahti))
- Add EP10\(US\) 1.0 1.0.2 fixture [\python-kasa#174](python-kasa#174) ([nbrew](https://github.com/nbrew))
- Add a note about using the discovery target parameter [\python-kasa#168](python-kasa#168) ([leandroreox](https://github.com/leandroreox))
@rytilahti rytilahti mentioned this pull request Sep 23, 2021
rytilahti added a commit to rytilahti/python-kasa that referenced this pull request Sep 23, 2021
The most important enhancements in this release are:
* Support for emeter on strip sockets
* Fix discovery and update() on some devices that do not support multi-module queries (e.g., HS200)
* Improved support for bulbs

[Full Changelog](python-kasa/python-kasa@0.4.0.dev3...0.4.0.dev4)

**Implemented enhancements:**

- HS300 Children plugs have emeter [\python-kasa#64](python-kasa#64)
- Improve emeterstatus API, move into own module [\python-kasa#205](python-kasa#205) ([rytilahti](https://github.com/rytilahti))
- Avoid temp array during encrypt and decrypt [\python-kasa#204](python-kasa#204) ([bdraco](https://github.com/bdraco))
- Add emeter support for strip sockets [\python-kasa#203](python-kasa#203) ([bdraco](https://github.com/bdraco))
- Add own device type for smartstrip children [\python-kasa#201](python-kasa#201) ([rytilahti](https://github.com/rytilahti))
- bulb: allow set\_hsv without v, add fallback ct range [\python-kasa#200](python-kasa#200) ([rytilahti](https://github.com/rytilahti))
- Improve bulb support \(alias, time settings\) [\python-kasa#198](python-kasa#198) ([rytilahti](https://github.com/rytilahti))
- Improve testing harness to allow tests on real devices [\python-kasa#197](python-kasa#197) ([rytilahti](https://github.com/rytilahti))
- cli: add human-friendly printout when calling temperature on non-supported devices [\python-kasa#196](python-kasa#196) ([JaydenRA](https://github.com/JaydenRA))

**Fixed bugs:**

- KL430: Throw error for Device specific information [\python-kasa#189](python-kasa#189)
- dump\_devinfo: handle latitude/longitude keys properly [\python-kasa#175](python-kasa#175) ([rytilahti](https://github.com/rytilahti))

**Closed issues:**

- Feature Request - Toggle Command [\python-kasa#188](python-kasa#188)
- Is It Compatible With HS105? [\python-kasa#186](python-kasa#186)
- Cannot use some functions with KP303 [\python-kasa#181](python-kasa#181)
- Help needed - awaiting game  [\python-kasa#179](python-kasa#179)
- Version inconsistency between CLI and pip [\python-kasa#177](python-kasa#177)
- Release 0.4.0.dev3? [\python-kasa#169](python-kasa#169)
- Discover does not support specifying network interface [\python-kasa#167](python-kasa#167)
- Can't command or query HS200 v5 switch [\python-kasa#161](python-kasa#161)

**Merged pull requests:**

- More CI fixes [\python-kasa#208](python-kasa#208) ([rytilahti](https://github.com/rytilahti))
- Fix CI dep installation [\python-kasa#207](python-kasa#207) ([rytilahti](https://github.com/rytilahti))
- Use github actions instead of azure pipelines [\python-kasa#206](python-kasa#206) ([rytilahti](https://github.com/rytilahti))
- Add KP115 fixture [\python-kasa#202](python-kasa#202) ([rytilahti](https://github.com/rytilahti))
- Perform initial update only using the sysinfo query [\python-kasa#199](python-kasa#199) ([rytilahti](https://github.com/rytilahti))
- Add real kasa KL430\(UN\) device dump [\python-kasa#192](python-kasa#192) ([iprodanovbg](https://github.com/iprodanovbg))
- Use less strict matcher for kl430 color temperature [\python-kasa#190](python-kasa#190) ([rytilahti](https://github.com/rytilahti))
- Add EP10\(US\) 1.0 1.0.2 fixture [\python-kasa#174](python-kasa#174) ([nbrew](https://github.com/nbrew))
- Add a note about using the discovery target parameter [\python-kasa#168](python-kasa#168) ([leandroreox](https://github.com/leandroreox))
rytilahti added a commit that referenced this pull request Sep 23, 2021
* Release 0.4.0.dev4

The most important enhancements in this release are:
* Support for emeter on strip sockets
* Fix discovery and update() on some devices that do not support multi-module queries (e.g., HS200)
* Improved support for bulbs

[Full Changelog](0.4.0.dev3...0.4.0.dev4)

**Implemented enhancements:**

- HS300 Children plugs have emeter [\#64](#64)
- Improve emeterstatus API, move into own module [\#205](#205) ([rytilahti](https://github.com/rytilahti))
- Avoid temp array during encrypt and decrypt [\#204](#204) ([bdraco](https://github.com/bdraco))
- Add emeter support for strip sockets [\#203](#203) ([bdraco](https://github.com/bdraco))
- Add own device type for smartstrip children [\#201](#201) ([rytilahti](https://github.com/rytilahti))
- bulb: allow set\_hsv without v, add fallback ct range [\#200](#200) ([rytilahti](https://github.com/rytilahti))
- Improve bulb support \(alias, time settings\) [\#198](#198) ([rytilahti](https://github.com/rytilahti))
- Improve testing harness to allow tests on real devices [\#197](#197) ([rytilahti](https://github.com/rytilahti))
- cli: add human-friendly printout when calling temperature on non-supported devices [\#196](#196) ([JaydenRA](https://github.com/JaydenRA))

**Fixed bugs:**

- KL430: Throw error for Device specific information [\#189](#189)
- dump\_devinfo: handle latitude/longitude keys properly [\#175](#175) ([rytilahti](https://github.com/rytilahti))

**Closed issues:**

- Feature Request - Toggle Command [\#188](#188)
- Is It Compatible With HS105? [\#186](#186)
- Cannot use some functions with KP303 [\#181](#181)
- Help needed - awaiting game  [\#179](#179)
- Version inconsistency between CLI and pip [\#177](#177)
- Release 0.4.0.dev3? [\#169](#169)
- Discover does not support specifying network interface [\#167](#167)
- Can't command or query HS200 v5 switch [\#161](#161)

**Merged pull requests:**

- More CI fixes [\#208](#208) ([rytilahti](https://github.com/rytilahti))
- Fix CI dep installation [\#207](#207) ([rytilahti](https://github.com/rytilahti))
- Use github actions instead of azure pipelines [\#206](#206) ([rytilahti](https://github.com/rytilahti))
- Add KP115 fixture [\#202](#202) ([rytilahti](https://github.com/rytilahti))
- Perform initial update only using the sysinfo query [\#199](#199) ([rytilahti](https://github.com/rytilahti))
- Add real kasa KL430\(UN\) device dump [\#192](#192) ([iprodanovbg](https://github.com/iprodanovbg))
- Use less strict matcher for kl430 color temperature [\#190](#190) ([rytilahti](https://github.com/rytilahti))
- Add EP10\(US\) 1.0 1.0.2 fixture [\#174](#174) ([nbrew](https://github.com/nbrew))
- Add a note about using the discovery target parameter [\#168](#168) ([leandroreox](https://github.com/leandroreox))

* replace pypy3 with pypy-3.7 as we do not support python3.6 anyway

* skip pypy-3.7 on windows to avoid flaky ci
rytilahti added a commit to rytilahti/python-kasa that referenced this pull request Oct 11, 2021
* Release 0.4.0.dev4

The most important enhancements in this release are:
* Support for emeter on strip sockets
* Fix discovery and update() on some devices that do not support multi-module queries (e.g., HS200)
* Improved support for bulbs

[Full Changelog](python-kasa/python-kasa@0.4.0.dev3...0.4.0.dev4)

**Implemented enhancements:**

- HS300 Children plugs have emeter [\python-kasa#64](python-kasa#64)
- Improve emeterstatus API, move into own module [\python-kasa#205](python-kasa#205) ([rytilahti](https://github.com/rytilahti))
- Avoid temp array during encrypt and decrypt [\python-kasa#204](python-kasa#204) ([bdraco](https://github.com/bdraco))
- Add emeter support for strip sockets [\python-kasa#203](python-kasa#203) ([bdraco](https://github.com/bdraco))
- Add own device type for smartstrip children [\python-kasa#201](python-kasa#201) ([rytilahti](https://github.com/rytilahti))
- bulb: allow set\_hsv without v, add fallback ct range [\python-kasa#200](python-kasa#200) ([rytilahti](https://github.com/rytilahti))
- Improve bulb support \(alias, time settings\) [\python-kasa#198](python-kasa#198) ([rytilahti](https://github.com/rytilahti))
- Improve testing harness to allow tests on real devices [\python-kasa#197](python-kasa#197) ([rytilahti](https://github.com/rytilahti))
- cli: add human-friendly printout when calling temperature on non-supported devices [\python-kasa#196](python-kasa#196) ([JaydenRA](https://github.com/JaydenRA))

**Fixed bugs:**

- KL430: Throw error for Device specific information [\python-kasa#189](python-kasa#189)
- dump\_devinfo: handle latitude/longitude keys properly [\python-kasa#175](python-kasa#175) ([rytilahti](https://github.com/rytilahti))

**Closed issues:**

- Feature Request - Toggle Command [\python-kasa#188](python-kasa#188)
- Is It Compatible With HS105? [\python-kasa#186](python-kasa#186)
- Cannot use some functions with KP303 [\python-kasa#181](python-kasa#181)
- Help needed - awaiting game  [\python-kasa#179](python-kasa#179)
- Version inconsistency between CLI and pip [\python-kasa#177](python-kasa#177)
- Release 0.4.0.dev3? [\python-kasa#169](python-kasa#169)
- Discover does not support specifying network interface [\python-kasa#167](python-kasa#167)
- Can't command or query HS200 v5 switch [\python-kasa#161](python-kasa#161)

**Merged pull requests:**

- More CI fixes [\python-kasa#208](python-kasa#208) ([rytilahti](https://github.com/rytilahti))
- Fix CI dep installation [\python-kasa#207](python-kasa#207) ([rytilahti](https://github.com/rytilahti))
- Use github actions instead of azure pipelines [\python-kasa#206](python-kasa#206) ([rytilahti](https://github.com/rytilahti))
- Add KP115 fixture [\python-kasa#202](python-kasa#202) ([rytilahti](https://github.com/rytilahti))
- Perform initial update only using the sysinfo query [\python-kasa#199](python-kasa#199) ([rytilahti](https://github.com/rytilahti))
- Add real kasa KL430\(UN\) device dump [\python-kasa#192](python-kasa#192) ([iprodanovbg](https://github.com/iprodanovbg))
- Use less strict matcher for kl430 color temperature [\python-kasa#190](python-kasa#190) ([rytilahti](https://github.com/rytilahti))
- Add EP10\(US\) 1.0 1.0.2 fixture [\python-kasa#174](python-kasa#174) ([nbrew](https://github.com/nbrew))
- Add a note about using the discovery target parameter [\python-kasa#168](python-kasa#168) ([leandroreox](https://github.com/leandroreox))

* replace pypy3 with pypy-3.7 as we do not support python3.6 anyway

* skip pypy-3.7 on windows to avoid flaky ci
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants