HankB
b386485ab0
Update smartstrip.rst ( #382 )
...
```text
hbarta@pilog3b:~$ kasa --type strip --host 192.168.20.215 on
Turning on TP-LINK_Smart Plug_83A6
hbarta@pilog3b:~$ kasa --strip --host 192.168.20.215 on
Usage: kasa [OPTIONS] COMMAND [ARGS]...
Try 'kasa --help' for help.
Error: No such option: --strip (Possible options: --host, --type)
hbarta@pilog3b:~$
```
2022-10-19 01:16:11 +02:00
HankB
e1a30f92e4
fix more outdated CLI examples, remove EP40 from bulb list ( #383 )
...
* Fix more outdated cli examples
* remove EP40 (smart strip) from bulb list
2022-10-18 23:37:54 +02:00
Teemu R
2eecf39bae
Add ToCs for doc pages ( #380 )
2022-10-18 19:08:10 +02:00
Teemu R
f493fa1dca
Clarify information about supported devices ( #377 )
...
* Clarify information about supported devices
* Use single backticks
2022-10-17 18:16:40 +02:00
Teemu R
cece84352a
Manually pass the codecov token in CI ( #378 )
2022-10-17 18:08:26 +02:00
Teemu R
13052ac7a1
Fix year emeter for cli by using kwarg for year parameter ( #372 )
...
* Fix year emeter for cli by using kwarg for year parameter
* Improve tests
* Skip test_emeter on python3.7
2022-10-03 20:28:05 +02:00
Felix Yan
7aebef56ca
Correct typos in smartdevice.py ( #358 )
2022-07-17 19:19:09 +02:00
gritstub
57fac9a156
Add fixtures for KS200M ( #356 )
2022-06-28 18:53:23 +02:00
gritstub
d7295bdf6d
Add fixtures for ES20M ( #353 ) ( #354 )
...
Co-authored-by: Teemu R <tpr@iki.fi>
2022-06-28 13:06:34 +02:00
gritstub
4c55289255
Add fixtures for KS230 ( #355 )
2022-06-28 12:56:36 +02:00
Teemu R
8c93c44440
Update README to add missing models and fix a link ( #351 )
2022-06-27 17:26:45 +02:00
James Alseth
91ba1d5ac6
Add KP125 test fixture and support note. ( #350 )
...
* Add KP125 test fixture and support note.
Signed-off-by: James Alseth <james@jalseth.me>
* mark KP125 having an emeter
Co-authored-by: Teemu R <tpr@iki.fi>
2022-06-27 03:39:57 +02:00
J. Nick Koston
8e6cfd003e
Add fixtures for KP100 ( #343 )
...
* Add fixtures for KP100
* readme
2022-05-11 16:02:17 +02:00
Teemu R
604520dcaf
Add codeql checks ( #338 )
2022-04-25 14:45:53 +02:00
Teemu R
51fb908d8b
Prepare 0.5.0 ( #342 )
...
* Prepare 0.5.0
* Add note about how to include release summary to changelog
2022-04-25 00:13:24 +02:00
J. Nick Koston
d908a5ab2a
Avoid retrying open_connection on unrecoverable errors ( #340 )
...
* Avoid retrying open_connection on unrecoverable errors
- We can retry so hard that we block the event loop
Fixes
```
2022-04-16 22:18:51 WARNING (MainThread) [asyncio] Executing <Task finished name=Task-3576 coro=<open_connection() done, defined at /opt/homebrew/Cellar/python@3.9/3.9.12/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/streams.py:25> exception=ConnectionRefusedError(61, "Connect call failed (192.168.107.200, 9999)") created at /opt/homebrew/Cellar/python@3.9/3.9.12/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/tasks.py:460> took 1.001 seconds
```
* comment
2022-04-24 19:38:42 +02:00
J. Nick Koston
d2581bf077
Add fixtures for kl420 ( #339 )
...
* Add fixtures for kl420
* readme
2022-04-14 02:51:15 +02:00
Teemu R
631762b50c
Drop deprecated, type-specific options in favor of --type ( #336 )
...
* Drop deprecated, type-specific options in favor of --type
* Fix tests
2022-04-06 03:39:50 +02:00
Teemu R
6e988bd9a9
Avoid discovery on --help ( #335 )
2022-04-06 02:25:47 +02:00
Teemu R
a39cef9a8c
Export modules & make sphinx happy ( #334 )
2022-04-06 01:41:08 +02:00
Teemu R
d848117384
Various documentation updates ( #333 )
...
* Add a note about socket sharing
* Show inherited members for apidocs
* Remove outdated note of emeters not being supported on smartstrips
* Describe emeter and usage modules, add note about NTP for time sync
* Describe lib design and modules
* Bump sphinx version, ignore d001 (line-length) for doc8
* demote energy & usage to 3rd level, promote api for 2nd
2022-04-06 01:13:27 +02:00
Teemu Rytilahti
68038c93df
Bump version to 0.5.0.dev0
2022-04-05 19:27:46 +02:00
Teemu Rytilahti
2a0919efd5
Fix linting
2022-04-05 19:27:46 +02:00
J. Nick Koston
1e4df7ec1b
Fix modularize with strips ( #326 )
...
* Fix test_deprecated_type stalling
* Fix strips with modularize
* Fix test_deprecated_type stalling (#325 )
2022-04-05 19:27:46 +02:00
Teemu Rytilahti
f0d66e4195
move get_time{zone} out from smartdevice + some minor cleanups
2022-04-05 19:27:46 +02:00
Teemu Rytilahti
c8ad99abcb
Use device time for on_since for smartstripplugs
2022-04-05 19:27:46 +02:00
Teemu Rytilahti
bb013e75da
Raise an exception when trying to access data prior updating
2022-04-05 19:27:46 +02:00
Teemu R
3a7836cd33
Do not request unsupported modules after the initial update ( #298 )
...
* Do not request unsupported modules after the initial update
* debugify logging
2022-04-05 19:27:46 +02:00
Teemu R
8c7b1b4a68
Implement motion & ambient light sensor modules for dimmers ( #278 )
2022-04-05 19:27:46 +02:00
Teemu R
e3588047fc
Improve usage module, consolidate API with emeter ( #249 )
...
* Consolidate API for both emeter&usage modules
* Add new cli command 'usage' to query usage
2022-04-05 19:27:46 +02:00
Teemu R
3926f3224f
Add module support & query their information during update cycle ( #243 )
...
* Add module support & modularize existing query
This creates a base to expose more features on the supported devices.
At the moment, the most visible change is that each update cycle gets information from all available modules:
* Basic system info
* Cloud (new)
* Countdown (new)
* Antitheft (new)
* Schedule (new)
* Time (existing, implements the time/timezone handling)
* Emeter (existing, partially separated from smartdevice)
* Fix imports
* Fix linting
* Use device host instead of alias in module repr
* Add property to list available modules, print them in cli state report
* usage: fix the get_realtime query
* separate usage from schedule to avoid multi-inheritance
* Fix module querying
* Add is_supported property to modules
2022-04-05 19:27:46 +02:00
Teemu R
7b9e3aae8a
Release 0.4.3 ( #332 )
...
This release fixes an issue where the bulb state on led strips was not restored properly when turned back on.
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.4.2...0.4.3 )
**Fixed bugs:**
- Divide by zero when HS300 powerstrip is discovered [\#292](https://github.com/python-kasa/python-kasa/issues/292 )
- Ensure bulb state is restored when turning back on [\#330](https://github.com/python-kasa/python-kasa/pull/330 ) (@bdraco)
**Closed issues:**
- KL420L5 controls [\#327](https://github.com/python-kasa/python-kasa/issues/327 )
**Merged pull requests:**
- Update pre-commit hooks to fix black in CI [\#331](https://github.com/python-kasa/python-kasa/pull/331 ) (@rytilahti)
- Fix test\_deprecated\_type stalling [\#325](https://github.com/python-kasa/python-kasa/pull/325 ) (@bdraco)
2022-04-05 19:02:00 +02:00
J. Nick Koston
766819a2a4
Ensure bulb state is restored when turning back on ( #330 )
...
* Ensure state is restored when turning back on
Fixes https://github.com/home-assistant/core/issues/69039
* Update kasa/tests/test_bulb.py
Co-authored-by: Teemu R. <tpr@iki.fi>
Co-authored-by: Teemu R. <tpr@iki.fi>
2022-04-05 18:51:36 +02:00
Teemu R
a744af46ab
Update pre-commit deps to fix CI ( #331 )
2022-04-05 17:48:24 +02:00
J. Nick Koston
2b05751aa7
Fix test_deprecated_type stalling ( #325 )
2022-03-24 23:59:53 +01:00
Teemu R
6f5a60ad43
Release 0.4.2 ( #321 )
...
This is the last release prior restructuring the code to enable easier extendability by moving towards more modular architecture.
The most prominent change in this release is the support for effects on light strips.
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.4.1...0.4.2 )
**Implemented enhancements:**
- Allow environment variables for discovery target, device type and debug [\#313](https://github.com/python-kasa/python-kasa/pull/313 ) (@rytilahti)
- Add 'internal\_state' to return the results from the last update query [\#306](https://github.com/python-kasa/python-kasa/pull/306 ) (@rytilahti)
- Drop microsecond precision for on\_since [\#296](https://github.com/python-kasa/python-kasa/pull/296 ) (@rytilahti)
- Add effect support for light strips [\#293](https://github.com/python-kasa/python-kasa/pull/293 ) (@bdraco)
**Fixed bugs:**
- TypeError: \_\_init\_\_\(\) got an unexpected keyword argument 'package\_name' [\#311](https://github.com/python-kasa/python-kasa/issues/311 )
- RuntimeError: Event loop is closed on WSL [\#294](https://github.com/python-kasa/python-kasa/issues/294 )
- Don't crash on devices not reporting features [\#317](https://github.com/python-kasa/python-kasa/pull/317 ) (@rytilahti)
**Closed issues:**
- SmartDeviceException: Communication error on system:set\_relay\_state [\#309](https://github.com/python-kasa/python-kasa/issues/309 )
- Add Support: ES20M and KS200M motion/light switches [\#308](https://github.com/python-kasa/python-kasa/issues/308 )
- New problem with installing on Ubuntu 20.04.3 LTS [\#305](https://github.com/python-kasa/python-kasa/issues/305 )
- KeyError: 'emeter' when discovering [\#302](https://github.com/python-kasa/python-kasa/issues/302 )
- RuntimeError: Event loop is closed [\#291](https://github.com/python-kasa/python-kasa/issues/291 )
- provisioning format [\#290](https://github.com/python-kasa/python-kasa/issues/290 )
- Fix CI publishing on pypi [\#222](https://github.com/python-kasa/python-kasa/issues/222 )
- LED strips effects are not supported \(was LEDs is not turning on after switching on\) [\#191](https://github.com/python-kasa/python-kasa/issues/191 )
**Merged pull requests:**
- Add pyupgrade to CI runs [\#314](https://github.com/python-kasa/python-kasa/pull/314 ) (@rytilahti)
- Depend on asyncclick \>= 8 [\#312](https://github.com/python-kasa/python-kasa/pull/312 ) (@rytilahti)
- Guard emeter accesses to avoid keyerrors [\#304](https://github.com/python-kasa/python-kasa/pull/304 ) (@rytilahti)
- cli: cleanup discover, fetch update prior device access [\#303](https://github.com/python-kasa/python-kasa/pull/303 ) (@rytilahti)
- Fix unsafe \_\_del\_\_ in TPLinkSmartHomeProtocol [\#300](https://github.com/python-kasa/python-kasa/pull/300 ) (@bdraco)
- Improve typing for protocol class [\#289](https://github.com/python-kasa/python-kasa/pull/289 ) (@rytilahti)
- Added a fixture file for KS220M [\#273](https://github.com/python-kasa/python-kasa/pull/273 ) (@mrbetta)
2022-03-21 22:34:44 +01:00
J. Nick Koston
58f6517445
Add effect support for light strips ( #293 )
...
* Add effect support for KL430
* KL400 supports effects
* Add KL400 fixture
* Comments from review
* actually commit the remove
2022-03-21 22:10:12 +01:00
Teemu R
b22f6b4eef
Don't crash on devices not reporting features ( #317 )
...
Returns an empty set if no feature information is available
2022-03-02 16:29:20 +01:00
Teemu R
e3d76bea75
Add pyupgrade to CI runs ( #314 )
2022-02-21 00:56:18 +01:00
Teemu R
db170cf1f5
Allow using environment variables for discovery target, device type and debug ( #313 )
...
* KASA_TYPE defines the device type (bulb, plug, dimmer, strip, lightstrip)
* KASA_TARGET to define discovery target
* KASA_DEBUG to enable debugging
2022-02-15 16:59:36 +01:00
Teemu R
15906ec232
Depend on asyncclick >= 8 ( #312 )
2022-02-14 18:26:51 +01:00
Teemu R
b61c0feea9
Add 'internal_state' to return the results from the last update query ( #306 )
...
This can be useful for debugging purposes, e.g., for homeassistant diagnostics
2022-02-07 09:13:47 +01:00
Teemu R
700f3859c2
Guard emeter accesses to avoid keyerrors ( #304 )
...
Raise an exception to inform the caller that update() is needed
2022-02-02 19:31:11 +01:00
Teemu R
9ea83388ac
cli: cleanup discover, fetch update prior device access ( #303 )
...
* Use on_discovered for smoother user experience
* Remove --discover-only as unnecessary
2022-02-02 19:30:48 +01:00
J. Nick Koston
c865d3f02c
Fix unsafe __del__ in TPLinkSmartHomeProtocol ( #300 )
...
* Fix unsafe __del__ in TPLinkSmartHomeProtocol
Fixes
```
Exception ignored in: <function TPLinkSmartHomeProtocol.__del__ at 0x1096d0670>
Traceback (most recent call last):
File "/Users/bdraco/home-assistant/venv/lib/python3.9/site-packages/kasa/protocol.py", line 159, in __del__
self.writer.close()
File "/opt/homebrew/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/streams.py", line 353, in close
return self._transport.close()
File "/opt/homebrew/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/selector_events.py", line 700, in close
self._loop.call_soon(self._call_connection_lost, None)
File "/opt/homebrew/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/base_events.py", line 748, in call_soon
self._check_thread()
File "/opt/homebrew/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/base_events.py", line 785, in _check_thread
raise RuntimeError(
RuntimeError: Non-thread-safe operation invoked on an event loop other than the current one
```
* comment
* comment
* comment
2022-01-30 23:00:00 +01:00
mrbetta
5bf6fda7ee
Added a fixture file for KS220M ( #273 )
...
* Added motion and light sensor for KS220M
* Added fixture file for ks220m
* Remove dump_devinfo and add the extra queries to devtools/dump_devinfo
* Test KS220M as a dimmer
* Add empty modules to baseproto to make the tests pass
Co-authored-by: mrbetta <bettale@gmail.com>
Co-authored-by: Teemu Rytilahti <tpr@iki.fi>
2022-01-29 18:28:14 +01:00
Teemu R
6a31de5381
Drop microsecond precision for on_since ( #296 )
2022-01-29 17:02:05 +01:00
Teemu R
bcb9fe18ab
Improve typing for protocol class ( #289 )
2022-01-14 23:08:25 +01:00
Teemu R
b4036e55ac
Prepare 0.4.1 ( #288 )
...
This minor release fixes issues that were found after homeassistant integration got converted over from pyhs100.
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.4.0...0.4.1 )
**Implemented enhancements:**
- Add --type option to cli [\#269](https://github.com/python-kasa/python-kasa/pull/269 ) ([rytilahti](https://github.com/rytilahti ))
- Minor improvements to onboarding doc [\#264](https://github.com/python-kasa/python-kasa/pull/264 ) ([rytilahti](https://github.com/rytilahti ))
- Add fixture file for KL135 [\#263](https://github.com/python-kasa/python-kasa/pull/263 ) ([ErikSGross](https://github.com/ErikSGross ))
- Add KL135 color temperature range [\#256](https://github.com/python-kasa/python-kasa/pull/256 ) ([rytilahti](https://github.com/rytilahti ))
- Add py.typed to flag that the package is typed [\#251](https://github.com/python-kasa/python-kasa/pull/251 ) ([rytilahti](https://github.com/rytilahti ))
- Add script to check supported devices, update README [\#242](https://github.com/python-kasa/python-kasa/pull/242 ) ([rytilahti](https://github.com/rytilahti ))
- Add perftest to devtools [\#236](https://github.com/python-kasa/python-kasa/pull/236 ) ([rytilahti](https://github.com/rytilahti ))
- Add KP401 US fixture [\#234](https://github.com/python-kasa/python-kasa/pull/234 ) ([bdraco](https://github.com/bdraco ))
- Add KL60 US KP105 UK fixture [\#233](https://github.com/python-kasa/python-kasa/pull/233 ) ([bdraco](https://github.com/bdraco ))
- Make cli interface more consistent [\#232](https://github.com/python-kasa/python-kasa/pull/232 ) ([rytilahti](https://github.com/rytilahti ))
- Add KL400, KL50 fixtures [\#231](https://github.com/python-kasa/python-kasa/pull/231 ) ([bdraco](https://github.com/bdraco ))
- Add fixture for newer KP400 firmware [\#227](https://github.com/python-kasa/python-kasa/pull/227 ) ([bdraco](https://github.com/bdraco ))
- Switch to poetry-core [\#226](https://github.com/python-kasa/python-kasa/pull/226 ) ([fabaff](https://github.com/fabaff ))
- Add fixtures for LB110, KL110, EP40, KL430, KP115 [\#224](https://github.com/python-kasa/python-kasa/pull/224 ) ([bdraco](https://github.com/bdraco ))
**Fixed bugs:**
- Discovery on WSL results in OSError: \[Errno 22\] Invalid argument [\#246](https://github.com/python-kasa/python-kasa/issues/246 )
- New firmware for HS103 blocking local access? [\#42](https://github.com/python-kasa/python-kasa/issues/42 )
- Pin mistune to \<2.0.0 to fix doc builds [\#270](https://github.com/python-kasa/python-kasa/pull/270 ) ([rytilahti](https://github.com/rytilahti ))
- Catch exceptions raised on unknown devices during discovery [\#240](https://github.com/python-kasa/python-kasa/pull/240 ) ([rytilahti](https://github.com/rytilahti ))
**Closed issues:**
- Control device with alias via python api? [\#285](https://github.com/python-kasa/python-kasa/issues/285 )
- Can't install using pip install python-kasa [\#255](https://github.com/python-kasa/python-kasa/issues/255 )
- Kasa Smart Bulb KL135 - Unknown color temperature range error [\#252](https://github.com/python-kasa/python-kasa/issues/252 )
- KL400 Support [\#247](https://github.com/python-kasa/python-kasa/issues/247 )
- Cloud support? [\#245](https://github.com/python-kasa/python-kasa/issues/245 )
- Support for kp401 [\#241](https://github.com/python-kasa/python-kasa/issues/241 )
- LB130 Bulb stopped working [\#237](https://github.com/python-kasa/python-kasa/issues/237 )
- Unable to constantly query bulb in loop [\#225](https://github.com/python-kasa/python-kasa/issues/225 )
- HS103: Unable to query the device: unpack requires a buffer of 4 bytes [\#187](https://github.com/python-kasa/python-kasa/issues/187 )
- Help request - query value [\#171](https://github.com/python-kasa/python-kasa/issues/171 )
- Can't Discover Devices [\#164](https://github.com/python-kasa/python-kasa/issues/164 )
- Concurrency performance question [\#110](https://github.com/python-kasa/python-kasa/issues/110 )
- Define the port by self? [\#108](https://github.com/python-kasa/python-kasa/issues/108 )
- Convert homeassistant integration to use the library [\#9](https://github.com/python-kasa/python-kasa/issues/9 )
**Merged pull requests:**
- Publish to pypi on github release published [\#287](https://github.com/python-kasa/python-kasa/pull/287 ) ([rytilahti](https://github.com/rytilahti ))
- Relax asyncclick version requirement [\#286](https://github.com/python-kasa/python-kasa/pull/286 ) ([rytilahti](https://github.com/rytilahti ))
- Do not crash on discovery on WSL [\#283](https://github.com/python-kasa/python-kasa/pull/283 ) ([rytilahti](https://github.com/rytilahti ))
- Add python 3.10 to CI [\#279](https://github.com/python-kasa/python-kasa/pull/279 ) ([rytilahti](https://github.com/rytilahti ))
- Use codecov-action@v2 for CI [\#277](https://github.com/python-kasa/python-kasa/pull/277 ) ([rytilahti](https://github.com/rytilahti ))
- Add coverage\[toml\] dependency to fix coverage on CI [\#271](https://github.com/python-kasa/python-kasa/pull/271 ) ([rytilahti](https://github.com/rytilahti ))
- Allow publish on test pypi workflow to fail [\#248](https://github.com/python-kasa/python-kasa/pull/248 ) ([rytilahti](https://github.com/rytilahti ))
2022-01-14 16:47:49 +01:00
Teemu R
255c0c9a25
Publish to pypi on github release published ( #287 )
...
* Publish to pypi on github release published, remove testpypi
* Remove release tag check
2022-01-14 16:32:48 +01:00