闲社服务运行正常AI智能体自动化平台
t

涂鸦云控

技能标识:tuya-cloud

Read sensor data and control Tuya IoT devices via Tuya Cloud API or local LAN. Use when the user wants to list devices, read temperature, humidity, soil moisture, battery or other sensor data, or send commands to switches and valves. Requires TUYA_ACCESS_ID, TUYA_ACCESS_SECRET, and optionally TUYA_API_ENDPOINT in .env.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.5
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

涂鸦云控

Tuya Cloud 控制器

通过 scripts/tuya_controller.py 读取传感器数据并控制涂鸦物联网设备。同时支持涂鸦云 API 和本地局域网直接控制。

设备注册表

已知可控设备在 scripts/config.py 中定义为 CONTROLLABLE_DEVICES(可选)。
如果存在该列表,请优先查阅,以将设备名称解析为对应的 device_id。
对于阀门设备,valve 键提供用作命令 code 的 DP 码(例如 switch_1)。
仅当设备未在配置中列出时,才调用 tuyalistdevices。

设置

将凭证添加到 .env:

bash
TUYAACCESSID=youraccessid
TUYAACCESSSECRET=youraccesssecret
TUYAAPIENDPOINT=https://openapi.tuyaeu.com # 默认:tuyaus.com(美国)

区域端点:欧盟 tuyaeu.com · 美国 tuyaus.com · 中国 tuyacn.com · 印度 tuyain.com

在涂鸦物联网平台项目中启用 IoT Core 服务,并授予设备可控权限(默认为只读)。

工具

tuyalistdevices

列出连接到云项目的所有涂鸦设备。

bash
python scripts/tuyacontroller.py listdevices
python scripts/tuyacontroller.py listdevices --outputformat json --outputpath devices.json

tuyareadsensor

读取涂鸦设备的所有传感器数据(温度、湿度、电量、移动检测、门状态、开关状态)。

bash
python scripts/tuyacontroller.py readsensor
python scripts/tuyacontroller.py readsensor id> --outputformat text

parsesensordata() 解释原始 API 键:

传感器原始键说明
温度vatemperature, tempcurrent, tempset除以 10(例如 245 → 24.5°C)
湿度
vahumidity, humidity_value | 百分比,原样返回 |
| 电量 | battery_percentage, battery | 良好 >80% / 中等 >20% / 低 ≤20% |
| 移动检测 | pir | pir 值 = 检测到移动 |
| 门状态 | doorcontact_state | 布尔值 → 开/关 |
| 状态 | state | 布尔值 → 开/关 |
| 土壤湿度 | soilmoisture, humidity, vahumidity | 百分比,原样返回 |

tuyacontroldevice

向涂鸦设备发送命令(开关、阀门、倒计时定时器)。传递一个 {code, value} 对的 JSON 数组。使用 IoT Core /v1.0/iot-03/ 端点,支持 Zigbee 子设备。

bash

打开或关闭开关/阀门


python scripts/tuyacontroller.py controldevice id> [{code:switch1,value:true}]
python scripts/tuyacontroller.py controldevice id> [{code:switch2,value:false}]

打开阀门并设置固定时长 — 在一次调用中发送开关 ON + 倒计时

countdown1 / countdown2 的值以分钟为单位 — 不要乘以 60

python scripts/tuyacontroller.py controldevice id> [{code:switch1,value:true},{code:countdown_1,value:10}]

⚠️ countdown1 / countdown2 以分钟为单位。10 = 10 分钟,60 = 1 小时。

双通道阀门设备

部分阀门设备提供两个独立通道(例如左右出水口)。每个通道有自己的开关和倒计时 DP:

通道开关 DP倒计时 DP
左switch1countdown1
右
switch2 | countdown2 |

独立控制每个通道:

bash

打开左阀门 5 分钟


python scripts/tuyacontroller.py controldevice id> [{code:switch1,value:true},{code:countdown_1,value:5}]

打开右阀门 10 分钟

python scripts/tuyacontroller.py controldevice id> [{code:switch2,value:true},{code:countdown_2,value:10}]

立即关闭右阀门

python scripts/tuyacontroller.py controldevice id> [{code:switch2,value:false}]

要在 config.py 中注册双通道阀门,可以将两个通道作为单独条目添加,或使用列表:

python

选项 A:两个条目(每个通道一个)


{name: 温室阀门左, deviceid: , valve: switch1, countdown: countdown_1},
{name: 温室阀门右, deviceid: , valve: switch2, countdown: countdown_2},

本地局域网工具

无需云 API 调用,直接在本地网络上控制设备。扫描不需要凭证;读取/控制需要 local_key 和 ip。

scan_local

通过 UDP 广播扫描本地网络中的涂鸦设备。

bash
python scripts/tuyacontroller.py scanlocal
python scripts/tuyacontroller.py scanlocal --timeout 10
python scripts/tuyacontroller.py scanlocal --enrich --outputformat json # 添加云名称/localkeys

read_local

直接通过局域网读取设备状态(无需云往返)。

bash
python scripts/tuyacontroller.py readlocal id> key>
python scripts/tuyacontroller.py readlocal id> key> --version 3.4

control_local

直接通过局域网向设备发送命令。命令可以使用整数 DP 索引(dp)或字符串 DP 名称(code)。

bash
python scripts/tuyacontroller.py controllocal id> key> [{dp:1,value:true}]
python scripts/tuyacontroller.py controllocal id> key> [{code:switch_1,value:true}]

使用整数 dp 可获得最大兼容性。字符串 code 需要设备支持。

API 端点(内部)

  • - 设备列表:GET /v1.0/iot-01/associated-users/devices
  • 设备信息:GET /v1.0/devices/{deviceid}
  • 设备状态:GET /v1.0/iot-03/devices/{deviceid}/status
  • 发送命令:POST /v1.0/iot-03/devices/{device_id}/commands

依赖项

bash
pip install tinytuya python-dotenv

故障排除

错误解决方法
Data center is not enabled在涂鸦物联网平台 → 服务 API 中启用 IoT Core
Permission denied
订阅 IoT Core 并启用设备状态通知 | | 设备离线 | online: false;土壤湿度返回 null | | 端点错误 | 将 TUYAAPIENDPOINT 与您的账户区域匹配 | | 本地扫描未发现任何设备 | 检查防火墙;某些网络可能阻止 UDP 广播 | | 本地控制 Zigbee 设备失败 | Zigbee 子设备必须通过其网关控制(使用网关 ID + cid) |

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 tuya-cloud-1776193683 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 tuya-cloud-1776193683 技能

通过命令行安装

skillhub install tuya-cloud-1776193683

下载

⬇ 下载 tuya-cloud v1.0.5(免费)

文件大小: 12.58 KB | 发布时间: 2026-4-15 12:31

v1.0.5 最新 2026-4-15 12:31
- Added support for direct local LAN control of Tuya devices (scan, read, control without cloud).
- Expanded documentation for dual-channel valve devices and channel-specific control.
- Documented new CLI tools: scan_local, read_local, control_local.
- Updated API endpoints to match current Tuya recommendations.
- Improved troubleshooting tips for local network and Zigbee sub-device scenarios.
返回顶部