智慧型住宅烹飪特徵架構
action.devices.traits.Cook - 這項特徵屬於可根據各種食物預設設定和支援的烹調模式烹調食物的裝置。
這類裝置的例子包括 Multicooker、Pressure cooker、Blender 和 Microwave。烹調指令可包含食物的數量和名稱,例如「兩杯糙米」,其中「糙米」是裝置的食物預設設定。
這項特徵不會處理烹調時間或烹調溫度。 詳情請參閱 Timer 和 TemperatureControl。
裝置屬性
具有這項特徵的裝置可能會回報下列屬性,做為 SYNC 作業的一部分。如要進一步瞭解如何處理 SYNC 意圖,請參閱「意圖執行要求」。
| 屬性 | 類型 | 說明 | 
|---|---|---|
| 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 意圖,請參閱「意圖執行要求」。
| 州 | 類型 | 說明 | 
|---|---|---|
| currentCookingMode | String | 必要。 說明裝置目前設定的烹調模式,來自  | 
| currentFoodPreset | String | 裝置目前烹調食物的  | 
| currentFoodQuantity | Number | 如果已指定數量,則定義與  | 
| currentFoodUnit | String | 與  | 
範例
烤箱正在烹調嗎?
{
  "currentCookingMode": "BAKE"
}我的電鍋現在正在煮什麼?
{
  "currentCookingMode": "COOK",
  "currentFoodPreset": "brown_rice",
  "currentFoodQuantity": 2,
  "currentFoodUnit": "CUPS"
}裝置指令
具有這項特徵的裝置可能會在 EXECUTE 作業中回應下列指令。如要進一步瞭解如何處理 EXECUTE 意圖,請參閱「意圖執行要求」。
action.devices.commands.Cook
開始或停止烹調。
參數
| 參數 | 類型 | 說明 | 
|---|---|---|
| start | 布林值 | 必要。 設為 True 可開始烹調,設為 False 可停止目前的烹調模式。 | 
| cookingMode | String | 裝置要求的烹調模式,來自  | 
| foodPreset | String | 使用者要求的食物預設名稱,來自  | 
| quantity | Number | 使用者要求的食物數量。 | 
| unit | String | 與  | 
範例
Start baking in my oven.
{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": true,
    "cookingMode": "BAKE"
  }
}停止在我的烤箱中烘烤。
{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": false,
    "cookingMode": "BAKE"
  }
}Start cooking 2 cups of white rice in my rice cooker.
{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": true,
    "cookingMode": "COOK",
    "foodPreset": "white_rice",
    "quantity": 2,
    "unit": "CUPS"
  }
}裝置錯誤
如需完整清單,請參閱錯誤和例外狀況。- deviceDoorOpen- 裝置的門已開啟。
- deviceLidOpen- 裝置蓋子已打開。
- fractionalAmountNotSupported- 使用者要求使用這個食物預設值的部分金額,但這部裝置不支援這項功能。
- amountAboveLimit- 使用者要求的數量超過上限。
- unknownFoodPreset- 使用者要求的烹調預設設定不支援裝置。