Releases: jasonacox/tinytuya
Releases · jasonacox/tinytuya
v1.17.4 - Cloud Config
What's Changed
- Add configFileoption to the Cloud constructor, allowing users to specify the config file location (default remains 'tinytuya.json') by @blackw1ng in #640
New Contributors
- @blackw1ng made their first contribution in #640
Full Changelog: v1.17.3...v1.17.4
v1.17.3 - Colorama Optional
What's Changed
- This update makes the colorama dependency optional for the tinytuya library, allowing it to function without colorama while gracefully disabling color output. This will help with memory or dependency limited platforms. Update by @uzlonewolf in #637.
Full Changelog: v1.17.2...v1.17.3
v1.17.2 - BulbDevice
What's Changed
- Add Singapore datacenter, update BulbDevice for non-bulb devices again by @uzlonewolf in #625
Full Changelog: v1.17.1...v1.17.2
v1.17.1 - Fix BulbDevice
What's Changed
- Fix BulbDevice for non-bulb devices. This will allow BulbDevice to be used even for non-bulb devices, e.g. turn_on() & turn_off(), by @uzlonewolf in #620.
Full Changelog: v1.17.0...v1.17.1
v1.17.0 - BulbDevice Rewrite
What's Changed
- Tool updates: pcap parse fix, new broadcast relay by @uzlonewolf in #612
- Fix initialization bug with python2 (embedded devices) by @Ircama in #615
- Rewrite BulbDevice and rework set_multiple_values(), again by @uzlonewolf in #617
BulbDevice Example Usage
import time
import random
import tinytuya
d = tinytuya.BulbDevice(DEVICEID, address=DEVICEIP, local_key=DEVICEKEY, version=DEVICEVERS, persist=True)
# BASIC FUNCTIONS
print('Basic Tests')
d.set_colour(255,127,63)           # Set to orange
d.set_white_percentage(100.0, 0.0) # 100% brightness, 0% colour temperature
d.set_brightness_percentage(100)   # 100% brightness
# MUSIC MODE
print("Music Mode")
d.set_mode('music')
d.set_socketPersistent( True )
# Devices respond with a command ACK, but do not send DP updates.
# Setting the 2 options below causes it to wait for a response but
#   return immediately after an ACK.
d.set_sendWait( None )
d.set_retry( False )
for x in range(100):
    red = random.randint(0,255)
    green = random.randint(0,255)
    blue = random.randint(0,255)
    if (x % 6 == 0):
        # extend every 6 beat
        d.set_music_colour( d.MUSIC_TRANSITION_FADE, red, green, blue )
        time.sleep(2)
    else:
        # Jump!
        d.set_music_colour( d.MUSIC_TRANSITION_JUMP, red, green, blue )
        time.sleep(0.1) # the bulbs seem to get upset if updates are faster than 0.1s (100ms)
# SCENE MODE
if d.bulb_has_capability(d.BULB_FEATURE_SCENE_DATA):
    d.set_mode('scene')
    print('String based scenes compatible smartbulb detected.')
    # Example: Color rotation 
    print('Switch to Scene 7 - Color Rotation')
    d.set_scene( 7, '464602000003e803e800000000464602007803e803e80000000046460200f003e803e800000000464602003d03e803e80000000046460200ae03e803e800000000464602011303e803e800000000')New Contributors
Full Changelog: v1.16.3...v1.17.0
v1.16.3 - Devices.json Error Handling
What's Changed
- Add error handling in Cloud getdevices() function for edge case where old devices.json has corrupt or malformed device entries. by @jasonacox in #609
- Server p14 update: Add main loop logic to try to recover when exception occurs.
Full Changelog: v1.16.2...v1.16.3
v1.16.2 - Invalid JSON Handling
What's Changed
- Update music mode example showing how to build the payload. by @cabra-lat in #591
- Add AmbiTuya to TinyTuya Powered Projects list by @CmdrAvegan in #601
- Build test updates by @uzlonewolf in #608
- Handle invalid binary data in the JSON from the device better by @uzlonewolf in #607
New Contributors
- @cabra-lat made their first contribution in #591
- @CmdrAvegan made their first contribution in #601
Full Changelog: v1.16.1...v1.16.2
v1.16.1 - Scanner Error Handling
What's Changed
- Adds error handling for cases when the scanner broadcasts fails by @x011 in #585 and @uzlonewolf in #587
- Fix WinError 10022: Handle invalid socket arguments in send_discovery_request by @x011 in #585
- Add better error message when sending scanner broadcasts fails by @uzlonewolf in #587
New Contributors
Full Changelog: v1.16.0...v1.16.1
v1.16.0 - Code Refactoring
What's Changed
- This update refactors core.py by splitting it up into smaller, more logical files. It puts it in a coredirectory, so existing code that imports fromtinytuya.coreshould be unaffected.
- Add Contrib support for Electric Blankets such as Goldair GPFAEB-Q by @leodenham in #528
- Add IoT core service renewal info to the setup wizard in the README by @lorumic in #558
- Contributing with a new device ColorfulX7Device by @CheAhMeD in #568
- Add WiFi Dual Meter device by @ggardet in #569
- Refactoring: split up core.py by @tringenbach in #575
- fix: update tests.py to pass, add to github workflow by @tringenbach in #576
New Contributors
- @leodenham made their first contribution in #528
- @lorumic made their first contribution in #558
- @CheAhMeD made their first contribution in #568
- @ggardet made their first contribution in #569
- @tringenbach made their first contribution in #575
Full Changelog: v1.15.1...v1.16.0
v1.15.1 - Scanner Fixes
What's Changed
- Fix scanner broadcast attempting to bind to the wrong IP address, introduced in v1.15.0, by @uzlonewolf in #519
- Make netifaces optional.
Full Changelog: v1.15.0...v1.15.1