nest-devices

🏠 Nest 智能家居全栈控制中枢

🥥32总安装量 15评分人数 11
100% 的用户推荐

基于 Google Device Access API 的 Nest 智能家居控制方案,支持恒温器调节、摄像头监控及门铃实时告警,需配合 OAuth 与 Pub/Sub 部署。

A

基本安全,请在特定环境下使用

  • 来自社区或个人来源,建议先隔离验证
  • ✅ 无 eval/exec/system 等危险代码执行,所有外部命令采用列表参数传递,无注入风险
  • ✅ 凭证管理规范,支持 1Password 集成,无硬编码敏感信息,日志自动脱敏 access token
  • ✅ 网络通信全链路 HTTPS,Webhook 服务器绑定 localhost 最小化暴露面
  • ⚠️ 需用户自行配置 OAuth 凭证与 Cloudflare Tunnel,配置复杂度较高,误配可能导致安全风险
  • ⚠️ 实时事件功能依赖 Google Cloud Pub/Sub 及第三方隧道服务,可用性与隐私合规需用户自行评估

使用说明

核心用法

nest-devices 是一款面向 Nest 智能家居生态的 API 控制工具,通过 Google Smart Device Management (SDM) API 实现对恒温器、摄像头、门铃等设备的程序化操控。用户可通过 Python CLI 或 API 完成设备列表查询、温度设定、模式切换、实时视频流获取等操作;进阶功能支持基于 Google Cloud Pub/Sub 的实时事件推送(门铃响铃、人员检测等),并通过 Telegram 发送即时告警。

部署流程分为三阶段:首先在 Google Cloud 创建项目并支付 $5 开通 Device Access 权限,配置 OAuth 2.0 凭证;其次通过 1Password 或环境变量安全存储访问令牌;最后可选配置 Pub/Sub 主题、Cloudflare Tunnel 及 Webhook 服务器以实现实时事件接收。技能提供完整的 Systemd 服务配置模板,支持生产环境长期运行。

显著优点

1. 功能覆盖全面:涵盖恒温器温度/模式/Eco 控制、摄像头 RTSP 流生成、门铃事件实时推送等核心场景,满足智能家居自动化需求。
2. 安全架构规范:凭证管理优先推荐 1Password 集成,避免硬编码;Webhook 服务器绑定 localhost,通过 Cloudflare Tunnel 反向代理暴露,最小化攻击面。

3. 事件处理智能:内置 5 分钟陈旧事件过滤机制,防止 Pub/Sub 消息延迟导致的通知轰炸;门铃与人员检测触发 Telegram 告警,运动/声音事件仅记录不打扰。

4. 容错设计完善:图像捕获采用 SDM API 优先、ffmpeg RTSP 截帧 fallback 的双层策略,应对事件图像过期场景。

潜在缺点与局限性

  • 部署门槛较高:需同时掌握 Google Cloud 项目配置、OAuth 流程、Pub/Sub 设置及 Cloudflare Tunnel 运维,对非技术用户形成显著障碍。
  • 实时功能依赖外部基础设施:事件推送强耦合 GCP 与 Cloudflare,任一服务中断将导致告警失效;且快速隧道无 SLA 保障。
  • 设备兼容性限制:部分旧款 Nest 设备可能不支持全部 API 功能;摄像头事件图像有效期仅约 5 分钟,历史追溯能力薄弱。
  • 成本隐含:除 $5 一次性 Device Access 费用外,GCP Pub/Sub 及 Cloudflare 高级功能可能产生持续支出。

适合的目标群体

  • 已拥有 Nest 设备且具备 Google Cloud 使用经验的开发者与技术型用户
  • 希望将智能家居控制集成至自建自动化工作流(如 Home Assistant、Clawdbot)的极客群体
  • 需要门铃/安防实时告警并偏好 Telegram 通知渠道的用户
  • 愿意投入时间完成复杂初始配置以换取长期稳定运行的自托管爱好者

使用风险

  • 凭证泄露风险:OAuth refresh token 一旦泄露,攻击者可长期控制设备;务必通过 1Password 等密钥管理工具存储,避免提交至代码仓库。
  • 网络暴露面:Webhook 端点若配置不当(如未启用 hooks token 验证)可能遭受未授权访问;建议定期轮换 token 并监控访问日志。
  • 依赖服务可用性:Google API 配额限制、Cloudflare Tunnel 连接稳定性、Telegram Bot 服务状态均可能影响功能可用性,需建立降级预案。
  • 隐私合规考量:摄像头图像与门铃事件数据流经第三方基础设施(GCP、Telegram),敏感场景用户需评估数据驻留与跨境传输合规性。

nest-devices 内容

文件夹图标scripts文件夹
手动下载zip · 12.2 kB
nest-webhook.pytext/plain
请选择文件