欢迎使用 Google Home 开发者中心,这是一个学习如何开发智能家居 Action 的新平台。注意:构建 Action 的工作仍需在 Actions 控制台中完成。

智能家居厨师特征架构

action.devices.traits.Cook - 此特征属于可根据各种食材预设和支持的烹饪模式烹饪食物的设备。

这些设备类型的示例包括多功能炊具高压锅搅拌器微波炉。烹饪命令可能包含食物的数量和名称,例如“两杯糙米”,其中“糙米”是设备的食品预设。

此特征不处理烹饪时间或烹饪温度。如需了解详情,请参阅计时器TemperatureControl

设备属性

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

属性 类型 说明
supportedCookingModes 数组

必填。

此设备支持的烹饪模式。

[item, ...] String

烹饪模式。

支持的值:

UNKNOWN_COOKING_MODE
BAKE
BEAT
BLEND
BOIL
BREW
BROIL
CONVECTION_BAKE
COOK
DEFROST
DEHYDRATE
FERMENT
FRY
GRILL
KNEAD
MICROWAVE
MIX
PRESSURE_COOK
PUREE
ROAST
SAUTE
SLOW_COOK
SOUS_VIDE
STEAM
STEW
STIR
WARM
WHIP
foodPresets 数组

特定类型食物的预设。

[item, ...] 对象

食物预设。

food_preset_name String

必填。

食物预设的内部名称,将在命令和状态中使用。此名称可能不适合用户使用,且适用于所有语言。

supported_units 数组

必填。

包含设备支持特定食物的所有单位。

[item, ...] String

支持的单位。

支持的值:

UNKNOWN_UNITS
NO_UNITS
CENTIMETERS
CUPS
DECILITERS
FEET
FLUID_OUNCES
GALLONS
GRAMS
INCHES
KILOGRAMS
LITERS
METERS
MILLIGRAMS
MILLILITERS
MILLIMETERS
OUNCES
PINCH
PINTS
PORTION
POUNDS
QUARTS
TABLESPOONS
TEASPOONS
food_synonyms 数组

必填。

预设的食物名称同义词(支持各种语言)。

[item, ...] 对象

食物名称。

synonym 数组

必填。

预设的同义词(包括单数和复数形式,如果适用)。

[item, ...] String

预设同义词名称。

lang String

必填。

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

示例

设备只有一个烹饪模式,没有预设模式

{
  "supportedCookingModes": [
    "BAKE"
  ]
}

设备具备多种烹饪模式和食材预设。

{
  "supportedCookingModes": [
    "COOK",
    "WARM"
  ],
  "foodPresets": [
    {
      "food_preset_name": "white_rice",
      "supported_units": [
        "CUPS"
      ],
      "food_synonyms": [
        {
          "synonym": [
            "White Rice",
            "Rice"
          ],
          "lang": "en"
        }
      ]
    },
    {
      "food_preset_name": "brown_rice",
      "supported_units": [
        "CUPS"
      ],
      "food_synonyms": [
        {
          "synonym": [
            "Brown Rice"
          ],
          "lang": "en"
        }
      ]
    }
  ]
}

设备状态

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

类型 说明
currentCookingMode String

必填。

supportedCookingModes 属性列表中描述设备上当前设置的烹饪模式。只能报告一种模式。如果当前未选择任何模式,应将其设置为“无”。

currentFoodPreset String

foodPresets 属性列表中描述设备当前烹饪的情况。只能举报一种食物。如果当前未选择任何食物,则应将其设置为“无”。

currentFoodQuantity 编号

如果指定了数量,定义与 currentFoodUnit 关联的当前烹饪量。如果目前没有烹饪,或者没有与此食物预设相关的数量,则不应报告。

currentFoodUnit String

currentFoodQuantity 相关联的单位,来自 supported_units 属性列表。

示例

我的烤箱是做饭吗?

{
  "currentCookingMode": "BAKE"
}

我的电饭煲现在在做什么菜?

{
  "currentCookingMode": "COOK",
  "currentFoodPreset": "brown_rice",
  "currentFoodQuantity": 2,
  "currentFoodUnit": "CUPS"
}

设备命令

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

action.devices.commands.Cook

开始或停止烹饪。

参数

参数 类型 说明
start Boolean

必填。

如果为 true,则开始烹饪,如果为 false,则停止当前的烹饪模式。

cookingMode String

通过 supportedCookingModes 属性为设备请求烹饪模式。

foodPreset String

用户请求的食品预设名称,来自 foodPresets 属性。

quantity 编号

用户请求的食品数量。

unit String

quantity 相关联的单位,来自 supported_units 属性。

示例

开始在烤箱中烘烤。

{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": true,
    "cookingMode": "BAKE"
  }
}

停止在烤箱中烘焙。

{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": false,
    "cookingMode": "BAKE"
  }
}

开始用我的电饭煲煮 2 杯白米饭。

{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": true,
    "cookingMode": "COOK",
    "foodPreset": "white_rice",
    "quantity": 2,
    "unit": "CUPS"
  }
}

设备错误

查看错误和异常的完整列表。
  • deviceDoorOpen - 设备的车门是开着的。
  • deviceLidOpen - 设备的盖子是开着的。
  • fractionalAmountNotSupported - 用户已请求此饮食预设的零食金额,但此设备不支持该金额。
  • amountAboveLimit - 用户请求的数量超出了上限。
  • unknownFoodPreset - 用户申请了设备不支持的食物预设。