智能家居烹饪特征架构

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

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

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

设备属性

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