Smart Home Cook 特徵結構定義

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 屬性)。系統只能回報一項食物。如果目前未選取食物,應設為「無」。

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 屬性)。

範例

開始在烤箱中烘焙

{
  "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 - 使用者要求的裝置不支援預設食物。