スマートホームの Cook トレイトのスキーマ
action.devices.traits.Cook - このトレイトは、さまざまなフード プリセットやサポートされている調理モードで調理が可能なデバイスに使用します。
これらのデバイスタイプの例としては、Multicooker、Pressure cooker、Blender、Microwave などがあります。調理コマンドには、「カップ 2 杯分の玄米」などの食品の量や名前を含めることができます。ここで、「玄米」はデバイスのフード プリセットです。
このトレイトは調理時間や調理温度を処理しません。詳細については、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)。サポートされている言語をご覧ください。 | 
例
調理モードが 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 | 数値 | 量が指定されている場合は、 | 
| 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 | 数値 | ユーザーが要求した食品の量。 | 
| unit | String | 
 | 
例
「オーブンで焼き始めます。」
{
  "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- ユーザーがデバイスでサポートされていないフード プリセットを要求しました。