问题描述
- 创建了 Google 智能家居操作。
- 实现了设备: 一种。 deviceType = action.devices.types.SETTOP 湾deviceTrait = action.devices.traits.Channel
- 设备已成功发现并添加到 Google Home 应用的 Homegraph。
- 用户发送命令:“Ok Google,更改为 ESPN”
- 在履行 URL 中接收以下 json:
{ "requestId": "[RequestId GUID]","inputs": [{ "intent": "action.devices.EXECUTE","payload": { "commands": [{ "devices": [{ "id": "[SettopBox device Id]" }],"execution": [{ "command": "action.devices.commands.selectChannel","params": { "channelCode": "espn","channelName": "ESPN","channelNumber": "206" } }] }] } }] }
问题:
- Google 智能家居如何确定“ESPN”的“channelNumber”值?用户的命令是“Ok Google,更改为“ESPN”。这不包含有关频道号的任何信息。
- 如果提供者是自动设置的,Google Home 或 Google 助理中是否有设置可以更改此提供者?
解决方法
在 SYNC 请求中提供了 Channel trait 的频道编号以及任何相关标签。
{
"availableChannels": [
{
"key": "ktvu2","names": [
"Fox","KTVU"
],"number": "2"
},{
"key": "abc1","names": [
"ABC","ABC East"
],"number": "4-11"
}
]
}
如代码段所示,频道号来自服务。这可能取决于如何确定这些数字的集成开发人员,无论是来自有线电视提供商还是通过无线方式。该字段是可选的,因此没有频道号的服务仍然可以通过说出其名称来工作。