核心功能
nest-sdm 是一套基于 Google Smart Device Management (SDM) API 的命令行工具集,实现对 Google Nest 生态设备的完整控制与监控。该技能支持三类核心设备:恒温器(Thermostat)、可视门铃(Doorbell)及智能显示屏/摄像头(Display),覆盖温度调节、模式切换、实时视频流、事件检测等全功能场景。
显著优势
1. 官方 API 背书:直接对接 Google SDM 官方 REST API,非逆向工程或私有协议,稳定性与长期兼容性有保障
2. 功能覆盖全面:不仅支持基础温控(制冷/制热/节能模式/风扇定时),还提供 WebRTC 实时视频流、Pub/Sub 事件推送、Telegram 告警集成等进阶能力
3. 实时事件架构:通过 GCP Pub/Sub 实现真正的异步事件监听(doorbell 按键、人员检测、运动感知、HVAC 状态变化),区别于传统的轮询方案
4. 细粒度权限控制:OAuth 2.0 授权流程,设备所有者显式授权,支持 refresh token 长期凭证(测试模式 7 天,生产模式无过期)
潜在局限与风险
- 准入门槛较高:需支付 $5 一次性 Device Access Console 注册费,配置 GCP 项目、OAuth 客户端、启用 SDM API,对普通用户技术门槛显著
- 速率限制严格:每设备 10 次查询/分钟、10 次命令/分钟,高频自动化场景受限
- 温度单位陷阱:API 内部强制使用摄氏度,虽 CLI 提供华氏度转换,但自定义开发时易出错
- Token 有效期:GCP 应用处于"测试"模式时 refresh token 7 天过期,需手动重新授权或发布应用
- WebRTC 复杂性:摄像头流仅支持 WebRTC(无 RTSP),需完整的 SDP offer/answer 信令交换,难以直接接入传统 NVR 系统
适用人群
- 智能家居极客与自动化爱好者,熟悉 GCP 与 OAuth 配置
- 需要将 Nest 设备集成至自研 Home Assistant/Node-RED 体系的技术用户
- 对实时告警(门铃、入侵检测)有强需求,且愿意承担 GCP 运维成本的用户
- 企业/物业场景下的集中化设备管理(需评估速率限制影响)
常规风险提示
认证安全:凭证文件 .nest-sdm-tokens.json 与 .nest-pubsub-tokens.json 包含 client_secret 与 refresh_token,必须设置 600 权限且避免版本控制泄露。网络边界:Pub/Sub 监听需暴露 GCP 项目网络配置,误配置可能导致事件流暴露。授权范围:SDM 服务 OAuth scope 权限较宽,泄露后攻击者可远程控制温控与查看摄像头流,建议启用 GCP 的 OAuth 品牌验证与受限访问。数据留存:事件日志默认写入本地 JSONL 文件,长期运行需关注磁盘空间与日志轮转。