智能家居切换开关特征架构
action.devices.traits.Toggles - 此特征属于任何具有只能处于两种状态之一的设置的设备。
这些设置可以表示具有开启/关闭或有效/无效状态的实体按钮、HTML 中的复选框,或任何其他类型的明确启用/停用元素。如果设置具有两种以上的状态,或者具有未选择任何二元选项的状态,则最好将其表示为 Modes 特征,这相当于多状态旋钮、单选按钮(物理或 HTML)或非明确的开启/关闭二元状态(例如“AM/FM”或“热/冷”)。
此特征涵盖用户可设置的一个或多个单独的切换开关。一般来说,这些开关应用于与其他设备行为无关的功能。关联行为(例如开启或关闭设备本身)应使用更具体的特征(例如特征 TemperatureSetting 中的 thermostatMode)。
设备属性
具有此特征的设备可能会在 SYNC 操作中报告以下属性。如需详细了解如何处理 SYNC intent,请参阅意图实现。
| 属性 | 类型 | 说明 | 
|---|---|---|
availableToggles | 
    数组 | 
       必填。 可用切换开关的列表。  | 
  
[item, ...] | 
    对象 | 
       “可供预订”切换开关。  | 
  
name | 
    String | 
       必填。 切换开关的内部名称,将用于命令和状态。这可能不太方便用户,并且会以所有语言显示。  | 
  
name_values | 
    数组 | 
       必填。 每种支持的语言中切换开关的同义词。  | 
  
[item, ...] | 
    对象 | 
       指定语言的切换开关的同义词。为了提供语言回退,至少需要一个   | 
  
name_synonym | 
    数组 | 
       必填。 切换开关的同义词。此列表中的第一个字符串用作相应语言的级别规范名称。  | 
  
[item, ...] | 
    String | 
       同义词名称。为了提供语言回退,至少需要一个   | 
  
lang | 
    String | 
       必填。 语言代码 (ISO 639-1)。请参阅支持的语言。  | 
  
commandOnlyToggles | 
    布尔值 | 
       (默认值: 指示设备是否支持单向 (true) 或双向 (false) 通信。如果设备无法响应此特征的 QUERY intent 或报告状态,请将此属性设置为 true。  | 
  
queryOnlyToggles | 
    布尔值 | 
       (默认值: 如果设备支持仅查询执行,则为必需。此属性用于指示设备是否只能查询状态信息,而无法控制。  | 
  
示例
具有多个切换开关的设备。
{
  "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,请参阅意图实现。
| 州 | 类型 | 说明 | 
|---|---|---|
currentToggleSettings | 
    对象 | 
       必填。 键值对,其中设备的切换开关   | 
  
<string> | 
    布尔值 | 
       当前切换开关状态。  | 
  
示例
是否已开启消毒功能?
{
  "currentToggleSettings": {
    "sterilization_toggle": true,
    "energysaving_toggle": false
  }
}设备命令
具有此特征的设备可能会响应以下命令,作为 EXECUTE 操作的一部分。如需详细了解如何处理 EXECUTE intent,请参阅意图实现。
action.devices.commands.SetToggles
设置给定的切换开关状态。
参数
| 参数 | 类型 | 说明 | 
|---|---|---|
updateToggleSettings | 
    对象 | 
       必填。 键值对,其中设备的切换开关   | 
  
<string> | 
    布尔值 | 
       新的切换状态  | 
  
示例
开启节能模式。
{
  "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