欢迎使用 Google Home 开发者中心,您可以在这里学习有关如何开发智能家居 Action 的新平台。注意:你将继续在 Actions 控制台中构建操作。
使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

智能家居功能切换特征架构

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

(默认值:false

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

queryOnlyToggles Boolean

(默认值:false

如果设备支持只执行查询,则必须提供。此属性指示是否只能查询设备以获取状态信息,且无法控制。

示例

具有多个切换开关的设备

{
  "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 对象

必填。

将设备切换开关 name 作为键,使用当前状态作为值。

<string> Boolean

当前切换状态。

示例

是否消毒了?

{
  "currentToggleSettings": {
    "sterilization_toggle": true,
    "energysaving_toggle": false
  }
}

设备命令

具有此特征的设备可能会在 EXECUTE 操作中响应以下命令。如需详细了解如何处理 EXECUTE intent,请参阅 intent 执行方式

action.devices.commands.SetToggles

设置指定的切换状态。

参数

参数 类型 说明
updateToggleSettings 对象

必填。

将设备切换开关 name 作为键,使用新状态作为值。

<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 frysen

设备出错

查看错误和异常的完整列表。