智能家居烹饪特征架构

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

这些设备类型的示例包括 Multicooker、Pressure cooker、Blender 和 Microwave。烹饪指令可以包含食物的数量和名称,例如“两杯糙米”,其中“糙米”是设备的食物预设。

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

设备属性

具有此特征的设备可能会在 SYNC 操作中报告以下属性。如需详细了解如何处理 SYNC 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, ...] 对象

食物名称。为了提供语言回退,至少需要一个 lang 值为 en 的商品。

synonym 数组

必填。

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

[item, ...] String

预设同义词名称。为了提供语言回退,至少需要一个 lang 值为 en 的商品。

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,请参阅意图实现。

州 类型 说明
currentCookingMode String

必填。

描述设备上设置的当前烹饪模式,来自 supportedCookingModes 属性。只能报告一种模式。如果当前未选择任何模式,则应将此属性设置为 NONE。

currentFoodPreset String

设备中当前烹饪的食物的 food_preset_name,来自 foodPresets 属性。只能报告一种食物。如果当前未选择任何食物,则应将此属性设置为 NONE。

currentFoodQuantity 编号

定义与 currentFoodUnit 关联的当前烹饪食物量(如果指定了数量)。如果当前未烹饪任何食物,或者此食物预设没有关联的数量,则不应报告此事件。

currentFoodUnit String

与 currentFoodQuantity 关联的单位,来自预设的 supported_units 列表。

示例

烤箱在烹饪吗?

{
  "currentCookingMode": "BAKE"
}

我的电饭锅现在在煮什么?

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

设备命令

具有此特征的设备可能会响应以下命令,作为 EXECUTE 操作的一部分。如需详细了解如何处理 EXECUTE intent,请参阅意图实现。

action.devices.commands.Cook

开始或停止烹饪。

参数

参数 类型 说明
start 布尔值

必填。

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 - 用户请求的食物预设不受设备支持。