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

智能家居模式特征架构

action.devices.traits.Modes - 此特征涵盖设备的所有可用模式和模式特定设置。

此特征属于具有任意数量“双向”模式的任何设备,其中每种模式的模式和设置对任意设备或设备类型而言都是任意和唯一的。每种模式都有多个可能的设置,但一次只能选择一个设置;烘干机不能同时处于“柔和”、“正常”和“重型”模式。简单地开启或关闭某项设置属于开关特征。

例如,洗衣机的洗衣量和温度可以设定。 这两种方式都是互不相同的模式,因为它们之间相互独立,但每个模式一次只能处于一种状态。用户可以通过将洗衣机的温度设为冷温度之类的命令明确设置温度等模式。

某些模式是有序的,也可以随上/下、增加/减少语境进行调整。例如,负载大小(小、中、大)和温度具有明确的排列顺序(请注意,与其他设备一样,温度不是带数字目标的实际温控器),但负载类型(精致、正常、羊毛等)可能不是。

此特征涵盖用户可以设置的一个或多个单独模式。通常,应使用这些模式来实现与其他设备行为解除关联的功能。关联的行为(例如开启或关闭设备本身)应使用更具体的特征(例如特征 TemperatureSetting 中的 thermostatMode)。

设备属性

具有此特征的设备可能会在 SYNC 操作中报告以下属性。如需详细了解如何处理 SYNC intent,请参阅 intent 执行方式

属性 类型 说明
availableModes 数组

必填。

可用模式列表。

[item, ...] 对象

可用模式。

name String

必填。

模式的内部名称,将在命令和状态中使用。这种做法可能不太方便用户使用,将在所有语言之间共享。

name_values 数组

必填。

每种受支持语言的模式的同义词。

[item, ...] 对象

指定语言的模式的同义词。

name_synonym 数组

必填。

模式的同义词。该列表的第一个字符串将用作该语言的层级规范名称。

[item, ...] String

同义词名称。

lang String

必填。

语言代码 (ISO 639-1)。请参阅支持的语言

settings 数组

必填。

此模式支持的设置。

[item, ...] 对象

支持的设置。

至少需要 2 项内容。

setting_name String

必填。

模式设置的内部名称,将在命令和状态中使用。这种做法可能不太方便用户使用,将在所有语言之间共享。

setting_values 数组

必填。

每种受支持语言的设置同义词。

[item, ...] 对象

指定语言的同义词。

setting_synonym 数组

必填。

此设置的同义词。该列表的第一个字符串将用作该语言的层级规范名称。

[item, ...] String

同义词名称。

lang String

必填。

语言代码 (ISO 639-1)。请参阅支持的语言

ordered Boolean

(默认值:false

如果设置为 true,则会按照设置数组的顺序(渐增)应用其他增减逻辑语法。

commandOnlyModes Boolean

(默认值:false

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

queryOnlyModes Boolean

(默认值:false

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

示例

具有多个模式和设置的设备

{
  "availableModes": [
    {
      "name": "load_mode",
      "name_values": [
        {
          "name_synonym": [
            "Load",
            "Size",
            "Load size"
          ],
          "lang": "en"
        }
      ],
      "settings": [
        {
          "setting_name": "small_load",
          "setting_values": [
            {
              "setting_synonym": [
                "Small",
                "Half"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "medium_load",
          "setting_values": [
            {
              "setting_synonym": [
                "Medium",
                "Normal"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "large_load",
          "setting_values": [
            {
              "setting_synonym": [
                "Large",
                "Full"
              ],
              "lang": "en"
            }
          ]
        }
      ],
      "ordered": true
    },
    {
      "name": "temp_mode",
      "name_values": [
        {
          "name_synonym": [
            "Temperature",
            "Temp"
          ],
          "lang": "en"
        }
      ],
      "settings": [
        {
          "setting_name": "hot_temp",
          "setting_values": [
            {
              "setting_synonym": [
                "Hot",
                "White"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "warm_temp",
          "setting_values": [
            {
              "setting_synonym": [
                "Warm",
                "Color"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "cold_temp",
          "setting_values": [
            {
              "setting_synonym": [
                "Cold",
                "Delicate"
              ],
              "lang": "en"
            }
          ]
        }
      ],
      "ordered": false
    }
  ]
}

具有纯命令模式的设备

{
  "availableModes": [
    {
      "name": "light_mode",
      "name_values": [
        {
          "name_synonym": [
            "Light",
            "Lighting"
          ],
          "lang": "en"
        }
      ],
      "settings": [
        {
          "setting_name": "day_light",
          "setting_values": [
            {
              "setting_synonym": [
                "Day",
                "Bright"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "night_light",
          "setting_values": [
            {
              "setting_synonym": [
                "Night",
                "Dark"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "reading_light",
          "setting_values": [
            {
              "setting_synonym": [
                "Reading",
                "Ambiant"
              ],
              "lang": "en"
            }
          ]
        }
      ],
      "ordered": false
    }
  ],
  "commandOnlyModes": true,
  "queryOnlyModes": false
}

设备状态

具有此特征的实体可能会在 QUERY 操作中报告以下状态。如需详细了解如何处理 QUERY intent,请参阅 intent 执行方式

类型 说明
currentModeSettings 对象

必填。

将设备模式为 name 的键值对作为键,使用当前的 setting_name 作为值。

<string> String

目前气温为 setting_name

示例

设备处于什么模式?

{
  "currentModeSettings": {
    "load_mode": "small_load",
    "temp_mode": "cold_temp"
  }
}

设备命令

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

action.devices.commands.SetModes

更新模式设置。

参数

参数 类型 说明
updateModeSettings 对象

必填。

键值对,使用设备的模式 name 作为键,将新的 setting_name 作为值。

<string> String

新增了 setting_name

示例

设置为大负载。

{
  "command": "action.devices.commands.SetModes",
  "params": {
    "updateModeSettings": {
      "load_mode": "large_load"
    }
  }
}

示例话语

de-DE

  • Stelle den Staubsauger auf Ruhemodus

en-US

  • set the vacuum to energy saver mode

es-ES

  • pon la lavadora en modo frío

fr-FR

  • mets l'aspirateur en silencieux

hi-IN

  • वैक्यूम पर कार्पेट मोड लगाएं

it-IT

  • imposta l'aspirapolvere su silenzioso

ja-JP

  • 掃除機 静音 モードに設定して

ko-KR

  • 세탁기 세탁량 많음 으로 설정해

pt-BR

  • acionar a função autolimpeza do aspirador
  • ligar o modo de aquecimento

设备出错

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