Switchbot

🏠 官方 API 掌控全屋智能设备

通过官方 API 控制 SwitchBot 智能窗帘、插座、灯光、门锁等设备,支持本地安全凭证管理,适合智能家居自动化场景。

收藏
8.5k
安装
2.4k
版本
1.0.1
CLS 安全性认证2026-08-10
点击查看完整报告 >

使用说明

SwitchBot 智能家居控制技能评估

核心用法

该技能通过 SwitchBot Cloud API v1.1 提供对 SwitchBot 全系智能设备的控制能力,涵盖窗帘(Curtain/Curtain3)、智能插座(Plug Mini/Plug)、灯光(Light/Strip Light)、门锁(Lock)、加湿器(Humidifier)、温湿度传感器(Meter/MeterPlus)以及 Bot 机械按钮控制器等。用户首次使用时需在 SwitchBot App 中获取 Token 和 Secret Key,按指引存储于本地加密目录(~/.config/switchbot/credentials.json,权限 600),随后通过 Python 脚本完成设备发现与控制。

操作层面,技能支持设备列表查询、窗帘开合及百分比定位、插座/灯光开关、传感器状态读取、以及通用命令接口。错误处理机制明确,涵盖设备离线(151)、命令不支持(152)、参数无效(161)等常见场景,便于问题排查。

显著优点

1. 官方 API 支持:直接对接 SwitchBot 官方云服务,稳定性与兼容性有保障,非逆向工程方案。
2. 本地凭证安全:强制要求 600 权限的 JSON 凭证文件,避免硬编码或明文暴露,符合最小权限原则。

3. 设备覆盖全面:支持 10 余类设备、30+ 指令,从简单的开关到复杂的窗帘定位、灯光调色均可实现。

4. Agent 友好设计:内置首次引导流程、设备别名映射建议(TOOLS.md)、批量操作与状态预检提示,降低自动化脚本开发门槛。

潜在缺点与局限性

1. 云依赖:所有指令经 api.switch-bot.com 中转,无本地局域网直连能力,网络中断或云服务故障时完全不可用。
2. 认证流程繁琐:Token/Secret 获取路径较深(Profile → Preferences → About → Developer Options),对非技术用户不够直观。

3. Hub 网关依赖:部分设备需配合 Hub/Hub Mini/Hub 2 使用,离线报错(151)时需人工排查硬件连接。

4. 速率与并发限制:官方未公开 API 限流策略,高频自动化场景存在潜在触发上限风险。

适合人群

  • 已部署 SwitchBot 生态、希望通过脚本或 AI Agent 实现自动化的技术型用户
  • 需要将窗帘、灯光、环境传感器接入 Home Assistant 或其他智能家居中枢的进阶玩家
  • 追求「语音/定时触发 → 设备执行」闭环,且能接受云端架构的智能家居爱好者

常规风险

  • 凭证泄露:若 credentials.json 权限设置不当或被误提交至代码仓库,可能导致设备被恶意控制
  • 隐私数据外流:温湿度等传感器数据经云 API 读取,存在上传至 SwitchBot 服务器的合规性考量
  • 指令误触:批量操作或别名配置错误可能导致窗帘异常开合、门锁误解锁等物理安全问题
  • 服务持续性:SwitchBot 保留 API 变更或废弃权利,长期自动化需关注官方迁移公告

安全解读

核心用法

SwitchBot Skill 为用户提供通过自然语言控制智能家居设备的能力。该技能基于 SwitchBot 官方 Cloud API v1.1 构建,支持窗帘开合、灯具开关、电源插座控制、门锁操作、温湿度传感器读取等核心功能。

首次使用需引导用户完成三步配置:获取 SwitchBot App 中的 Token 和 Secret Key;将凭证安全存储于 ~/.config/switchbot/credentials.json 并设置 600 权限;运行设备发现脚本扫描局域网内的 SwitchBot 设备。配置完成后,用户可通过简洁的命令语法操控设备,如 curtain <id> open 打开窗帘、plug <id> on 开启插座、status <id> 读取传感器数据。

显著优点

架构精简可靠:零第三方依赖,仅使用 Python 标准库(urllib、json、hashlib、hmac)实现,彻底消除供应链攻击风险。代码量仅 435 行,结构清晰,便于审计和维护。

安全机制完善:采用 HMAC-SHA256 签名认证,所有通信强制 HTTPS 加密;凭证存储遵循 Unix 安全权限规范(600),不泄露于日志或环境变量。

设备兼容性广:覆盖 Curtain/Curtain3、Plug Mini、Bot、智能灯具、门锁、加湿器、温湿度计等全系列 SwitchBot 产品,满足多场景智能家居需求。

错误处理周全:内置状态码解析(100 成功、151 设备离线、152 不支持命令等),便于故障诊断和用户引导。

潜在缺点与局限性

物理安全风险:该技能可直接控制门锁、电源等关键物理设备,若凭证泄露可能导致未经授权的入户或电器异常运行。建议用户避免在公共网络环境下执行敏感操作。

网络依赖性强:完全依赖 SwitchBot Cloud API,设备控制需外网连通,无法本地离线执行;API 服务中断时将完全失效。

T3 来源级别:发布者为 ClawHub 平台个人开发者 "daaab",非知名组织维护,长期维护承诺和账号安全性存在不确定性,建议用户关注更新动态。

配置门槛:首次使用需手动获取 API 凭证、配置权限、发现设备,对非技术用户存在一定学习成本。

适合的目标群体

  • 已部署 SwitchBot 生态的智能家居用户:拥有窗帘电机、智能插座、温湿度计等硬件,希望通过语音或 Agent 统一控制
  • 注重隐私的技术爱好者:偏好零第三方依赖、代码可审计的本地执行方案
  • 智能家居自动化探索者:希望将 SwitchBot 设备集成到更复杂的自动化工作流中

使用风险

凭证泄露风险:Token 和 Secret 一旦泄露,攻击者可远程控制全部关联设备。务必确保配置文件权限为 600,避免上传至代码仓库或共享存储。

供应链监控:虽然当前版本零依赖,但需警惕后续更新引入第三方库;建议在组织环境中部署前进行独立代码审查。

API 变更风险:SwitchBot 官方 API 版本升级可能导致功能失效,需关注官方公告并及时更新 Skill。

发布者账号安全:持续监控 "daaab" 的 ClawHub 动态,防范账号接管或恶意代码注入。

Switchbot 内容

scripts文件夹
手动下载zip · 5.6 kB
switchbot.pytext/plain
请选择文件