SwitchBot OpenAPI

🏠 官方API驱动全屋智能控制中枢

SwitchBot官方OpenAPI集成技能,支持全系列智能家居设备控制、场景管理及家庭/房间信息查询,提供CLI工具自动处理签名认证。

收藏
6.8k
安装
2.6k
版本
1.0.6
CLS 安全扫描中
预计需要 3 分钟...

使用说明

SwitchBot OpenAPI 综合评估

核心用法

本技能通过调用 SwitchBot 官方 OpenAPI v1.1(HTTPS 接口)实现对全系列智能家居设备的控制与管理。提供 Node.js CLI 工具集 (switchbot_cli.js) 及 Bash 脚本,自动处理 HMAC-SHA256 签名认证,开发者无需手动实现加密逻辑。

主要功能模块:

  • 设备管理:列表查询、状态获取、单设备指令下发
  • 品类覆盖:窗帘/门锁/灯具/风扇/扫地机/空气净化器/加湿器/恒温器/车库门/可视门铃/AI画框等 20+ 品类
  • 场景系统:场景列表查询与执行
  • 家庭架构:通过设备列表反推家庭(Family)→房间(Room)→设备的三级结构

典型调用模式:

# 环境变量配置
export SWITCHBOT_TOKEN="your_token"
export SWITCHBOT_SECRET="your_secret"

# 设备控制
node scripts/switchbot_cli.js cmd <deviceId> turnOn
node scripts/switchbot_cli.js cmd <deviceId> setPosition --pos=50

显著优点

1. 官方背书:直接对接 SwitchBot 官方 API,协议稳定,文档完整
2. 全品类支持:覆盖 2024-2025 年 SwitchBot 全产品线,包括最新 Lock Ultra 2、S20 扫地机、RGBICWW 吸顶灯等

3. 签名自动化:CLI 内置 HMAC-SHA256 签名生成,消除手动 crypto 实现门槛

4. 家庭信息查询:唯一支持提取家庭/房间层级关系的技能,满足多家庭/多房间管理场景

5. 降级策略:指令失败时(statusCode 160)可自动 fallback 至场景执行

潜在缺点与局限性

1. 无独立房间 API:房间信息需从设备列表间接提取,无法直接创建/修改房间
2. 异步指令限制:Keypad 密码创建/删除为异步操作,结果依赖 webhook,无法立即确认

3. IR 设备限制:红外遥控设备(空调、电视)仅支持有限指令集,DIY 自定义按钮需特殊处理

4. BLE 设备依赖:Bot、Lock、Curtain 等 BLE 设备需 Hub 网关并开启云服务,否则 API 不可达

5. API 配额:单日 10,000 次调用上限,高频自动化场景需考虑节流

适合人群

  • SwitchBot 生态用户:已部署 SwitchBot 门锁、窗帘、扫地机等硬件,需自动化集成
  • 智能家居开发者:构建跨平台中控系统,需标准化 API 接入
  • 多房产管理者:需查询/区分多个家庭(Family)下的设备分布
  • 技术爱好者:偏好 CLI/脚本方式管理设备,而非官方 App

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 凭证泄露 | Token/Secret 泄露可导致设备被远程控制 | 存储于环境变量,禁止硬编码;定期轮换凭证 |
| 物理安全 | 门锁/车库门远程解锁指令被拦截或误触发 | 启用设备端确认机制;敏感操作二次验证 |
| 指令竞争 | 并发控制指令导致设备状态不一致 | 实现指令队列;状态变更后主动轮询确认 |
| API 限流 | 超额调用触发服务降级 | 本地缓存设备列表;批量操作合并请求 |
| 网络依赖 | 设备离线或 API 服务中断 | 设计离线降级策略;关键场景保留本地控制 |

技术实现评价

  • 安全性:传输层 TLS 加密 + 请求签名验证,符合 IoT 平台基线安全要求
  • 可维护性:CLI 工具封装良好,参数设计遵循 POSIX 惯例
  • 扩展性:新设备类型可通过 cmd 子命令透传,无需等待 skill 更新

SwitchBot OpenAPI 内容

.clawhub文件夹
references文件夹
scripts文件夹
手动下载zip · 20.0 kB
origin.jsonapplication/json
请选择文件