Releases: jasonacox/tinytuya
Releases · jasonacox/tinytuya
v1.2.3 - Dimmer and Brightness Functions
- PyPi Version 1.2.3
- Added
set_dimmer()to OutletDevice class. - Added
set_hsv()to BulbDevice class. - Updated
set_brightness()in BulbDevice to handle white and colour modes. Issue #30 - BulbDevice determines features of device and presents boolean variables
has_colour,has_brightnessandhas_colourtempto ignore requests that do not exist (returns error).
v1.2.2 - Bug Fix for Bulb Functions
- PyPi Version 1.2.2
- Fix bug in set_white_percentage(): added missing self. PR #32
- Fixed set_white_percentage: colour temp was incorrectly computed for B type Bulbs. PR #33
- Moved setup Wizard out of module init to standalone import to save import load.
Command line mode is still the same:
python3 -m tinytuya wizardImport now requires additional import to run Wizard programmatically:
import tinytuya
import tinytuya.wizard
tinytuya.wizard.wizard()v1.2.1 - Bug Fix for Command 0x12 UpdateDPS
- PyPi Version 1.2.1
- Fixed header for 0x12 Update DPS Command (see issue #8)
v1.2.0 - Error Handling and Bug Fixes
- PyPi Version 1.2.0
- Now decrypting all TuyaMessage responses (not just status)
- Fixed
set_colour(r, g, b)to work with python2 - Fixed
set_debug()to toggle on debug logging (with color) - Added handler for
device22to automatically detect andset_dpsUsed()with available DPS values. - Added
set_socketTimeout(s)for adjustable connection timeout setting (defaults to 5s) - Added
set_sendWait(s)for adjustable wait time after sending device commands - Improved and added additional error handling and retry logic
- Instead of Exceptions, tinytuya responds with Error response codes (potential breaking change):
Example
import tinytuya
tinytuya.set_debug(toggle=False, color=True)
d = tinytuya.OutletDevice('<ID>','<IP>','<KEY>')
d.set_version(3.3)
d.status(){u'Payload': None, u'Err': u'905', u'Error': u'Network Error: Device Unreachable'}
v1.1.4 - Update DPS (Command 18)
- PyPi Version 1.1.4
- Added
updatedps()command 18 function to request device to update DPS values (Issue #8) - Added
set_debug()function to activate debug logging
import tinytuya
import time
tinytuya.set_debug(True)
d = tinytuya.OutletDevice('DEVICEID', 'IP', 'LOCALKEY')
d.set_version(3.3)
print(" > Fetch Status < ")
data = d.status()
time.sleep(5)
print(" > Request Update for DPS indexes 18, 19 and 20 < ")
result = d.updatedps([18, 19, 20])
print(" > Fetch Status Again < ")
data2 = d.status()
print("Before %r" % data)
print("After %r" % data2)v1.1.3 - Automatic IP Lookup
- PyPi Version 1.1.3
- Updated device read retry logic for minimum response payload (28 characters) (Issue #17)
- Feature added to do automatic IP address lookup via network scan if None or '0.0.0.0' is specified. Example:
import tinytuya
ID = "01234567890123456789"
IP = None
KEY = "0123456789012345"
d = tinytuya.OutletDevice(ID,IP,KEY)
d.status()v.1.1.2 - Bug Fix for 3.1 Devices
- PyPi Version 1.1.2
- Bug Fix for 3.1 Devices using CONTROL command - updated to
hexdigest[8:][:16] - See Issue: #11
v.1.1.1 - BulbDevice Update
- PyPi Version 1.1.1
- Updated BulbDevice Class to support two types of bulbs with different DPS mappings and functions:
- Type A - Uses DPS index 1-5 and represents color with RGB+HSV
- Type B - Uses DPS index 20-27 (no index 1) - Updated Colour Support - Index (DPS_INDEX_COLOUR) is assumed to be in the format:
- (Type A) Index: 5 in hex format: rrggbb0hhhssvv
- (Type B) Index: 24 in hex format: hhhhssssvvvv - New Functions to help abstract Bulb Type:
-set_white_percentage(brightness=100, colourtemp=0):
-set_brightness_percentage(brightness=100):
-set_colourtemp_percentage(colourtemp=100):
-set_mode(mode='white'):# white, colour, scene, music - Example Script https://github.com/jasonacox/tinytuya/blob/master/examples/bulb.py
v1.1.0
v1.0.5
- PyPi Version 1.0.5
- Updated cipher json payload to mirror TuyAPI - hexdigest from
[8:][:16]to[8:][:24] - Added optional persistent socket connection, NODELAY and configurable retry limit (@elfman03) #5 #6 #7
set_socketPersistent(False/True) # False [default] or True
set_socketNODELAY(False/True) # False or True [default]
set_socketRetryLimit(integer) # retry count limit [default 5]- Add some "scenes" supported by color bulbs (@elfman03)
set_scene(scene): # 1=nature, 3=rave, 4=rainbow