Nest Devices

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

home-automation榜 #5

通过 Google Device Access API 控制 Nest 智能家居设备,支持温控器调节、摄像头实时查看及门铃事件推送,需 5 美元开通并配置 OAuth。

收藏
7.3k
安装
2.4k
版本
1.2.0
CLS 安全性认证2026-05-17
点击查看完整报告 >

使用说明

核心用法

Nest Devices 技能通过 Python 脚本封装 Google 的 Smart Device Management API,实现对 Nest 温控器、摄像头、门铃等设备的远程控制与状态监控。

设备控制能力:

  • 温控器:获取状态、设置温度(支持 °C/°F 切换)、切换模式(制热/制冷/节能/关闭)、开启 Eco 节能模式
  • 摄像头:生成 RTSP 实时流地址(有效期约 5 分钟),用于查看监控画面
  • 门铃/传感器:通过 Google Cloud Pub/Sub 配置实时事件推送,支持门铃响铃、移动侦测、人物识别、声音检测等即时告警

集成方式: 提供命令行工具(nest.py)和 Python API 两种调用方式,支持 1Password 或环境变量管理 OAuth 凭证。

显著优点

1. 官方 API 背书:基于 Google 第一方 Device Access API,非逆向工程,稳定性与兼容性有保障
2. 完整设备覆盖:支持 Nest Thermostat、Nest Cam、Nest Doorbell 等主流产品线

3. 实时事件能力:通过 Pub/Sub 推送机制实现亚秒级告警,优于轮询方案

4. 灵活凭证管理:内置 1Password 集成,符合安全最佳实践

5. 开源可扩展:Python 实现,易于二次开发与自动化集成

潜在缺点与局限性

  • 付费门槛:需一次性支付 $5 开通 Device Access 项目,且 Google Cloud 可能产生额外费用
  • 配置复杂度高:OAuth 2.0 流程、Pub/Sub 主题创建、Cloudflare Tunnel 穿透等环节涉及多平台操作,技术门槛较高
  • 流地址时效性:摄像头 RTSP 流仅 5 分钟有效,需重复生成
  • 地域与设备限制:部分旧款 Nest 设备可能不支持全部 API 功能;Google 服务受网络环境影响
  • 实时事件依赖外部基建:完整实时功能需维护 Cloudflare Tunnel 和 systemd 服务,增加运维负担

适合人群

  • 已部署 Nest 生态、追求自动化集成的智能家居爱好者
  • 具备 Linux/云基础、能独立完成 OAuth 和 GCP 配置的技术用户
  • 需要本地 webhook 接收门铃/安防事件进行自定义通知(如企业微信、钉钉、Home Assistant)的进阶玩家

常规风险

  • OAuth 凭证泄露refresh_token 长期有效,若存储不当可导致设备被非法控制
  • 云依赖单点故障:Google API、Cloudflare Tunnel、本地 webhook 任一环节故障将导致功能中断
  • 隐私合规:摄像头画面与门铃事件流经第三方 webhook 服务,需自行评估数据安全
  • 计费失控:GCP Pub/Sub 流量、Cloudflare 超出免费额度可能产生意外账单

安全解读

核心用法

nest-devices 是一款面向 Nest 智能家居生态的自动化控制工具,通过 Google Smart Device Management (SDM) API 实现设备远程管理。主要功能包括:

  • 恒温器控制:查看状态、设置温度(支持摄氏/华氏)、切换加热/制冷/节能模式
  • 摄像头管理:生成 RTSP 实时流地址(有效期约5分钟)
  • 门铃与事件监控:支持实时推送门铃响铃、移动侦测、人员识别等事件
  • Python API:提供 NestClient 类便于二次开发

使用前提

需完成 Google Cloud 项目配置,支付 $5 的 Device Access 开发者费用,并创建 OAuth 2.0 凭证。支持 1Password 或环境变量存储密钥。

显著优点

  • 官方 API 支持:基于 Google 官方 SDM API,稳定可靠
  • 多凭证存储:同时支持 1Password CLI 集成和传统环境变量
  • 实时事件推送:通过 Pub/Sub + Cloudflare Tunnel 实现门铃即时通知
  • 多语言支持:提供完整 Python API 和命令行工具
  • 安全传输:全链路 HTTPS,OAuth2 标准认证

潜在缺点与局限性

| 限制 | 说明 |
|------|------|
| 开发者费用 | 需一次性支付 $5 开通 Device Access |
| 配置复杂度高 | 涉及 Google Cloud、OAuth、Pub/Sub、Cloudflare 等多平台配置 |
| 实时流时效短 | RTSP 流地址仅约5分钟有效,需频繁刷新 |
| 旧设备兼容性 | 部分 legacy Nest 设备可能不支持全部 SDM API 特性 |
| 外部依赖多 | 依赖 Google Cloud 服务可用性及网络稳定性 |

适合人群

  • 智能家居重度用户:已部署 Nest 恒温器、摄像头、门铃的谷歌生态用户
  • 自动化爱好者:希望通过脚本实现温度调度、安防联动的开发者
  • 远程监控需求者:需要在外查看家中实时画面或接收门铃通知

常规风险

1. 凭证泄露风险:OAuth refresh token 长期有效,需安全存储,建议配合 1Password 使用
2. 网络暴露面:实时事件功能需部署公网 webhook,若配置不当可能存在未授权访问风险

3. API 依赖:Google SDM API 策略变更可能影响功能

4. 通知误配:Telegram 通知默认 chat ID 建议显式配置,避免消息发送至非预期账户

Nest Devices 内容

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