switchbot

🏠 全屋智能设备一键掌控

基于 SwitchBot 官方 API,支持窗帘、灯光、传感器等设备的自动化控制,实现便捷的智能生活体验。

收藏
5.1k
安装
1.9k
版本
v1.0.0
CLS 安全性认证2026-05-21
点击查看完整报告 >

使用说明

SwitchBot Smart Home Control 是一款专注于 SwitchBot 生态的智能家居自动化技能,通过调用官方 Cloud API v1.1,为用户提供完整的设备控制能力。

核心用法围绕 Python 脚本展开,用户首先需在 SwitchBot App 中获取 Token 和 Secret 并配置本地凭证文件,随后可通过命令行实现设备发现、窗帘开合(支持 0-100 精确位置控制)、灯具与插座开关、温湿度传感器数据读取等操作。技能采用声明式命令结构,支持 Curtain、Plug、Bot、Light、Lock、Humidifier、Meter 等全系列设备,并提供完善的错误代码映射机制。

显著优点体现在安全性与轻量性方面:实现代码仅依赖 Python 标准库(urllib、json、hashlib 等),零外部 pip 依赖极大降低了供应链攻击风险;所有网络通信强制通过 HTTPS 加密;敏感凭证存储于本地配置文件并建议设置 600 权限;代码中严格避免 eval、exec、system 等危险函数,输入参数经过验证,整体通过 A 级安全认证。

潜在局限性包括:功能强依赖 SwitchBot Cloud 服务,设备控制需保持互联网连接,离线场景无法使用;当前为个人开发者维护(T3 来源),长期维护稳定性和代码审计更新频率存疑;初次配置需手动获取 API 凭证并创建配置文件,对非技术用户门槛较高;仅兼容 SwitchBot 品牌设备,生态封闭。

该技能适合已部署 SwitchBot 硬件的智能家居用户、希望通过脚本实现自动化场景(如定时开合窗帘、根据温湿度自动调节)的技术爱好者,以及需要将 SwitchBot 设备集成到自有 Home Assistant 或自动化工作流中的进阶用户。

使用风险主要涉及:网络延迟或 API 服务中断可能导致控制失败;API 凭证若未按建议设置文件权限存在泄露风险;作为社区项目,后续可能面临更新滞后或兼容性维护问题。建议用户在可信网络环境下使用,并定期审查凭证安全状态。

安全解读

核心用法

SwitchBot Skill 是一款基于 Python 标准库开发的智能家居控制工具,通过 SwitchBot Cloud API v1.1 实现对各类智能设备的远程操控。用户需先在 SwitchBot App 中获取 Token 和 Secret Key,按规范存储于本地配置文件后即可使用。

主要功能涵盖:

  • 设备发现:一键扫描并列出所有已配对设备及其状态
  • 窗帘控制:支持全开/全关、百分比定位(0-100)
  • 插座/灯具:开关控制、亮度调节、颜色设置
  • 传感器读取:温湿度计实时数据获取
  • 门锁操作:远程上锁/解锁
  • 通用指令:通过 command 子命令扩展支持更多设备类型

显著优点

1. 安全机制完善:采用 HMAC-SHA256 请求签名,有效防止篡改与重放攻击;全链路 HTTPS 加密,符合现代 API 安全标准
2. 零依赖设计:仅使用 Python 标准库(urllib、json、hashlib 等),无第三方包引入风险,依赖审计满分

3. 凭证管理规范:明确建议 600 文件权限,遵循 Unix 安全最佳实践

4. 官方 API 背书:直接调用 SwitchBot 官方云服务,非逆向工程或私有协议,稳定性与兼容性有保障

5. 扩展性良好:设备别名映射、批量操作支持,便于集成到自动化工作流

潜在局限

  • 网络依赖:设备控制完全依赖云端 API,本地局域网中断或 SwitchBot 服务器故障时将无法操作
  • 速率限制:官方 API 存在隐性限流,高频批量操作可能触发临时封禁
  • Hub 依赖:多数设备需通过 SwitchBot Hub 联网,Hub 离线会导致设备不可达(错误码 151)
  • 权限验证缺失:当前实现未运行时校验凭证文件权限,依赖用户自觉执行安全建议

适合人群

  • SwitchBot 智能家居用户,尤其是拥有窗帘电机、智能插座、温湿度传感器的家庭
  • 偏好命令行/脚本自动化、希望将设备控制集成到个人工作流的极客用户
  • 对第三方依赖敏感、追求最小化攻击面的安全 cautious 用户

常规风险

  • 凭证泄露风险:若未按建议设置 600 权限,多用户系统下凭证可能被其他账户读取
  • 中间人攻击:虽使用 HTTPS,但在受感染网络环境中仍存在证书伪造风险(可通过证书固定缓解)
  • 隐私数据暴露:设备状态、房间布局等信息通过官方 API 传输,需信任 SwitchBot 隐私政策
  • 操作误触:无二次确认机制,脚本批量执行时可能误操作关键设备(如门锁)

switchbot 内容

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