智能家居 InputSelector 特征架构

action.devices.traits.InputSelector - 此特征用于能够切换输入源的设备。

媒体输入可以为每台设备使用动态名称,以表示音频或视频 Feed。这些 Feed 可以是硬连接或联网的,但应为其命名且具有合理的持久性。此特征不支持任意临时 Feed,例如可搜索的网络库。支持已命名的成对蓝牙来源。来源可以有多个名称,因此支持用户创建和发现的名称以及默认名称;例如,“hdmi_1”也可能是“DVD player”或“usb_1”也可能是“Hard drive”。

您可以对媒体输入进行排序,以支持“next”和“previous”命令。

TogglesModes 一样,输入名称应以所有可用语言提供;这与默认名称尤其相关。

设备属性

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

属性 类型 说明
availableInputs 数组

必填。

代表输入音频或视频 Feed 的对象列表。Feed 可以是硬线的,也可以是联网的。每个 Feed 都应具有适当的名称,并持续显示。请务必仔细定义同义词,防止不必要的(过度)触发。

[item, ...] 对象

可用输入。

key String

必填。

输入的唯一键。不应在语音或响应过程中向用户呈现密钥。

names 数组

必填。

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

[item, ...] 对象

给定可用语言的输入。

lang String

必填。

语言代码。

name_synonym 数组

必填。

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

[item, ...] String

输入名称。

commandOnlyInputSelector Boolean

(默认值:false

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

orderedInputs Boolean

(默认值: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
}

设备状态

具有此特征的实体可能会在 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:目前不支持该输入。