Georgi Kirichkov
c766e3594b
Merge pull request #109 from rytilahti/require_py34
...
Add python_requires for >= 3.4
2018-01-22 00:13:01 +02:00
Teemu Rytilahti
4c427a8413
Add python_requires for >= 3.4
2018-01-21 00:48:48 +01:00
Teemu R
bda2ce0d89
add hs210
...
Based on user report: https://community.home-assistant.io/t/tp-link-hs210-3-way-kit/39762/6
2018-01-19 22:49:29 +01:00
K Henriksson
d40fff4f9e
Add support for DNS host names ( #104 )
2018-01-17 22:03:19 +01:00
K Henriksson
a426488449
Use direct device type discovery for devices ( #106 )
...
This is more efficient than enumerating all devices and checking the IP.
2018-01-14 19:10:53 +01:00
Teemu Rytilahti
34347e59ae
cli: add 'time' command to get the current time from the device
2017-10-17 00:53:18 +02:00
TheSmokingGnu
95b743f11d
created a docker file to aid dev setup ( #99 )
...
* created a docker file to aid dev setup
* fixed review comments in README and Dockerfile
* review comments to simplify the docker run command
2017-10-13 23:27:05 +02:00
Teemu R
b80923061f
Release 0.3.0 ( #88 )
...
* update the changelog
* revise README, fixes #86
* bump the version
* final changelog update for 0.3.0
2017-10-07 17:51:10 +02:00
Sean Gollschewsky
44424c1182
Local test clean ( #96 )
...
* Add ignores for working coverage/tox/IDE files.
* Allow tox not to fail if python version is not available.
2017-10-07 17:44:45 +02:00
Teemu R
0b2e371e79
move SmartDeviceException to SmartDevice, and remove types.py complet… ( #95 )
...
* move SmartDeviceException to SmartDevice, and remove types.py completely. fixes #94
* do not import skipIf anymore
2017-10-07 17:41:51 +02:00
Teemu R
d22eceefae
move has_emeter implementation from SmartDevice to SmartPlug, avoid using features() internally ( #93 )
...
* move has_emeter implementation from SmartDevice to SmartPlug, avoid using features() internally
* add stacklevel to deprecation warnings to see where they are really called
* make tests pass on a real device. if PLUG_IP is not None, the tests will be run on a device at the defined IP address
2017-10-07 17:36:49 +02:00
Teemu R
af90a36153
add typing hints to make it easier for 3rd party developers to use the library ( #90 )
...
* add typing hints to make it easier for 3rd party developers to use the library
* remove unused devicetype enum to support python3.3
* add python 3.3 to travis and tox, install typing module in setup.py
2017-09-18 18:13:06 +02:00
Teemu R
3ddd31f3c1
execute coveralls only on travis, fixes #84 ( #91 )
2017-09-16 19:00:17 +02:00
Teemu Rytilahti
281f236221
make flake8 pass by some rewording
2017-09-16 18:57:42 +02:00
Teemu Rytilahti
1457c4f533
make hound a bit more happier
2017-09-16 18:55:22 +02:00
Teemu Rytilahti
a9c1d08d66
deprecate features and identify, use state_information in __repr__ instead of identify
2017-09-16 18:29:20 +02:00
Teemu Rytilahti
31b5b89d35
fix smartbulb hsv documentation, values are degrees and percentages instead of 0-255
2017-09-16 18:28:57 +02:00
Teemu Rytilahti
79f3b447c8
call socket's close() even when shutdown causes an exception, fixes hopefully #65 for good
2017-09-16 18:27:41 +02:00
Sean Gollschewsky
25e550d3fe
Fix brightness and temperature. ( #89 )
2017-09-15 14:23:06 +02:00
Teemu R
3a14484d47
add lb120 sysinfo to test suite, thanks to githubbuh ( #85 )
2017-08-30 03:35:34 +03:00
Teemu R
8f83ca8784
add lb100 tests, thanks to kdschlosser (issue #58 ) ( #82 )
2017-08-22 16:55:49 +02:00
Teemu R
2d26e8cf35
make tox run pytest-cov, add coveralls ( #81 )
...
* make tox run pytest-cov, add coveralls
* another try, just with module name
2017-08-09 13:07:24 +02:00
Sean Gollschewsky
a621f5329d
Prevent failure if device's sysinfo does not have a "feature" attribute. ( #77 )
2017-08-06 15:42:33 +02:00
Georgi Kirichkov
d851540380
Merge pull request #76 from rytilahti/extend_tests
...
Extend tests
2017-08-06 15:36:40 +03:00
Teemu Rytilahti
651331bb77
allow None for rssi, add a missing newline to fakes.py
2017-08-05 17:33:08 +02:00
Teemu Rytilahti
d648c6bd2b
add hs100 tests
2017-08-05 17:30:40 +02:00
Teemu Rytilahti
675f618777
make tests to test against all known device variants
2017-08-05 17:30:40 +02:00
Teemu Rytilahti
1d7e5fa73c
remove unused tplinksmarthomeprotocol import
2017-08-05 17:30:40 +02:00
Teemu Rytilahti
5839c2d1de
fix hs105 mac to pass the test, wrap sysinfo_lb110 properly inside 'system'
2017-08-05 17:30:40 +02:00
Teemu Rytilahti
92c9cddfd4
return None instead of False for emeter related actions
2017-08-05 17:30:40 +02:00
Teemu R
0927930f41
wrap sysinfo to defaultdict to return None for keys which do not exist, makes unsupported keys not to fail hard ( #72 )
2017-08-05 17:28:45 +02:00
Teemu R
d15e7be4f3
add hs100 example to fakes.py, thanks to Semant1ka on #67 ( #74 )
2017-08-05 16:28:11 +02:00
Teemu R
07af48e41a
Discover refactoring, enhancements to the cli tool ( #71 )
...
* Discover refactoring, enhancements to the cli tool
* Discover tries to detect the type of the device from sysinfo response
* Discover.discover() returns an IP address keyed dictionary,
values are initialized instances of the automatically detected device type.
* When no IP is given, autodetect all supported devices and print out their states
* When only IP but no type is given, autodetect type and make a call based on that information.
* One can define --bulb or --plug to skip the detection.
* renamed pyHS100.py -> smartdevice.py
* SmartPlugException -> SmartDeviceException in comments
* fix mic_type check
* make time() return None on failure as we don't know which devices support getting the time and it's used in the cli tool
* hw_info: check if key exists before accessing it, add mic_mac and mic_type
* Check for mic_mac on mac, based on work by kdschloesser on issue #59
* make hound happy, __init__ on SmartDevice cannot error out so removing 'raises' documentation
2017-08-05 15:49:56 +02:00
Sean Gollschewsky
d7aade4e61
Add LB110 sysinfo ( #75 )
...
* Add LB110 sysinfo
* Linting.
2017-08-05 15:47:41 +02:00
Teemu R
10544004cc
add @pass_dev to hsv, adjust ranges ( #70 )
...
* add @pass_dev to hsv command, it was always broken
* Hue goes up to 360, saturation and value are up to 100(%)
2017-08-03 22:13:56 +02:00
Georgi Kirichkov
b7a7fdbfaf
Merge pull request #61 from rytilahti/master
...
Slight refactoring
2017-05-27 09:21:16 +03:00
Teemu Rytilahti
7457ad48f8
extract shared types (exceptions, enums), add module level doc, rename exception to be generic
2017-05-26 16:12:52 +02:00
Matt LeBrun
93d24281c6
Add check to ensure devices with lat/lon with _i
suffix are supported ( #54 ) ( #56 )
...
* Add check to ensure devices with lat/lon with `_i` suffix are supported (#54 )
* Add .gitignore for posterity
2017-04-26 18:43:50 +02:00
Teemu R
09e8948790
generalize smartdevice class and add bulb support for the cli tool ( #50 )
...
Fixes #48 and #51 . The basic functionality should work on all types of supported devices, for bulb specific commands it is currently necessary to specify ```--bulb```.
2017-04-24 19:28:22 +02:00
Teemu R
86f14642c8
Refactor and drop py2 support ( #49 )
...
* move is_off property to SmartDevice, implement is_on for bulb and use it
* refactor by moving smartbulb and smartplug to their own classes
* drop python2 compatibility, make flake8 happy
* travis: remove 2.7, add 3.6
2017-04-14 14:24:58 +02:00
Teemu R
c9662fcb7b
add future requirement ( #47 )
...
bump the version & add future requirement
2017-04-08 01:58:20 +02:00
Teemu Rytilahti
23e51a8686
cli: display an error if no ip is given
...
also bump the version to 0.2.4.1 with this fix.
2017-03-26 03:22:18 +02:00
Teemu R
b1cc0fd3f6
Release 0.2.4 preparations ( #43 )
2017-03-25 23:04:32 +01:00
Teemu R
d253b55d41
Add new client tool ( #42 )
...
* Add new client tool
After installing the package pyhs100 command-line tool can be used
to control the plug.
See --help for its usage, most of the features for plugs are implemented,
some of the shared functionality works for bulbs too.
* Add discover command
* Delete old examples, the cli works as an example well enough
2017-03-20 19:03:19 +01:00
hexa-
900b5394f4
Merge pull request #41 from rytilahti/ignore_oserror_on_shutdown
...
Ignore OSError on socket.shutdown()
2017-03-19 17:15:40 +01:00
Teemu Rytilahti
9d3fbfa975
Ignore OSError on socket.shutdown()
...
This fixes #22 and obsoletes PR #23 .
2017-03-19 15:56:38 +01:00
pete1450
72cbaa2839
set color temp to 0 when trying to change color ( #36 )
...
* set color temp to 0 when trying to change color
* changed tabs to spaces
2017-03-17 14:40:48 +01:00
Teemu R
09f915183b
Add changelog & add .gitchangelog.rc ( #28 )
...
This commits adds .gitchangelog.rc for changelog generation.
To generate, simply run gitchangelog.
2017-03-17 14:38:58 +01:00
Teemu R
1bada16636
discover: Catch socket.timeout and debug log it ( #34 )
...
Fixes #33
2017-03-17 14:32:50 +01:00
Teemu R
5dc94cd5c8
Add flake8 to tox, disable qa on pyHS100/__init__.py, fix py27 compatibility ( #31 )
2017-01-17 21:38:44 +08:00