智能家居烹饪特征架构

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

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

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

设备属性

具有此特征的设备可能会在 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 - 用户请求的食物预设不受设备支持。