智能家居烹饪特征架构
action.devices.traits.Cook - 此特征属于可根据各种食材预设和支持的烹饪模式烹饪食物的设备。
这些设备类型的示例包括 Multicooker、Pressure cooker、Blender 和 Microwave。烹饪指令可以包含食物的数量和名称,例如“两杯糙米”,其中“糙米”是设备的食物预设。
此特征不处理烹饪时间或烹饪温度。 如需了解详情,请参阅 Timer 和 TemperatureControl。
设备属性
具有此特征的设备可能会在 SYNC 操作中报告以下属性。如需详细了解如何处理 SYNC intent,请参阅意图实现。
| 属性 | 类型 | 说明 | 
|---|---|---|
supportedCookingModes | 
    数组 | 
       必填。 相应设备支持的烹饪模式。  | 
  
[item, ...] | 
    String | 
       烹饪模式。 支持的值: 
  | 
  
foodPresets | 
    数组 | 
       针对某些类型食物的预设。  | 
  
[item, ...] | 
    对象 | 
       食物预设。  | 
  
food_preset_name | 
    String | 
       必填。 食品预设的内部名称,将用于命令和状态。此名称可能不太方便用户理解,并且会以所有语言显示。  | 
  
supported_units | 
    数组 | 
       必填。 包含设备针对特定食物支持的所有单位。  | 
  
[item, ...] | 
    String | 
       支持的单位。 支持的值: 
  | 
  
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,请参阅意图实现。
| 州 | 类型 | 说明 | 
|---|---|---|
currentCookingMode | 
    String | 
       必填。 描述设备上设置的当前烹饪模式,来自   | 
  
currentFoodPreset | 
    String | 
       设备中当前烹饪的食物的   | 
  
currentFoodQuantity | 
    编号 | 
       定义与   | 
  
currentFoodUnit | 
    String | 
       与   | 
  
示例
烤箱在烹饪吗?
{
  "currentCookingMode": "BAKE"
}我的电饭锅现在在煮什么?
{
  "currentCookingMode": "COOK",
  "currentFoodPreset": "brown_rice",
  "currentFoodQuantity": 2,
  "currentFoodUnit": "CUPS"
}设备命令
具有此特征的设备可能会响应以下命令,作为 EXECUTE 操作的一部分。如需详细了解如何处理 EXECUTE intent,请参阅意图实现。
action.devices.commands.Cook
开始或停止烹饪。
参数
| 参数 | 类型 | 说明 | 
|---|---|---|
start | 
    布尔值 | 
       必填。 True 表示开始烹饪,false 表示停止当前烹饪模式。  | 
  
cookingMode | 
    String | 
       从   | 
  
foodPreset | 
    String | 
       用户通过   | 
  
quantity | 
    编号 | 
       用户请求的食物数量。  | 
  
unit | 
    String | 
       与   | 
  
示例
开始在烤箱中烘焙。
{
  "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- 用户请求的食物预设不受设备支持。