Google Home Developer Center へようこそ。スマートホーム アクションの開発方法を学習できます。注: アクションの構築は、引き続き Actions Console で行います。

スマートホームの Cook トレイトのスキーマ

action.devices.traits.Cook - この特性は、さまざまなフード プリセットとサポートされている調理モードに従って食品を調理できるデバイスに属します。

このデバイスタイプには、マルチクッカー圧力鍋ブレンダー電子レンジなどがあります。調理コマンドには、食品の量と名前を含めることができます(例: 「茶碗 2 カップ」。ここで、「茶飯」はデバイスの食品プリセットです)。

このトレイトは調理時間や温度に対応していません。 詳しくは、タイマーTemperatureControl をご覧ください。

デバイスの属性

このトレイトを持つデバイスは、SYNC オペレーションの一部として次の属性を報告できます。SYNC インテントの処理の詳細については、インテントのフルフィルメントをご覧ください。

属性 タイプ 説明
supportedCookingModes 配列

必須。

このデバイスでサポートされている調理モード。

[item, ...] 文字列

調理モード。

サポートされている値:

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 文字列

必須。

フード プリセットの内部名。コマンドと状態で使用されます。わかりやすいものにし、どの言語でも共有してください。

supported_units 配列

必須。

特定の食品に関してデバイスがサポートしているすべてのユニットが含まれます。

[item, ...] 文字列

サポートされている単位。

サポートされている値:

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, ...] 文字列

プリセットの類義語名。

lang 文字列

必須。

言語コード(ISO 639-1)。サポートされている言語をご覧ください。

調理モードが 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 文字列

必須。

supportedCookingModes 属性のリストで、デバイスに設定されている現在の調理モードを記述します。報告できるのは 1 つのモードのみです。モードが選択されていない場合は、NONE に設定する必要があります。

currentFoodPreset 文字列

foodPresets 属性のリストから、デバイスの現在の食品調理を示します。食品は 1 つのみ報告できます。食品が選択されていない場合は「NONE」に設定する必要があります。

currentFoodQuantity Number

数量が指定されている場合は、currentFoodUnit に関連付けられている食品調理の現在の量を定義します。現在調理していない料理や、このフード プリセットに関連付けられた数量がない場合は、報告しないでください。

currentFoodUnit 文字列

supported_units 属性のリストから、currentFoodQuantity に関連付けられた単位。

オーブンで調理する予定はありますか?

{
  "currentCookingMode": "BAKE"
}

今、炊飯器で今何してる?

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

デバイスのコマンド

このトレイトを持つデバイスは、EXECUTE オペレーションの一環として次のコマンドに応答できます。EXECUTE インテントの処理の詳細については、インテントのフルフィルメントをご覧ください。

action.devices.commands.Cook

調理を開始または停止します。

パラメータ

パラメータ タイプ 説明
start ブール値

必須。

調理を開始する場合は true、現在の調理モードを停止する場合は false。

cookingMode 文字列

supportedCookingModes 属性でデバイスの料理モードをリクエストしました。

foodPreset 文字列

foodPresets 属性で、ユーザーがリクエストした食品のプリセット名。

quantity Number

ユーザーが要求した食品の量。

unit 文字列

supported_units 属性の quantity に関連付けられている単位。

オーブンでオーブンで焼く。

{
  "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 - ユーザーがデバイスでサポートされていないフード プリセットを要求しました。