Smart Home Cook Trait 架构

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

此类设备类型的示例包括 MulticookerPressure cookerBlenderMicrowave。烹饪命令中可能包含 例如“两杯棕米”,而“黄米”是设备的食物预设。

此特征不处理烹饪时间或烹饪温度。 请参阅“Timer”和“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

设备中当前烹饪的食物的 food_preset_name,来自 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 布尔值

必填。

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