360 Secure SkillHub
360 安全技能中心

tuya assistant

该 Skill 提供命令行脚本,用于在涂鸦 IoT 云平台上查询家庭与设备列表、按名称搜索设备、开关设备、调节亮度或温度、读取设备状态,并支持创建和查询场景自动化规则。使用前需配置涂鸦访问凭证环境变量;设备控制与自动化规则通过云端 API 完成。

MRwangqi
MRwangqi
热度 28.08
最近更新 2026-03-20 16:45:59
分类:自动化依赖:代码执行 / 第三方 API / 读写文件应用场景:自动化脚本 / 工作流 / API 集成 / 任务管理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add tuya-assistant
Metadata
name
tuya-assistant
description
Use when user needs to control Tuya smart devices (turn on/off lights, adjust brightness/temperature), manage smart home automation scenes, or interact with IoT devices through Tuya platform. Also use when user mentions "涂鸦" (Tuya in Chinese), "smart home devices", "scene automation", "场景", "自动化", or needs to create/query scene rules and trigger scene-based actions.

Tuya Smart Device Control

Overview

Control smart devices and scene automation remotely through Tuya IoT Cloud Development Platform API interfaces, supporting:

  • Device Control: On/off control, status queries, brightness/temperature adjustment, batch operations
  • Scene Management: Create scene automation, query scene automation
  • Device Search: Search devices by name, get device list and status
  • Automation Rules: Trigger device operations based on conditions, e.g., "Turn off desk lamp when socket is turned on"

When to Use

digraph tuya_flow {
    "User requests smart device control" [shape=diamond];
    "Mentions Tuya/smart home" [shape=diamond];
    "Needs on/off/adjust device" [shape=diamond];
    "Use this skill" [shape=box];
    "Use other approach" [shape=box];

    "User requests smart device control" -> "Mentions Tuya/smart home" [label="yes"];
    "User requests smart device control" -> "Use other approach" [label="no"];
    "Mentions Tuya/smart home" -> "Needs on/off/adjust device" [label="yes"];
    "Mentions Tuya/smart home" -> "Use other approach" [label="no"];
    "Needs on/off/adjust device" -> "Use this skill" [label="yes"];
    "Needs on/off/adjust device" -> "Use other approach" [label="no"];
}

Use cases:

  • User says "Turn on/off smart device/lamp/AC"
  • User says "Adjust light brightness" "Set temperature"
  • User mentions "涂鸦" "Tuya" "smart home"
  • User needs to query device status
  • User needs to batch control multiple devices
  • User needs to manage scene automation: "create automation", "query automation", "set automation rules"
  • User mentions "场景" "scene" "自动化" "automation"

Not applicable for:

  • Non-Tuya platform devices (Xiaomi, HomeKit, etc.)
  • Pure documentation queries (use Read tool directly)
  • Device firmware updates or advanced configuration

Implementation

Step 1: Environment Configuration ⚠️ CRITICAL: Environment Variable Management

Please read reference/config.md for detailed instructions and examples on environment variable configuration.

Step 2: Verify Configuration

Read environment variables from config.env. If any are missing (TUYA_ACCESS_ID, TUYA_ACCESS_SECRET, TUYA_UID,TUYA_ENDPOINT), prompt the user that these configurations must be provided and stop executing subsequent operations. If configuration exists, continue with the workflow.

Step 3: Workflow

1. Device-Related Operations

If involving:

  • Device search
  • Device list
  • Turn on device
  • Turn off device
  • Adjust device (brightness, temperature)
  • Device control (on/off, adjust)
  • Status query
  • Batch operations, turn on, turn off
  • Set temperature

Please read reference/device.md for detailed steps and example commands.

2. Scene-Related Operations

If involving:

  • When one device turns on, need to control another device
  • Automatically turn on socket at 19:00 every day
  • Open curtains when weather is sunny
  • Scene automation
  • Scene query Please read reference/scene.md for detailed steps and example commands.

Script File Structure and CLI Tool Design:

Important: Script files are located in the project root directory, with the skill directory containing symbolic links to maintain a single source of truth.

  • CLI Tool: scripts/tuya-cli.py
  • Core Manager: scripts/tuya_manager.py
  • Python Dependencies: scripts/requirements.txt
  • Environment Variable Configuration: Environment variables are set through the config.env file
  • Environment Setup: Python scripts use venv to manage dependencies. Ensure you are executing in the correct environment. Don't forget to run source venv/bin/activate && source config.env when running Python scripts.

Error Handling Flow

digraph error_handling {
    "Command execution" [shape=diamond];
    "Success" [shape=diamond];
    "Verify status" [shape=box];
    "Report success" [shape=box];
    "Failure" [shape=diamond];
    "Missing env variables" [shape=box];
    "Device not found" [shape=box];
    "Operation failed" [shape=box];

    "Command execution" -> "Success" [label="success"];
    "Command execution" -> "Failure" [label="failure"];
    "Success" -> "Verify status";
    "Verify status" -> "Report success";
    "Failure" -> "Missing env variables" [label="environment"];
    "Failure" -> "Device not found" [label="search"];
    "Failure" -> "Operation failed" [label="API call"];
}

Common Mistakes

Error Cause Solution
Device not found Device not authorized to cloud project Authorize device to cloud project in Tuya Smart App
Initialization failed Environment variables not set Check TUYA_ACCESS_ID, TUYA_ACCESS_SECRET, TUYA_UID
Operation failed Device offline or DP code mismatch Check device online status, try different --switch parameters
Command not found Executed in wrong directory Ensure command is executed in project root directory
No search results Device name doesn't match Try different keywords, or use list to view all devices
Multiple devices returned Search term too broad Use more specific keywords, or let user choose

Red Flags - STOP and Check

These signs indicate you may have skipped critical steps:

  • ❌ Executing commands directly without checking environment variables - Must first verify TUYA_ACCESS_ID, TUYA_ACCESS_SECRET, TUYA_UID
  • ❌ Not verifying status after executing control commands - Must use status command to confirm operation succeeded
  • ❌ Giving up after trying only one search keyword - Should try multiple variations ("客厅灯", "客厅", "light")
  • ❌ Automatically selecting first result when device search returns multiple - Must let user confirm which one to select
  • ❌ Ignoring API error messages and retrying directly - Should analyze error cause and take appropriate measures
  • ❌ Executing commands in wrong directory - Must execute in project root directory
  • ❌ Assuming device is on/off without verification - Must use status command to confirm

If you find yourself doing any of the above, stop and start over.