智慧型住宅烹飪特徵架構

action.devices.traits.Cook - 這項特徵屬於可根據各種食物預設設定和支援的烹調模式烹調食物的裝置。

這類裝置的例子包括 MulticookerPressure cookerBlenderMicrowave。烹調指令可包含食物的數量和名稱,例如「兩杯糙米」,其中「糙米」是裝置的食物預設設定。

這項特徵不會處理烹調時間或烹調溫度。 詳情請參閱 TimerTemperatureControl

裝置屬性

具有這項特徵的裝置可能會回報下列屬性,做為 SYNC 作業的一部分。如要進一步瞭解如何處理 SYNC 意圖,請參閱「意圖執行要求」。

屬性 類型 說明
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, ...] 物件

食物名稱。如要提供語言備用選項,至少須有一個項目的 lang 值為 en

synonym 陣列

必要。

預設集的同義詞應包含單數和複數形式 (如適用)。

[item, ...] String

預設同義詞名稱。如要提供語言備用選項,至少須有一個項目的 lang 值為 en

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

必要。

說明裝置目前設定的烹調模式,來自 supportedCookingModes 屬性。只能回報一種模式。如果目前未選取任何模式,則應將此值設為 NONE。

currentFoodPreset String

裝置目前烹調食物的 food_preset_name,來自 foodPresets 屬性。你只能回報一種食物。如果目前未選取任何食物,則應設為 NONE。

currentFoodQuantity Number

如果已指定數量,則定義與 currentFoodUnit 相關聯的目前烹調食物量。如果目前沒有烹調任何食物,或是這個食物預設沒有相關聯的數量,則不應回報。

currentFoodUnit String

currentFoodQuantity 相關聯的單位,來自預設的 supported_units 清單。

範例

烤箱正在烹調嗎?

{
  "currentCookingMode": "BAKE"
}

我的電鍋現在正在煮什麼?

{
  "currentCookingMode": "COOK",
  "currentFoodPreset": "brown_rice",
  "currentFoodQuantity": 2,
  "currentFoodUnit": "CUPS"
}

裝置指令

具有這項特徵的裝置可能會在 EXECUTE 作業中回應下列指令。如要進一步瞭解如何處理 EXECUTE 意圖,請參閱「意圖執行要求」。

action.devices.commands.Cook

開始或停止烹調。

參數

參數 類型 說明
start 布林值

必要。

設為 True 可開始烹調,設為 False 可停止目前的烹調模式。

cookingMode String

裝置要求的烹調模式,來自 supportedCookingModes 屬性。

foodPreset String

使用者要求的食物預設名稱,來自 foodPresets 屬性。

quantity Number

使用者要求的食物數量。

unit String

quantity 相關聯的單位,來自 supported_units 屬性。

範例

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 - 使用者要求的烹調預設設定不支援裝置。