智慧型住宅烹飪特徵結構定義

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, ...] 物件

食物名稱。

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

必填。

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

currentFoodPreset String

foodPresets 屬性中,裝置目前烹煮的食物 food_preset_name。只能回報一種食物。如果目前未選取任何食物,則應將此值設為 NONE。

currentFoodQuantity Number

定義與 currentFoodUnit 相關聯的目前烹飪量 (如果指定數量)。如果目前沒有正在烹飪,或沒有與此食物預設設定相關的數量,請勿回報。

currentFoodUnit String

與預設值 supported_units 清單中的 currentFoodQuantity 相關聯的單位。

範例

我的烤箱是否正在烹飪?

{
  "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 屬性。

範例

開始在烤箱中烘烤。

{
  "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"
  }
}

裝置 ERRORS

請參閱錯誤和例外狀況的完整清單。
  • deviceDoorOpen:裝置的門已開啟。
  • deviceLidOpen - 裝置的蓋子已打開。
  • fractionalAmountNotSupported:使用者要求此食物預設值的金額為小數,但裝置不支援。
  • amountAboveLimit:使用者要求的數量超過上限。
  • unknownFoodPreset - 使用者要求的食物預設設定不受裝置支援。