智能家居烹饪 trait 架构
action.devices.traits.Cook
- 此特征属于可根据各种食物预设和支持的烹饪模式烹饪食物的设备。
这些设备类型的示例包括 Multicooker、Pressure cooker、Blender 和 Microwave。烹饪命令可能包含食物的数量和名称,例如“两杯糙米”,其中“糙米”是设备的预设食物。
此 trait 不处理烹饪时间或烹饪温度。 如需了解详情,请参阅 Timer 和 TemperatureControl。
设备属性
具有此特征的设备可能会在 SYNC
操作中报告以下属性。如需详细了解如何处理 SYNC
intent,请参阅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" } ] } ] }
设备状态
具有此 trait 的实体可能会在 QUERY
操作期间报告以下状态。如需详细了解如何处理 QUERY
intent,请参阅intent 执行方式。
州 | 类型 | 说明 |
---|---|---|
currentCookingMode |
String |
必填。 通过 |
currentFoodPreset |
String |
设备中当前正在烹饪的食物的 |
currentFoodQuantity |
编号 |
定义与 |
currentFoodUnit |
String |
与 |
示例
我的烤箱是否正在烹饪?
{ "currentCookingMode": "BAKE" }
我电饭锅里现在在煮什么?
{ "currentCookingMode": "COOK", "currentFoodPreset": "brown_rice", "currentFoodQuantity": 2, "currentFoodUnit": "CUPS" }
设备命令
具有此 trait 的设备可能会在 EXECUTE
操作期间响应以下命令。如需详细了解如何处理 EXECUTE
intent,请参阅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
- 用户请求的食物预设不受设备支持。