智能家居 InputSelector 特征架构
action.devices.traits.InputSelector
- 此特征用于能够切换输入的设备。
媒体输入可以为每台设备分配动态名称,以表示音频或视频 Feed。这些 Feed 可以是硬线连接或联网连接,但应命名且应具有持久性。此特征不支持任意临时 Feed,例如可搜索的网络库。支持已配对的已命名蓝牙源。来源可以有多个名称,因此支持用户创建和发现的名称以及默认名称;例如,“hdmi_1”也可能是“DVD 播放器”,或者“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é surHDMI 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 opbluetooth
pt-BR
-
Muda a entrada da
TV paraHDMI2 . -
mudar a entrada para
AUX
sv-SE
-
Sätt på
hdmi 1
设备出错
查看错误和异常的完整列表。unsupportedInput
:输入目前不受支持。