技能详情(站内镜像,无评论)
许可证:MIT-0
MIT-0 ·免费使用、修改和重新分发。无需归因。
版本:v1.0.0
统计:⭐ 0 · 141 · 0 current installs · 0 all-time installs
⭐ 0
安装量(当前) 0
🛡 VirusTotal :良性 · OpenClaw :可疑
Package:airoom-ai/smarthome
安全扫描(ClawHub)
- VirusTotal :良性
- OpenClaw :可疑
OpenClaw 评估
The skill mostly implements the promised Home Assistant + Tuya control, but there are inconsistent metadata and documentation vs. code differences (env-var support missing, discovery stubbed) and mismatched package metadata that warrant caution before installing.
目的
The code (scripts/smart.py) implements Home Assistant control and Tuya cloud calls as described, and stores credentials locally — so purpose matches implementation. However the package/registry metadata (ownerId/slug/version) does not match the internal _meta.json and the SKILL name (smarthome vs universal-smarthome), which could indicate repackaging or sloppy publishing.
说明范围
SKILL.md documents two setup options (config file OR environment variables). The script only reads a config file (~/.config/universal-smarthome/config.json) and does not read the documented environment variables; discovery is advertised but the discovery command is a stub (does not actually fetch/merge devices). This mismatch between runtime instructions and actual behavior is scope-creep/incorrect documentation and could confuse users when cr…
安装机制
This is an instruction-only skill with no install spec — nothing is automatically downloaded or written during install. The only file that runs is the included script; no external install URLs or archive downloads are present.
证书
The skill legitimately needs Home Assistant token and Tuya access_id/access_secret to function; the script expects those in a local config file. Registry metadata lists no required env vars/credentials (which is inconsistent with SKILL.md), but the credentials requested are proportional to the stated purpose. There is no evidence the code requests unrelated credentials.
持久
The skill does not request persistent always:true, does not modify other skills or system-wide configs, and only stores config/cache under ~/.config/universal-smarthome, consistent with its purpose.
安装(复制给龙虾 AI)
将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。
请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「smarthome」。简介:Control global smart home devices via Home Assistant (preferred) and Tuya Smart…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/airoom-ai/smarthome/SKILL.md
(来源:yingzhi8.cn 技能库)
SKILL.md
SKILL.md
universal-smarthome
通用智能家居支配Skill
Dominate your smart home with seamless control across Home Assistant and Tuya Smart.
通过Home Assistant(首选)和涂鸦智能(备选)操控全球品牌家电,支持模糊名称匹配。
Setup
设置
Option 1: Config File (Recommended)
选项1:配置文件(推荐)
Create ~/.config/universal-smarthome/config.json:
创建~/.config/universal-smarthome/config.json:
{
"homeassistant": {
"url": "http://homeassistant.local:8123",
"token": "your-long-lived-access-token"
},
"tuya": {
"access_id": "your-access-id",
"access_secret": "your-access-secret",
"endpoint": "https://openapi.tuyacn.com"
}
}
Option 2: Environment Variables
选项2:环境变量
export HA_URL="http://homeassistant.local:8123"
export HA_TOKEN="your-long-lived-access-token"
export TUYA_ACCESS_ID="your-access-id"
export TUYA_ACCESS_SECRET="your-access-secret"
Getting Home Assistant Token
获取Home Assistant令牌
Open Home Assistant → Profile (bottom left)
打开Home Assistant → 个人资料(左下角)
Scroll to "Long-Lived Access Tokens"
滚动到“长期访问令牌”
Click "Create Token", name it (e.g., "Clawdbot")
点击“创建令牌”,将其命名(例如,“Clawdbot”)
Copy the token immediately (shown only once)
立即复制令牌(仅显示一次)
Getting Tuya Credentials
获取涂鸦凭据
Log in to Tuya Smart Platform (https://iot.tuya.com/)
登录涂鸦智能开放平台(https://iot.tuyacn.com/)
Create a cloud project or navigate to "Cloud Development"
创建云项目或进入“云开发”
Get access_id and access_secret from the project credentials
从项目凭据中获取access_id和access_secret
Quick Reference
快速参考
Discovery
设备发现
python3 scripts/smart.py discovery
Sync all devices from Home Assistant and Tuya to local cache.
从Home Assistant和涂鸦同步所有设备到本地缓存。
Control Devices
控制设备
# Turn on device by name
python3 scripts/smart.py control "device_name" on
# Turn off device by name
python3 scripts/smart.py control "device_name" off
# The script automatically identifies the platform (HA or Tuya) based on device ID
# 脚本根据设备ID自动识别平台(HA或涂鸦)
Device Name Matching
设备名称匹配
The script supports fuzzy name matching:
脚本支持模糊名称匹配:
# If device_cache.json contains:
# {"id": "light.living_room", "name": "客厅灯", "platform": "homeassistant"}
# User can say: "打开客厅灯" or "打开灯"
# 用户可以说:“打开客厅灯”或“打开灯”
Priority: Exact name match → ID match → Fuzzy match
优先级:精确名称匹配 → ID匹配 → 模糊匹配
CLI Wrapper
CLI包装器
The scripts/smart.py CLI provides smart home control:
scripts/smart.py CLI提供智能家居控制:
# Discovery - sync all devices
python3 scripts/smart.py discovery
# Control device by name
python3 scripts/smart.py control "客厅灯" on
python3 scripts/smart.py control "卧室灯" off
# The script will:
# 1. Look up device ID from local cache
# 2. Try Home Assistant first (preferred)
# 3. Fallback to Tuya Cloud if HA fails or device not found
# 脚本将:
# 1. 从本地缓存查找设备ID
# 2. 优先尝试Home Assistant
# 3. 若HA失败或设备不存在,回退到涂鸦云端
Supported Platforms
支持平台
Platform平台 Features功能 Priority优先级
Home Assistant Local control, fast response, entity-based
本地控制,响应快,基于实体 1 (Primary)
首选
Tuya Cloud Cloud API, broader device support
云端API,更广泛的设备支持 2 (Fallback)
备选
Common Issues & Solutions
常见问题与解决方案
Error: Config missing
错误:配置文件缺失
Solution: Create ~/.config/universal-smarthome/config.json
解决方案:创建~/.config/universal-smarthome/config.json
Error: 1004: Sign Invalid
错误:1004: 签名无效
Solution: Check Tuya access_id and access_secret. Ensure endpoint matches your region (cn/com/us/eu).
解决方案:检查涂鸦access_id和access_secret。确保endpoint匹配您的区域(cn/com/us/eu)。
Error: Entity not found
错误:实体未找到
Solution: Run "python3 scripts/smart.py discovery" to sync devices first.
解决方案:先运行“python3 scripts/smart.py discovery”同步设备。
Error: Connection refused (HA)
错误:连接被拒绝(HA)
Solution: Check HA_URL, ensure Home Assistant is running and accessible.
解决方案:检查HA_URL,确保Home Assistant正在运行且可访问。
Error: 401 Unauthorized (HA)
错误:401未授权(HA)
Solution: Token expired or invalid. Generate a new Long-Lived Access Token.
解决方案:令牌过期或无效。生成新的长期访问令牌。
Device not responding
设备无响应
Solutions:
解决方案:
1. Check if device is online in respective app (HA or Tuya)
检查设备是否在相应应用(HA或涂鸦)中在线
2. Try controlling directly in Home Assistant or Tuya app
尝试直接在Home Assistant或涂鸦应用中控制
3. Run discovery again to refresh device cache
再次运行discovery刷新设备缓存
Architecture
架构设计
┌─────────────────┐
│ User Request │
│ 用户请求 │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Semantic Parse │
│ 语义解析 │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Device Lookup │
│ 设备查找 │──────▶ Local Cache
│ │ (device_cache.json)
└────────┬────────┘
│
▼
┌────┴────┐
│ │
▼ ▼
┌───────┐ ┌───────┐
│ HA │ │ Tuya │
│ 优先 │ │ 备选 │
└───┬───┘ └───┬───┘
│ │
└────┬────┘
│
▼
┌─────────────────┐
│ Control Result │
│ 控制结果 │
└─────────────────┘
Security
安全说明
Credentials are stored locally at ~/.config/universal-smarthome/
凭据存储在本地~/.config/universal-smarthome/
No hardcoded tokens or secrets in scripts
脚本中无硬编码的令牌或密钥
Only访问用户定义的HA address and Tuya official API
只访问用户定义的HA地址和涂鸦官方API
No third-party data exfiltration
无第三方数据回传
Troubleshooting
故障排除
401 Unauthorized: HA token expired or invalid. Generate a new one.
401未授权:HA令牌过期或无效。生成新的令牌。
Connection refused: Check HA_URL, ensure HA is running and accessible.
连接被拒绝:检查HA_URL,确保HA正在运行且可访问。
Entity not found: Run discovery to sync devices first.
实体未找到:先运行discovery同步设备。
1004 Sign Invalid: Verify Tuya credentials and region endpoint.
1004签名无效:验证涂鸦凭据和区域endpoint。
All platforms failed: Check network connection and device online status.
所有平台失败:检查网络连接和设备在线状态。
API Reference
API参考
For advanced usage and custom integrations, see:
高级使用和自定义集成,请参阅:
Home Assistant API: https://developers.home-assistant.io/docs/api/rest/
Tuya Cloud API: https://developer.tuya.com/en/docs/iot/api-reference/list