智能家居 InputSelector 特征架构

action.devices.traits.InputSelector - 此 trait 适用于能够切换输入的设备。

每个设备的媒体输入都可以具有表示音频或视频 Feed 的动态名称。这些 Feed 可以是硬接线的,也可以是通过网络连接的,但应具有名称且具有合理的持久性。此 trait 不支持任意暂时性 Feed,例如可搜索的网络图书馆。支持已配对的已命名蓝牙来源。来源可以有多个名称,因此支持用户创建的名称和发现的名称,以及默认名称;例如,“hdmi_1”也可以是“DVD 播放器”,或者“usb_1”也可以是“硬盘”。

媒体输入可排序,以支持“下一个”和“上一个”命令。

TogglesModes 一样,应以所有可用语言提供输入的名称;这对默认名称尤为重要。

设备属性

具有此 trait 的设备可能会在 SYNC 操作中报告以下属性。如需详细了解如何处理 SYNC intent,请参阅 intent 执行方式

属性 类型 说明
availableInputs 数组

必填。

表示输入音频或视频 Feed 的对象列表。饲料可以是硬接的,也可以是通过网络连接的。每个 Feed 都应具有名称,并且应具有合理的持久性。请务必仔细定义同义词,以免触发不必要的过度触发。

[item, ...] 对象

可用的输入。

key String

必填。

输入的唯一键。在语音或回答中,不应向用户显示密钥。

names 数组

必填。

所有可用语言的输入名称列表。

[item, ...] 对象

针对给定可用语言的输入。

lang String

必填。

语言代码。

name_synonym 数组

必填。

输入内容的简单易懂的名称(采用指定语言)。第一个同义词用于 Google 助理对用户的响应中。

[item, ...] String

输入名称。

commandOnlyInputSelector 布尔值

(默认值:false

指示设备是否支持使用单向(true)或双向(false)通信。如果设备无法响应此特征的 QUERY intent 或报告状态,请将此属性设置为 true。

orderedInputs 布尔值

(默认值:false

如果输出列表已排序,则为 true。这也表示“下一个”和“上一个”功能可用。

示例

具有两个有序输入的设备。

{
  "availableInputs": [
    {
      "key": "hdmi_1",
      "names": [
        {
          "lang": "en",
          "name_synonym": [
            "HDMI 1",
            "1st HDMI",
            "DVD Player"
          ]
        },
        {
          "lang": "de",
          "name_synonym": [
            "HDMI 1",
            "Zuerst HDMI",
            "DVD Spieler"
          ]
        }
      ]
    },
    {
      "key": "usb_1",
      "names": [
        {
          "lang": "en",
          "name_synonym": [
            "USB 1",
            "First USB",
            "Hard Drive"
          ]
        },
        {
          "lang": "de",
          "name_synonym": [
            "USB 1",
            "Zuerst USB",
            "Festplatte"
          ]
        }
      ]
    }
  ],
  "orderedInputs": true
}

设备状态

具有此 trait 的实体可能会在 QUERY 操作期间报告以下状态。如需详细了解如何处理 QUERY intent,请参阅intent 执行方式

类型 说明
currentInput String

必填。

当前正在使用的输入的键。

示例

当前选择的设备具有 HDMI 输入端口。

{
  "currentInput": "hdmi_1"
}

设备命令

具有此特征的设备可以在 EXECUTE 操作过程中响应以下命令。如需详细了解如何处理 EXECUTE intent,请参阅intent 执行方式

action.devices.commands.SetInput

设置媒体输入。

参数

参数 类型 说明
newInput String

必填。

新输入的键。

示例

选择 USB 输入

{
  "command": "action.devices.commands.SetInput",
  "params": {
    "newInput": "usb_1"
  }
}

action.devices.commands.NextInput

选择下一个输入项。仅当 orderedInputs 属性设置为 true 时适用。

此命令需要以下属性:
{
  "orderedInputs": true
}

参数

参数 类型 说明

没有属性

示例

无参数

{
  "command": "action.devices.commands.NextInput",
  "params": {}
}

action.devices.commands.PreviousInput

选择上一个输入内容。仅当 orderedInputs 属性设置为 true 时适用。

此命令需要以下属性:
{
  "orderedInputs": true
}

参数

参数 类型 说明

没有属性

示例

无参数

{
  "command": "action.devices.commands.PreviousInput",
  "params": {}
}

示例话语

de-DE

  • Ändere den Eingangskanal auf AUX .

en-US

  • change input mode to HDMI 1

es-ES

  • cambia a hdmi 1

fr-FR

  • Activation du mode HDMI1 .
  • Mets la télé sur HDMI 1 .

hi-IN

  • टीवी की इनपुट HDMI 1 में स्विच करो

it-IT

  • metti ingresso aux sulla tv

ja-JP

  • テレビ HDMI1 にして

ko-KR

  • TV HDMI 1 로 바꿔 줘

nl-NL

  • zet de TV op bluetooth

pt-BR

  • Muda a entrada da TV para HDMI2 .
  • mudar a entrada para AUX

sv-SE

  • Sätt på hdmi 1

设备错误

查看错误和异常的完整列表。

unsupportedInput:目前不支持该输入。