Skip to content

build(deps): Update tinytuya requirement from >=1.13 to >=1.18.1 - #9

Merged
jmdevita merged 1 commit into
mainfrom
dependabot/pip/tinytuya-gte-1.18.1
Jun 24, 2026
Merged

jmdevita merged 1 commit into
mainfrom
dependabot/pip/tinytuya-gte-1.18.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 22, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on tinytuya to permit the latest version.

Release notes

Sourced from tinytuya's releases.

v1.18.1 - IR Learn Frame Fix

What's Changed

  • Raise parse_header payload ceiling so large IR learn frames decode by @​ostjen in jasonacox/tinytuya#709
  • core: Added MAX_PAYLOAD_LENGTH constant (default 1440 bytes) in tinytuya/core/const.py to replace the hardcoded 1000-byte ceiling in parse_header(). Enables local IR learn frame capture from devices with larger payloads such as AC IR blasters. Fixes #708 via #709 by @​ostjen.
  • Adding heated towel radiator element, AFD02 by @​mintsoft in jasonacox/tinytuya#703

New Contributors

Full Changelog: jasonacox/tinytuya@v1.18.0...v1.18.1

Changelog

Sourced from tinytuya's changelog.

v1.18.1 - IR Learn Frame Fix

  • core: Added MAX_PAYLOAD_LENGTH constant (default 1440 bytes) in tinytuya/core/const.py to replace the hardcoded 1000-byte ceiling in parse_header(). Enables local IR learn frame capture from devices with larger payloads such as AC IR blasters. Fixes #708 via #709 by @​ostjen.

v1.18.0 - Format Handling and UX Improvements

  • devices.json format: All loading paths (library, CLI, scanner, wizard, API server) now support both a flat [{...}] list and the {"devices": [{...}]} wrapped-dict format via a new centralized load_devicefile() helper. Fixes #532 via #700 by @​uzlonewolf and @​jasonacox.
  • API server: Added isRegistered() / deviceError() helpers to distinguish "Device offline" from "Device ID not found" in error responses.
  • Cloud: Preserve device mappings on transient Cloud API failure in getdevices() so a temporary outage no longer wipes the local device map by @​jasonacox in #692.
  • IRRemoteControlDevice: Raise RuntimeError on undetected control_type in send_command() instead of silently failing by @​jasonacox-sam in #698.
  • Contrib: New examples for IRRemoteControlDevice by @​uzlonewolf in #699.
  • Contrib: Revert deprecated Contrib/__init__.py by @​uzlonewolf in #686.
  • Docs: Clarify set_version() example — 3.3 is not the required version by @​jasonacox-sam in #695.
  • Scanner: Improved messaging for devices with no IP address — now clearly indicates the device may be battery-powered or sleeping and that local control is not supported, instead of the generic "Error: No IP found" by @​jasonacox in #689.
  • Wizard: When the Tuya Cloud API returns a "permission deny" error (or error code 1010), the wizard now prints a targeted hint suggesting the user check their IoT Core service subscription at https://iot.tuya.com by @​jasonacox in #689.
  • README: Added troubleshooting notes clarifying battery-powered device limitations and warning against aggressive polling intervals that can cause devices to drop or reset their connection.
  • CLI: Refactored device-control functions into a new cli.py module to keep __main__.py focused on argument parsing and dispatch by @​uzlonewolf in #689.
  • CLI: New monitor command — connects to a device with a persistent socket, prints the initial status, then listens for async updates with a heartbeat every 12 s and a full status refresh every 30 s by @​uzlonewolf in #689.
  • CLI: New version subcommand — tinytuya version prints the installed TinyTuya version.
  • CLI: New help subcommand — tinytuya help prints a detailed usage summary with examples for all commands. Running tinytuya with no arguments also shows the full help.
  • CLI (on, off, set, get, monitor): --id and --name are now mutually exclusive and one is required (previously both were optional). --version omitted now triggers an auto-scan instead of silently defaulting to v3.3 by @​uzlonewolf in #689.
  • CLI (on, off, set, get, monitor): Improved handling of device local keys that contain special shell characters ($, #, =, :, !) - re: #688 by @​jasonacox in #689:
    • If --key is omitted and the key is not found in devices.json, the CLI now prompts interactively for the key. Input at a terminal prompt bypasses shell interpretation entirely, so no quoting or escaping is needed.
    • Added key length validation — Tuya local keys are always exactly 16 characters. If the resolved key is the wrong length (the most common symptom of a shell-escaping problem), a clear error is printed with platform-specific quoting tips for Linux/Mac and Windows CMD.

v1.17.6 - RFRemoteControlDevice Bug Fixes

  • Contrib: Fix RFRemoteControlDevice - three bugs that each independently caused rfstudy_send commands to be silently ignored by the device by @​kongo09 in jasonacox/tinytuya#684:
    • rf_decode_button: fix missing () on base64.b64decode call — previously always returned None.
    • send_command: build correct rfstudy_send payload (feq as int instead of study_feq as string, add mode/rate fields, inject ver into each key dict); study/exit commands are unaffected.
    • rf_send_button: do not forward study_feq into feq; feq=0 tells the device to use the frequency embedded in the code itself.
  • Adds regression tests for all three fixes.

v1.17.5 - CLI Device Control

  • Extended the command line interface with new device control and listing commands.

    • list – List all devices from devices.json as a formatted table (default) or JSON (--json).
    • on / off – Turn a device switch on or off, with optional --dps N to target a specific switch index (default: 1).
    • set – Write a value to a DPS index (--dps N --value VALUE).
    • get – Read device status; omit --dps for full status JSON or supply --dps N to retrieve a single plain scalar value.
  • All control commands (on, off, set, get) accept --id ID or --name NAME to identify the target device. When --name is used, the device ID is resolved via a case-insensitive lookup in devices.json.

  • Missing credentials (--key, --ip, --version) are automatically filled in from the matching devices.json entry.

  • Updated API.md and README.md to document all new commands and flags.

  • Contrib: Add SoriaInverterDevice, a new community-contributed module to support SORIA solar micro-inverters by @​Markourai in jasonacox/tinytuya#680

  • CoverDevice: Major rewrite to support 8 different device command types with automatic detection (credit for discovery: @​make-all):

    • Type 1: ["open", "close", "stop", "continue"] - Most curtains, blinds, roller shades (DEFAULT)
    • Type 2: [true, false] - Simple relays, garage doors, locks
    • Type 3: ["0", "1", "2"] - String-numeric position/state

... (truncated)

Commits
  • a9dc7f4 Merge pull request #709 from ostjen/fix-ir-large-payload
  • b6f692a release: bump version to 1.18.1, update RELEASE.md for MAX_PAYLOAD_LENGTH fix
  • 0f38679 Lower MAX_PAYLOAD_LENGTH to 1440 and move it to const.py
  • 6e90296 Raise parse_header payload ceiling so large IR learn frames decode
  • f111b98 Merge pull request #703 from mintsoft/master
  • 8aab0d3 Polish towel rail helper and docs
  • a2730a7 Timer doesn't count down, it only shows you what it is set to
  • 634239a Tidying up the example and removing references to "switch"
  • 100c16e Clarifying comments and tidying up nits
  • 7c68f62 hot not heat
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [tinytuya](https://github.com/jasonacox/tinytuya) to permit the latest version.
- [Release notes](https://github.com/jasonacox/tinytuya/releases)
- [Changelog](https://github.com/jasonacox/tinytuya/blob/master/RELEASE.md)
- [Commits](jasonacox/tinytuya@v1.13.0...v1.18.1)

---
updated-dependencies:
- dependency-name: tinytuya
  dependency-version: 1.18.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added the ci label Jun 22, 2026
@jmdevita
jmdevita merged commit 6e3621f into main Jun 24, 2026
10 checks passed
@jmdevita
jmdevita deleted the dependabot/pip/tinytuya-gte-1.18.1 branch June 24, 2026 01:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant