智能家居开关特征架构
action.devices.traits.Toggles
- 此特征属于设置只能存在于两种状态之一的任何设备。
这些设置可以表示具有开启/关闭/活跃/非活跃状态的物理按钮、HTML 中的复选框或任何专门启用/停用的元素。如果设置具有两种以上状态,或者具有其中两种二进制文件选项均未选择的状态,最好将其表示为模式特征,这种特征相当于多状态拨号、单选按钮(物理或 HTML)或未明确开启/关闭的二进制状态(例如“AM/FM”或“hot/cold”)。
此特征涵盖用户可以设置的一个或多个切换开关。一般而言,这些切换开关应用于解除与其他设备行为解除关联的功能。关联的行为(例如开启或关闭设备本身)应使用更具体的特征(例如,特征 TemperatureSetting 中的 thermostatMode
)。
设备属性
具有此特征的设备可以在 SYNC
操作中报告以下属性。如需详细了解如何处理 SYNC
intent,请参阅 intent 执行方式。
属性 | 类型 | 说明 |
---|---|---|
availableToggles |
数组 |
必填。 可用切换开关的列表。 |
[item, ...] |
对象 |
可用的切换开关。 |
name |
String |
必填。 切换开关的内部名称,将在命令和状态中使用。这种做法可能会不适合用户浏览,并且会跨所有语言分享。 |
name_values |
数组 |
必填。 每种受支持语言的切换开关的同义词。 |
[item, ...] |
对象 |
给定语言的同义词。 |
name_synonym |
数组 |
必填。 切换开关的同义词。此列表中的第一个字符串将用作该语言的级别规范名称。 |
[item, ...] |
String |
同义词。 |
lang |
String |
必填。 语言代码 (ISO 639-1)。请参阅支持的语言。 |
commandOnlyToggles |
Boolean |
(默认: 指示设备是否支持单向 (true) 或双向 (false) 通信。如果设备无法响应此特征的 QUERY intent 或报告状态,请将此属性设为 true。 |
queryOnlyToggles |
Boolean |
(默认: 如果设备支持仅执行查询,则必须提供。此属性指示设备是否只能查询状态信息,且无法控制。 |
示例
设备带有多个切换开关。
{ "availableToggles": [ { "name": "sterilization_toggle", "name_values": [ { "name_synonym": [ "Clean", "Bio clean" ], "lang": "en" } ] }, { "name": "energysaving_toggle", "name_values": [ { "name_synonym": [ "Energy saving", "Eco" ], "lang": "en" } ] } ] }
设备具有用于执行命令的切换开关。
{ "availableToggles": [ { "name": "filter_toggle", "name_values": [ { "name_synonym": [ "Filtered", "Filter" ], "lang": "en" } ] } ], "commandOnlyToggles": true }
具有“仅限查询”切换开关的设备。
{ "availableToggles": [ { "name": "filter_toggle", "name_values": [ { "name_synonym": [ "Filtered", "Filter" ], "lang": "en" } ] } ], "queryOnlyToggles": true }
设备状态
具有此特征的实体可以在 QUERY
操作中报告以下状态。如需详细了解如何处理 QUERY
intent,请参阅 intent 执行方式。
州 | 类型 | 说明 |
---|---|---|
currentToggleSettings |
对象 |
必填。 键值对,将设备的切换开关 |
<string> |
Boolean |
当前的切换状态。 |
示例
是否消毒了?
{ "currentToggleSettings": { "sterilization_toggle": true, "energysaving_toggle": false } }
设备命令
具有此特征的设备可能会在 EXECUTE
操作中响应以下命令。如需详细了解如何处理 EXECUTE
intent,请参阅 intent 执行方式。
action.devices.commands.SetToggles
设置指定的切换状态。
参数
参数 | 类型 | 说明 |
---|---|---|
updateToggleSettings |
对象 |
必填。 键值对,将设备的切换开关 |
<string> |
Boolean |
新的切换状态 |
示例
开启节能模式。
{ "command": "action.devices.commands.SetToggles", "params": { "updateToggleSettings": { "energysaving_toggle": true } } }
关闭过滤器。
{ "command": "action.devices.commands.SetToggles", "params": { "updateToggleSettings": { "filter_toggle": false } } }
示例话语
de-DE
- Bitte schalte Power Cool am Kühlschrank aus
- stelle den Kühlschrank auf Power Cool
en-US
- activate power freeze for the freezer
- cancel power cool for the kitchen fridge
es-ES
- pon el enfriamiento rápido en la nevera
- quita el enfriamiento rápido
fr-FR
- mets le mode power cool sur le réfrigérateur
- Éteins le mode power freeze du réfrigérateur .
hi-IN
- रेफ़्रिजरेटर का पावर कूल मोड बंद कर दो
- रेफ़्रिजरेटर में पावर कूल मोड चालू करो
it-IT
- disattiva il power freeze del freezer
- imposta la funzione power freeze del surgelatore
ja-JP
- 冷蔵庫 の 急速冷凍 つけて
- 冷蔵庫 の 急速冷凍 を切ってくれる
ko-KR
- 냉장고 급속 냉장 해제해
- 냉장고 모드 급속 냉장 으로 바꿔
nl-NL
- Zet de power cool uit op de koelkast
- zet de koelkast op superkoelen
pt-BR
- Ativa a função power freeze no congelador .
- Desativa o bloqueio infantil do forno .
- desligar o power cool da geladeira
- iniciar o modo power freeze do freezer
sv-SE
- Stäng av power cool i kylskåpet
- sätt på power freeze på frysen