智能家居 InputSelector 特征架构
action.devices.traits.InputSelector
- 此特征用于能够切换输入的设备。
对于每种设备,媒体输入都可以具有代表音频或视频 Feed 的动态名称。这些 Feed 可以采用硬线或网络方式,但应命名且有合理的持久性。此特征不支持任意临时 Feed,例如可搜索的网络库。支持已配对的已命名蓝牙来源。来源可以有多个名称,因此支持用户创建的名称和发现的名称以及默认名称;例如,“hdmi_1”也可以是“DVD Player”或“usb_1”也可以是“硬盘”。
可对媒体输入进行排序,以支持“next”和“previous”命令。
与切换开关和模式一样,输入内容应该以所有可用语言提供;这对于默认名称尤其重要。
设备属性
具有此特征的设备可以在 SYNC
操作中报告以下属性。如需详细了解如何处理 SYNC
intent,请参阅 intent 执行方式。
属性 | 类型 | 说明 |
---|---|---|
availableInputs |
数组 |
必填。 代表输入音频或视频 Feed 的对象列表。Feed 可以采用硬线或网络方式。每个 Feed 都应命名且有合理的持久性。请务必仔细定义您的同义词,以防止出现意外(过度触发)的情况。 |
[item, ...] |
对象 |
可用的输入源。 |
key |
String |
必填。 输入的唯一键。该密钥不得以语音或响应形式展示给用户。 |
names |
数组 |
必填。 所有可用语言输入的名称列表。 |
[item, ...] |
对象 |
给定可用语言的输入。 |
lang |
String |
必填。 语言代码。 |
name_synonym |
数组 |
必填。 采用给定语言输入的简单易懂的名称。第一个同义词用于 Google 助理对用户的响应。 |
[item, ...] |
String |
输入名称。 |
commandOnlyInputSelector |
Boolean |
(默认: 指示设备是否支持单向 (true) 或双向 (false) 通信。如果设备无法响应此特征的 QUERY intent 或报告状态,请将此属性设为 true。 |
orderedInputs |
Boolean |
(默认: 如果输出列表是有序的,则为 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
:输入来源目前不受支持。