接入流程
登录谷歌 Cloud,创建并设置项目
1、登录谷歌 Cloud Console
2、创建项目

3、设置项目 OAuth2.0 鉴权凭证

创建客户端凭证

填写客户端名称(客户端密钥只在首次创建成功页面可以下载)

登录开发者控制台,云到云设置
1、登录谷歌开发者控制台 Developer
2、添加在 google cloud 创建的项目

3、云对云设置
云到云–>开发–>创建集成项目


- 集成名称: 必填
- 必选,选择需要接入的设备类型
智能家居通过 Google Cloud 实现与 Home Assistant 的云端对接。流程涵盖 Google Cloud 项目创建、OAuth2.0 鉴权配置、意图同步与执行接口开发、服务部署及测试验证。重点解决设备属性转换、Token 管理及多端控制联动问题,支持语音与 APP 操作。


创建客户端凭证

填写客户端名称(客户端密钥只在首次创建成功页面可以下载)

1、登录谷歌开发者控制台 Developer
2、添加在 google cloud 创建的项目

3、云对云设置
云到云–>开发–>创建集成项目


sync、query、execute、disconnect 意图的入口实现 OAuth2.0 服务器 谷歌官方文档
在处理授权请求文档中提到,用户从谷歌 Home App --> 跳转到 Halo 授权登录页 --> 用户输入 Halo 账号密码 --> 登录 --> 重定向用户浏览器

从文档描述来看,接口需返回 code 即可,无需将用户浏览器重定向,返回 code 后,谷歌会自动处理跳转问题。
{"code":200, "data":{"code":"ad4f10becfe24354a32e504e62b02087"}}
Halo 服务需要实现谷歌 Home 的 sync、query、execute、disconnect 意图,详细查看 官方文档 实现意图。
控制设备:谷歌 Home --> 谷歌云 --> Halo 云平台 --> 处理意图(属性转换、控制设备)–> 意图处理结果返回谷歌云 --> 谷歌云返回给谷歌 Home
主要工作量:
执行意图: 谷歌云–>Halo 云,需要把谷歌云设备类型、设备特性(属性)转换为 Halo 云设备类型、设备特性(属性)
返回意图: Halo 云–>谷歌云,需要把 Halo 云设备类型、设备特性(属性)转换为谷歌云设备类型、设备特性(属性)
对接属性转换的时候,光看 设备属性 文档,是很难知道某设备某型号某属性值是什么,值需不需要进行转换数据之类的(比如色温灯的开/关、亮度、色温值属性 id 分别是什么,值是什么类型),**如何快速高效对接属性:**设备上电重置接入网关–>根据设备 id 查看该设备属性表 device_attrs 有哪些属性和值–>MQTTX 订阅该网关上/下行消息–>在 Halo App 控制设备–>查看 MQTTX 订阅消息 + 设备属性表属性值变化–>快速定位属性和属性值(如设置色温,MQTTX 发送什么属性消息给网关,根据该属性 id 查询属性表该属性值的变化)
例如:设置 D628-ZG 设备色温,MQTTX 订阅可以看到下发给网关的数据,其中属性 id:ColTempMir,val:307,根据设备 id 查找属性表,属性 id 和值能对应上的,从而快速定位调整色温的属性 id 和值类型,不用在设备属性文档中低效来回往返查找还不确定是不是这个属性


当 Halo 云实现了 OAuth2.0+ 意图后,把服务部署到服务器,需要外网能访问,且是 https,通过 postman 或 apifox 测试接口,没问题接着就是集成测试,测试谷歌 Home 能否控制设备
测试用户添加登录谷歌 Cloud 的账号(添加其他谷歌账号 A,测试时候在谷歌 Home 登录 A 账号中找不到 your-project-id 项目,不清楚具体什么原因,添加登录谷歌 Cloud 的账号到测试用户组,在谷歌 Home 中也登录谷歌 Cloud 账号,就能找到项目)

一台安卓手机,需配置网络环境以访问 Google 服务,安装谷歌 Play、谷歌浏览器、谷歌 Home、谷歌 Assistant 助理
谷歌 Home 登录谷歌账号(账号必须跟登录谷歌 Cloud 创建项目的账号相同且账号已添加到测试用户组中)
谷歌 Home 关联在谷歌 Cloud 创建的项目 your-project-id,同步设备列表、控制设备















手机安装谷歌助理 App–>打开谷歌 App 对谷歌助理进行常规设置–>打开谷歌助理 App–>语音或者文字输入–>控制设备









重置谷歌智能音箱–>谷歌 Home 绑定音箱–>绑定成功–>OK Google 唤醒智能音箱–>打开灯–>智能音箱播报执行结果
谷歌 Home 绑定谷歌智能音箱类似于国内智能音箱绑定操作,如米家 App 绑定小爱智能音箱、天猫精灵 App 绑定天猫精灵

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online