Google智能家居如何确定action.devices.commands.selectChannel的channelNumber?

How does Google Smart Home determine channelNumber for action.devices.commands.selectChannel?

  1. 已创建 Google 智能家居操作。
  2. 实现的设备: 一种。设备类型 = action.devices.types.SETTOP b.设备特征 = action.devices.traits.Channel
  3. 设备已成功发现并添加到 Google Home 应用程序的 Homegraph。
  4. 用户发送命令:“好的Google,切换到 ESPN”
  5. 在履行中收到以下 json URL:
    {
      "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"
              }
            }]
          }]
        }
      }]
    }
    

问题:

  1. 智能家居Google如何确定“ESPN”的“channelNumber”值?用户的命令是“Ok Google,更改为“ESPN”。这不包含有关频道号的任何信息。
  2. 如果提供商是自动设置的,Google 主页或 Google 助手中是否有更改此提供商的设置?

Channel trait 的频道编号与任何相关标签一起在 SYNC 请求中提供。

{
  "availableChannels": [
    {
      "key": "ktvu2",
      "names": [
        "Fox",
        "KTVU"
      ],
      "number": "2"
    },
    {
      "key": "abc1",
      "names": [
        "ABC",
        "ABC East"
      ],
      "number": "4-11"
    }
  ]
}

如代码段所示,频道号来自服务。这可能取决于集成开发人员如何确定这些数字,无论是来自有线提供商还是无线。该字段是可选的,因此没有频道号码的服务可能仍然可以通过说出它的名称来工作。