mirror of
				https://github.com/python-kasa/python-kasa.git
				synced 2025-11-04 06:32:07 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			702 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			702 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Changelog
 | 
						|
=========
 | 
						|
 | 
						|
0.3.5 (2019-04-13)
 | 
						|
------------
 | 
						|
 | 
						|
- Fix for SmartStrip repr (#169) [Alex]
 | 
						|
 | 
						|
  * Added unit tests for repr.
 | 
						|
 | 
						|
  * Fix repr for SmartStrip.
 | 
						|
 | 
						|
  Fixes #165
 | 
						|
 | 
						|
- Smartstrip: return on_since state information only when the socket is on (#161) [Teemu R]
 | 
						|
 | 
						|
  * Smartstrip: return on_since state information only when the socket is on
 | 
						|
 | 
						|
  Fixes #160
 | 
						|
 | 
						|
  * add proper cli printout for hs300 child sockets
 | 
						|
 | 
						|
  * iterate over range, not an integer
 | 
						|
 | 
						|
- Bulb: add the temperature range to state_information, inform the user if the info is missing when calling temperature (#163) [Teemu R]
 | 
						|
 | 
						|
- Fix Discover#discover incorrect documentation (#159) [Georgi Kirichkov]
 | 
						|
 | 
						|
  The documentation states the timeout defaults to 5 seconds, but in the definition of the method timeout is set to 3
 | 
						|
 | 
						|
- Add kelvin range for KL130 (#156) [dieselrabbit]
 | 
						|
 | 
						|
  * Add kelvin range for KL130 (new color bulb)
 | 
						|
 | 
						|
  * Add kelvin range for KL120
 | 
						|
 | 
						|
  Unable to test this personally as I don't have this bulb.
 | 
						|
 | 
						|
- Add LB230. [Teemu R]
 | 
						|
 | 
						|
  Works according to https://github.com/home-assistant/home-assistant.io/pull/8090
 | 
						|
 | 
						|
- Add KL series of bulbs. [Teemu R]
 | 
						|
 | 
						|
  works according to https://github.com/home-assistant/home-assistant.io/pull/8134
 | 
						|
 | 
						|
 | 
						|
0.3.4 (2019-01-16)
 | 
						|
------------
 | 
						|
 | 
						|
There are two notable changes (and other small fixes) in this minor release thanks to our contributors:
 | 
						|
 | 
						|
* Support for HS300 smartstrip (thanks to jimboca!)
 | 
						|
* The hue range for light bulbs is fixed (thanks to nkonopinski, Annika Jacobs and Joe Zach!)
 | 
						|
 | 
						|
 | 
						|
- Updated valid range to 360 (with passing tests) (#153) [Annika Jacobs, Zac Koch]
 | 
						|
 | 
						|
  * Updated valid range to 360
 | 
						|
 | 
						|
  with it set to 359 it will not show the color red. Just tested this with a buddies bulb - same model/fw
 | 
						|
  https://imgur.com/a/kSNZIuL
 | 
						|
 | 
						|
- Add support for HS300 power strip (#137) [jimboca]
 | 
						|
 | 
						|
- Add HS103 to readme. [Teemu R]
 | 
						|
 | 
						|
- Avoid 'referenced before assignment' exception (#150) [Kevron Rees]
 | 
						|
 | 
						|
- Cli: show an error for incorrect hsv values (#142) [Annika Jacobs]
 | 
						|
 | 
						|
  Raising an exception if an incomplete HSV colour is provided.
 | 
						|
 | 
						|
- Add a "Reviewed by Hound" badge (#139) [Scott Albertson]
 | 
						|
 | 
						|
- Change valid hue range to 0-359 (fixes #130), update README.md & test
 | 
						|
  (#140) [Annika Jacobs, nkonopinski]
 | 
						|
 | 
						|
  Tested on LB130(EU) hardware 1.0, firmware 1.8.6 Build 180809 Rel.091659
 | 
						|
 | 
						|
- Remove deprecated identify, this has been deprecated for long enough.
 | 
						|
  (#136) [Teemu R]
 | 
						|
 | 
						|
  * Remove deprecated identify, this has been deprecated for long enough.
 | 
						|
 | 
						|
- Add missed test for invalid types. [Teemu R]
 | 
						|
 | 
						|
- Update README to include mention about hs220. [Teemu R]
 | 
						|
 | 
						|
- Add tests and pretty output for HS220, fix minor issues in tests.
 | 
						|
  [Teemu R]
 | 
						|
 | 
						|
- Add reboot command to restart the device (#129) [Teemu R]
 | 
						|
 | 
						|
 | 
						|
0.3.3 (2018-09-06)
 | 
						|
------------------
 | 
						|
 | 
						|
This release contains a breaking change for hsv setter, which is changed to accept
 | 
						|
the new brightness value in percentage instead of an integer between 1 and 255.
 | 
						|
 | 
						|
The alias support has been extended to allow changing the alias, as well as accessing
 | 
						|
the device using it (without specifying an IP address or a hostname), which can be
 | 
						|
useful in some setups. Furthermore utf8-encoded aliases are now handled correctly.
 | 
						|
 | 
						|
- Fix bug that changed brightness at each HSV update (#124) [Sebastian Templ]
 | 
						|
 | 
						|
  * Fix bug that changed brightness at each hsv update
 | 
						|
 | 
						|
  The HSV setter should accept a percentage for the brightness
 | 
						|
  value but actually assumed the brightness to be in absolute values
 | 
						|
  between 1 and 255.
 | 
						|
  This resulted in brightness reductions at each HSV update, in
 | 
						|
  steps of 100% -> 100/255=39% -> 39/255=15% -> ... (see also
 | 
						|
  https://github.com/home-assistant/home-assistant/issues/15582,
 | 
						|
  where I originally reported this bug).
 | 
						|
 | 
						|
  * Modify HSV property to return brightness in percent
 | 
						|
 | 
						|
  Switch from reported brightness values of 1..255 to percentage
 | 
						|
  values, for consistency with the apidoc and 8761dd8.
 | 
						|
 | 
						|
  * Add checks and tests for the hsv setter
 | 
						|
 | 
						|
  - make sure that new (hue, saturation, brightness) values are
 | 
						|
    within their valid ranges (0..255, 0..100, 0..100) and raise
 | 
						|
    SmartDeviceException if they are not
 | 
						|
  - add test function for the hsv setter
 | 
						|
 | 
						|
- Allow using alias instead of IP address or hostname (#127) [kwazel]
 | 
						|
 | 
						|
  * Added option to control devices by device name
 | 
						|
 | 
						|
  * set unused ip address to dont-care
 | 
						|
 | 
						|
  * spend less time discovering by devicename, removed command
 | 
						|
 | 
						|
  * consistent use of alias instead of device name
 | 
						|
 | 
						|
  * processed review comments
 | 
						|
 | 
						|
  * Return when no device with alias has been found
 | 
						|
 | 
						|
- Add 'alias' command for querying and setting the alias (#126) [Teemu R]
 | 
						|
 | 
						|
  * add 'alias' command for querying and setting the alias
 | 
						|
 | 
						|
  * calculate coverage only on library files, e.g., ignoring cli and test files
 | 
						|
 | 
						|
  * remove py34 and add py37
 | 
						|
 | 
						|
  * readd py33, remove it from travis as it seems to be a travis limitation only
 | 
						|
 | 
						|
  * use xenial dist for travis, regular does not support py37..
 | 
						|
 | 
						|
- Support Unicode strings in encrypt/decrypt (#125) [Anders Melchiorsen]
 | 
						|
 | 
						|
 | 
						|
0.3.2 (2018-06-17)
 | 
						|
------------------
 | 
						|
 | 
						|
- Add bulb valid temperature range (#122) [Thibault Cohen]
 | 
						|
 | 
						|
 | 
						|
0.3.1 (2018-06-16)
 | 
						|
------------------
 | 
						|
 | 
						|
This release adds a few improvements, most importantly:
 | 
						|
 | 
						|
* emeter support for new HS110 hardware/firmware revision.
 | 
						|
 | 
						|
* HS220 supports now dimming.
 | 
						|
 | 
						|
Breaking changes:
 | 
						|
 | 
						|
* get_emeter_daily & get_emeter_monthly will report back in kwh on bulbs, making the API consistent with the smart plugs.
 | 
						|
 | 
						|
- Fix emeter support for newer HS110 firmwares (#107) [Teemu R]
 | 
						|
 | 
						|
  * Add support for new-style emeter
 | 
						|
 | 
						|
  This commit adds a straightforward dict-extending container,
 | 
						|
  which converts between the old and new keys of the get_emeter_realtime()
 | 
						|
  Furthermore the unit tests are converted to base on HS100
 | 
						|
  instead of HS110.
 | 
						|
 | 
						|
  This is the first step to fix #103, other emeter-using functionality
 | 
						|
  has not yet been converted, only getting the current consumption.
 | 
						|
 | 
						|
  * fix a couple of linting issues
 | 
						|
 | 
						|
  * Convert new-style emeter values also for get_emeter_daily() and get_emeter_monthly()
 | 
						|
 | 
						|
  * Adds a new 'kwh' parameter for those calls, which defaults to True
 | 
						|
  * This changes the behavior of bulbs emeter reporting, use False if you prefer the preciser values
 | 
						|
 | 
						|
- Update pypi description (#102) [Teemu R]
 | 
						|
 | 
						|
  * update pypi description
 | 
						|
 | 
						|
  * add wall switches
 | 
						|
 | 
						|
- Update smartplug.py to support dimming in HS220 (#115) [JsChiSurf]
 | 
						|
 | 
						|
  * Update smartplug.py to support dimming in HS220
 | 
						|
 | 
						|
  Switch functions essentially as a "plug" with the addition to support for dimming, for which can be test for by verifying existence of
 | 
						|
'brightness' array value.
 | 
						|
 | 
						|
  * Attempt at updates to pass validator
 | 
						|
 | 
						|
  * Maybe this time?  :-)
 | 
						|
 | 
						|
  * Add more detail to comment blocks
 | 
						|
 | 
						|
  Make clear in requests for current brightness level the expected return values, and note that light will turn on when setting a brightness
 | 
						|
level, if not already on.  This makes clear that a state change request (turn_on) does NOT have to be made first when setting brightness.
 | 
						|
 | 
						|
  * Update smartplug.py
 | 
						|
 | 
						|
  * Update smartplug.py
 | 
						|
 | 
						|
  Fixes #114
 | 
						|
 | 
						|
- Add python_requires for >= 3.4. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Add hs210. [Teemu R]
 | 
						|
 | 
						|
  Based on user report: https://community.home-assistant.io/t/tp-link-hs210-3-way-kit/39762/6
 | 
						|
 | 
						|
- Add support for DNS host names (#104) [K Henriksson]
 | 
						|
 | 
						|
- Use direct device type discovery for devices (#106) [K Henriksson]
 | 
						|
 | 
						|
  This is more efficient than enumerating all devices and checking the IP.
 | 
						|
 | 
						|
- Cli: add 'time' command to get the current time from the device.
 | 
						|
  [Teemu Rytilahti]
 | 
						|
 | 
						|
- Created a docker file to aid dev setup (#99) [TheSmokingGnu]
 | 
						|
 | 
						|
  * created a docker file to aid dev setup
 | 
						|
 | 
						|
  * fixed review comments in README and Dockerfile
 | 
						|
 | 
						|
  * review comments to simplify the docker run command
 | 
						|
 | 
						|
 | 
						|
0.3.0 (2017-09-14)
 | 
						|
------------------
 | 
						|
 | 
						|
This is the first release after a while and aims to improve the robustness all-around.
 | 
						|
To make this happen we have decided to break the API and drop the support for Python 2.
 | 
						|
 | 
						|
API break:
 | 
						|
    * Python2 support has been dropped.
 | 
						|
    * pyHS100/pyHS100.py has been splitted to smartdevice.py, smartplug.py and smartbulb.py, no one should have ever accessed these directly though.
 | 
						|
    * SmartPlugException is no more, SmartDeviceException is used by both SmartPlug and SmartBulb
 | 
						|
    * Discovery has been moved from TPLinkSmartHomeProtocol into its own class for easier 3rd party use.
 | 
						|
    * SmartDevice's identify() and `features` will emit a warning when used. These will likely be dropped or revised in the future and their use should be avoided.
 | 
						|
 | 
						|
Other changes:
 | 
						|
 | 
						|
    * CLI tool supports device discovery and is usable without specifying device type or IP for testing
 | 
						|
    * CLI tool supports changing bulb-specific settings
 | 
						|
    * Library support & unit tests are extended to cover more devices.
 | 
						|
       - Supported plugs: HS100, HS105, HS110
 | 
						|
       - Supported switches: HS200
 | 
						|
       - Supported bulbs: LB100, LB110, LB120, LB130
 | 
						|
 | 
						|
- Bump the version. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Revise README, fixes #86. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Update the changelog. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Local test clean (#96) [Sean Gollschewsky]
 | 
						|
 | 
						|
  * Add ignores for working coverage/tox/IDE files.
 | 
						|
 | 
						|
  * Allow tox not to fail if python version is not available.
 | 
						|
 | 
						|
- Move SmartDeviceException to SmartDevice, and remove types.py complet…
 | 
						|
  (#95) [Teemu R]
 | 
						|
 | 
						|
  * move SmartDeviceException to SmartDevice, and remove types.py completely. fixes #94
 | 
						|
 | 
						|
  * do not import skipIf anymore
 | 
						|
 | 
						|
- Move has_emeter implementation from SmartDevice to SmartPlug, avoid
 | 
						|
  using features() internally (#93) [Teemu R]
 | 
						|
 | 
						|
  * 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
 | 
						|
 | 
						|
- Add typing hints to make it easier for 3rd party developers to use the
 | 
						|
  library (#90) [Teemu R]
 | 
						|
 | 
						|
  * 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
 | 
						|
- Execute coveralls only on travis, fixes #84 (#91) [Teemu R]
 | 
						|
 | 
						|
- Make flake8 pass by some rewording. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Make hound a bit more happier. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Deprecate features and identify, use state_information in __repr__ instead of identify. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Fix smartbulb hsv documentation, values are degrees and percentages instead of 0-255. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Another try, just with module name. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Make tox run pytest-cov, add coveralls. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Prevent failure if device's sysinfo does not have a "feature" attribute. (#77) [Sean Gollschewsky]
 | 
						|
 | 
						|
- Allow None for rssi, add a missing newline to fakes.py. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Add hs100 tests. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Make tests to test against all known device variants. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Remove unused tplinksmarthomeprotocol import. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Fix hs105 mac to pass the test, wrap sysinfo_lb110 properly inside 'system' [Teemu Rytilahti]
 | 
						|
 | 
						|
- Return None instead of False for emeter related actions. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Wrap sysinfo to defaultdict to return None for keys which do not exist, makes unsupported keys not to fail hard (#72) [Teemu R]
 | 
						|
 | 
						|
- Add hs100 example to fakes.py, thanks to Semant1ka on #67 (#74) [Teemu R]
 | 
						|
 | 
						|
- Discover refactoring, enhancements to the cli tool (#71) [Teemu R]
 | 
						|
 | 
						|
  * 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
 | 
						|
 | 
						|
- Add LB110 sysinfo (#75) [Sean Gollschewsky]
 | 
						|
 | 
						|
  * Add LB110 sysinfo
 | 
						|
 | 
						|
  * Linting.
 | 
						|
 | 
						|
- Add @pass_dev to hsv, adjust ranges (#70) [Teemu R]
 | 
						|
 | 
						|
  * add @pass_dev to hsv command, it was always broken
 | 
						|
 | 
						|
  * Hue goes up to 360, saturation and value are up to 100(%)
 | 
						|
 | 
						|
- Extract shared types (exceptions, enums), add module level doc, rename exception to be generic. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Add check to ensure devices with lat/lon with `_i` suffix are supported (#54) (#56) [Matt LeBrun]
 | 
						|
 | 
						|
  * Add check to ensure devices with lat/lon with `_i` suffix are supported (#54)
 | 
						|
 | 
						|
  * Add .gitignore for posterity
 | 
						|
 | 
						|
- Generalize smartdevice class and add bulb support for the cli tool (#50) [Teemu R]
 | 
						|
 | 
						|
  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```.
 | 
						|
 | 
						|
- Refactor and drop py2 support (#49) [Teemu R]
 | 
						|
 | 
						|
  * 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
 | 
						|
 | 
						|
0.2.4.2 (2017-04-08)
 | 
						|
--------------------
 | 
						|
- Add installation requirement for future package. [Teemu Rytilahti]
 | 
						|
 | 
						|
0.2.4.1 (2017-03-26)
 | 
						|
--------------------
 | 
						|
- Cli: display an error if no ip is given. [Teemu Rytilahti]
 | 
						|
 | 
						|
 | 
						|
0.2.4 (2017-03-26)
 | 
						|
------------------
 | 
						|
 | 
						|
- Add new client tool (#42) [Teemu R]
 | 
						|
 | 
						|
  * 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
 | 
						|
 | 
						|
- Ignore OSError on socket.shutdown() [Teemu Rytilahti]
 | 
						|
 | 
						|
  This fixes #22 and obsoletes PR #23.
 | 
						|
- Set color temp to 0 when trying to change color (#36) [pete1450]
 | 
						|
 | 
						|
  * set color temp to 0 when trying to change color
 | 
						|
 | 
						|
  * changed tabs to spaces
 | 
						|
 | 
						|
- Add changelog & add .gitchangelog.rc (#28) [Teemu R]
 | 
						|
 | 
						|
  This commits adds .gitchangelog.rc for changelog generation.
 | 
						|
  To generate, simply run gitchangelog.
 | 
						|
 | 
						|
- Discover: Catch socket.timeout and debug log it (#34) [Teemu R]
 | 
						|
 | 
						|
  Fixes #33
 | 
						|
 | 
						|
- Add flake8 to tox, disable qa on pyHS100/__init__.py, fix py27
 | 
						|
  compatibility (#31) [Teemu R]
 | 
						|
 | 
						|
- Add support for TP-Link smartbulbs (#30) [Matthew Garrett]
 | 
						|
 | 
						|
  * Add support for new-style protocol
 | 
						|
 | 
						|
  Newer devices (including my LB130) seem to include the request length in
 | 
						|
  the previously empty message header, and ignore requests that lack it. They
 | 
						|
  also don't send an empty packet as the final part of a response, which can
 | 
						|
  lead to hangs. Add support for this, with luck not breaking existing devices
 | 
						|
  in the process.
 | 
						|
 | 
						|
  * Fix tests
 | 
						|
 | 
						|
  We now include the request length in the encrypted packet header, so strip
 | 
						|
  the header rather than assuming that it's just zeroes.
 | 
						|
 | 
						|
  * Create a SmartDevice parent class
 | 
						|
 | 
						|
  Add a generic SmartDevice class that SmartPlug can inherit from, in
 | 
						|
  preparation for adding support for other device types.
 | 
						|
 | 
						|
  * Add support for TP-Link smartbulbs
 | 
						|
 | 
						|
  These bulbs use the same protocol as the smart plugs, but have additional
 | 
						|
  commands for controlling bulb-specific features. In addition, the bulbs
 | 
						|
  have their emeter under a different target and return responses that
 | 
						|
  include the energy unit in the key names.
 | 
						|
 | 
						|
  * Add tests for bulbs
 | 
						|
 | 
						|
  Not entirely comprehensive, but has pretty much the same level of testing
 | 
						|
  as plugs
 | 
						|
 | 
						|
 | 
						|
0.2.3 (2017-01-11)
 | 
						|
------------------
 | 
						|
 | 
						|
- Add .gitchnagelog.rc for changelog generation. to generate, simply
 | 
						|
  install and run gitchangelog. [Teemu Rytilahti]
 | 
						|
 | 
						|
- Version bump. [GadgetReactor]
 | 
						|
 | 
						|
- Initial steps to remove caching (#26) [Teemu R]
 | 
						|
 | 
						|
  This commit removes caching of sysinfo to avoid
 | 
						|
  inconsistent states as described in issue #14.
 | 
						|
 | 
						|
  Each an every access for properties will cause a request
 | 
						|
  to be made to the device. To avoid this, user of the library
 | 
						|
  may want to access sys_info() directly instead of using the helpers.
 | 
						|
 | 
						|
  Currently sys_info() returns raw json object where-as helpers do
 | 
						|
  parse information for easier consumption; current state is just to
 | 
						|
  provide a PoC how it looks compared to having an active update()
 | 
						|
  for fetching the info.
 | 
						|
 | 
						|
- Make tests runnable without device (#24) [Teemu R]
 | 
						|
 | 
						|
  * Make tests runnable without device
 | 
						|
 | 
						|
  Adds preliminary support for fake devices, thanks to
 | 
						|
  hoveeman's sysinfos from issue #14,
 | 
						|
  making running tests possible without a device.
 | 
						|
 | 
						|
  At the moment we have only HS110 and HS200 infos available, and tests
 | 
						|
  are currently run only against HS110 data.
 | 
						|
 | 
						|
  * Make tests py27 compatible
 | 
						|
 | 
						|
- Add device discovery (#25) [Teemu R]
 | 
						|
 | 
						|
  * add (untested) discover mode
 | 
						|
 | 
						|
  * Keep discovery and normal communication separate, uppercase magic consts
 | 
						|
 | 
						|
  This sepearates the earlier test code for discovering devices,
 | 
						|
  and adds 5 sec timeout for gathering responses from potential devices.
 | 
						|
 | 
						|
  This commit also uppercases magic constants.
 | 
						|
 | 
						|
  Discovery & communication tested with HS110.
 | 
						|
 | 
						|
  * update readme with example how to discover devices, pep8ify
 | 
						|
 | 
						|
- Add timeout to query (#19) [Austin]
 | 
						|
 | 
						|
- Refactor & add unittests for almost all functionality, add tox for
 | 
						|
  running tests on py27 and py35 (#17) [Teemu R]
 | 
						|
 | 
						|
  * Refactor & add unittests for almost all functionality, add tox for running tests on py27 and py35
 | 
						|
 | 
						|
  This commit adds unit tests for current api functionality.
 | 
						|
  - currently no mocking, all tests are run on the device.
 | 
						|
  - the library is now compatible with python 2.7 and python 3.5, use tox for tests
 | 
						|
  - schema checks are done with voluptuous
 | 
						|
 | 
						|
  refactoring:
 | 
						|
  - protocol is separated into its own file, smartplug adapted to receive protocol worker as parameter.
 | 
						|
  - cleaned up the initialization routine, initialization is done on use, not on creation of smartplug
 | 
						|
  - added model and features properties, identity kept for backwards compatibility
 | 
						|
  - no more storing of local variables outside _sys_info, paves a way to handle state changes sanely (without complete reinitialization)
 | 
						|
 | 
						|
  * Fix CI warnings, remove unused leftover code
 | 
						|
 | 
						|
  * Rename _initialize to _fetch_sysinfo, as that's what it does.
 | 
						|
 | 
						|
  * examples.cli: fix identify call, prettyprint sysinfo, update readme which had false format for led setting
 | 
						|
 | 
						|
  * Add tox-travis for automated testing.
 | 
						|
 | 
						|
0.2.2 (2016-12-13)
 | 
						|
------------------
 | 
						|
 | 
						|
- Version bump (#16) [Georgi Kirichkov]
 | 
						|
 | 
						|
- Read all data from the device, disable double-encoding, implement more
 | 
						|
  APIs, refactor querying, update README (#11) [Teemu R]
 | 
						|
 | 
						|
  * Read from socket until no data available, disable double string encoding
 | 
						|
 | 
						|
  HS110 sends sometimes datagrams in chunks especially for get_daystat,
 | 
						|
  this patch makes it to read until there is no more data to be read.
 | 
						|
 | 
						|
  As json.dumps() does JSON encoding already, there's no need to str()
 | 
						|
  the year or month either.
 | 
						|
 | 
						|
  * Add cli.py, a simple script to query devices for debugging purposes.
 | 
						|
 | 
						|
  * allow easier importing with from pyHS100 import SmartPlug
 | 
						|
 | 
						|
  * move cli.py to examples, add short usage into README.md
 | 
						|
 | 
						|
  * Implement more available APIs, refactor querying code.
 | 
						|
 | 
						|
  This commit adds access to new properties, both read & write,  while keeping the old one (mostly) intact.
 | 
						|
  Querying is refactored to be done inside _query_helper() method,
 | 
						|
  which unwraps results automatically and rises SmartPlugException() in case of errors.
 | 
						|
  Errors are to be handled by clients.
 | 
						|
 | 
						|
  New features:
 | 
						|
  * Setting device alias (plug.alias = "name")
 | 
						|
  * led read & write
 | 
						|
  * icon read (doesn't seem to return anything without cloud support at least), write API is not known, throws an exception currently
 | 
						|
  * time read (returns datetime), time write implemented, but not working even when no error is returned from the device
 | 
						|
  * timezone read
 | 
						|
  * mac read & write, writing is untested for now.
 | 
						|
 | 
						|
  Properties for easier access:
 | 
						|
  * hw_info: return hw-specific elements from sysinfo
 | 
						|
  * on_since: pretty-printed from sysinfo
 | 
						|
  * location: latitude and longitued from sysinfo
 | 
						|
  * rssi: rssi from sysinfo
 | 
						|
 | 
						|
  * Update README.md with examples of available features.
 | 
						|
 | 
						|
  * Handle comments from mweinelt
 | 
						|
 | 
						|
  * Refactor state handling, use booleans instead of strings
 | 
						|
 | 
						|
  * Fix issues raised during the review.
 | 
						|
 | 
						|
  Following issues are addressed by this commit:
 | 
						|
  * All API is more or less commented (including return types, exceptions, ..)
 | 
						|
  * Converted state to use
 | 
						|
  * Added properties is_on, is_off for those who don't want to check against strings.
 | 
						|
  * Handled most issues reported by pylint.
 | 
						|
  * Adjusted _query_helper() to strip off err_code from the result object.
 | 
						|
  * Fixed broken format() syntax for string formattings.
 | 
						|
 | 
						|
  * Fix ci woes plus one typo.
 | 
						|
 | 
						|
  * Do initialization after changing device properties, fix nits.
 | 
						|
 | 
						|
- Constants will be static members of SmartPlug. [Martin Weinelt]
 | 
						|
 | 
						|
- Set up hound-ci. [Martin Weinelt]
 | 
						|
 | 
						|
- Normalize docstrings, address flake8 & pylint recommendations. [Martin
 | 
						|
  Weinelt]
 | 
						|
 | 
						|
- Properly detect advertised features, expose alias. [Martin Weinelt]
 | 
						|
 | 
						|
- Externalize the TP-Link Smart Home Protocol. [Martin Weinelt]
 | 
						|
 | 
						|
- HS200 support. [GadgetReactor]
 | 
						|
 | 
						|
  Update version to reflect latest changes
 | 
						|
 | 
						|
- Adding in support for the HS200 Wall switch referencing issues (#4),
 | 
						|
  simplifying model determination. [Stephen Maggard]
 | 
						|
 | 
						|
- Adding in support for the HS200 Wall switch referencing issues (#4),
 | 
						|
  simplifying model determination. [Stephen Maggard]
 | 
						|
 | 
						|
- Adding in support for the HS200 Wall switch referencing issues (#4)
 | 
						|
  [Stephen Maggard]
 | 
						|
 | 
						|
- Refactors state property to use get_info() and removes hs100_status()
 | 
						|
  [Georgi Kirichkov]
 | 
						|
 | 
						|
- Adds model check to current_consumption() and removes whitespace.
 | 
						|
  [Georgi Kirichkov]
 | 
						|
 | 
						|
- Fixes indentation and removes extra whitespaces. [Georgi Kirichkov]
 | 
						|
 | 
						|
- Update setup.py. [GadgetReactor]
 | 
						|
 | 
						|
- Update LICENSE. [GadgetReactor]
 | 
						|
 | 
						|
  Updated to GPLv3 (instead of just copy and pasting)
 | 
						|
 | 
						|
0.2.0 (2016-10-17)
 | 
						|
------------------
 | 
						|
 | 
						|
- Bumps the module version to 0.2.0. [Georgi Kirichkov]
 | 
						|
 | 
						|
- Adds additional comments, for better compliance with the Apache
 | 
						|
  license. [Georgi Kirichkov]
 | 
						|
 | 
						|
- Makes the socket sending code compatible with both Python 2 and python
 | 
						|
  3. [Georgi Kirichkov]
 | 
						|
 | 
						|
  Adds a shutdown to the socket used to send commands
 | 
						|
 | 
						|
- Refactors state() to use turn_on() and turn_off() [Georgi Kirichkov]
 | 
						|
 | 
						|
- Adds Energy Meter commands available on the TP-Link HS110. [Georgi
 | 
						|
  Kirichkov]
 | 
						|
 | 
						|
  Also adds turn_on() and turn_off() commands to supplement the state
 | 
						|
 | 
						|
- Update pyHS100.py. [GadgetReactor]
 | 
						|
 | 
						|
- Update __init__.py. [GadgetReactor]
 | 
						|
 | 
						|
- Update __init__.py. [GadgetReactor]
 | 
						|
 | 
						|
0.1.2 (2016-07-09)
 | 
						|
------------------
 | 
						|
 | 
						|
- 0.1.2. [GadgetReactor]
 | 
						|
 | 
						|
- Update setup.py. [GadgetReactor]
 | 
						|
 | 
						|
- Update setup.py. [GadgetReactor]
 | 
						|
 | 
						|
- Delete pyHS100.py. [GadgetReactor]
 | 
						|
 | 
						|
- Create pyHS100.py. [GadgetReactor]
 | 
						|
 | 
						|
- Create __init__.py. [GadgetReactor]
 | 
						|
 | 
						|
- Create setup.py. [GadgetReactor]
 | 
						|
 | 
						|
- Create pyHS100.py. [GadgetReactor]
 | 
						|
 | 
						|
- Initial commit. [GadgetReactor]
 |