Smart Home Cook Trait Schema
action.devices.traits.Cook
- This trait belongs to devices that can cook food according to various food presets and supported cooking modes.
Examples of these device types include Multicooker, Pressure cooker, Blender, and Microwave. Cook commands may include the quantity and name of the food, such as "Two cups of brown rice", where "brown rice" is a food preset for the device.
This trait does not handle cooking time or cooking temperature. See Timer and TemperatureControl for more information.
Device ATTRIBUTES
Devices with this trait may report the following
attributes as part of the SYNC
operation. To learn
more about handling SYNC
intents, see
Intent fulfillment.
Attributes | Type | Description |
---|---|---|
supportedCookingModes |
Array |
Required. Cooking modes supported by this device. |
[item, ...] |
String |
Cooking mode. Supported values:
|
foodPresets |
Array |
Presets for certain types of food. |
[item, ...] |
Object |
Food preset. |
food_preset_name |
String |
Required. Internal name of the food preset, which will be used in commands and states. This name can be non-user-friendly, and is shared across all languages. |
supported_units |
Array |
Required. Contains all of the units supported by the device for a specific food. |
[item, ...] |
String |
Supported unit. Supported values:
|
food_synonyms |
Array |
Required. Food name synonyms for the preset in each supported language. |
[item, ...] |
Object |
Food name. |
synonym |
Array |
Required. Synonyms for the preset, should include both singular and plural forms, if applicable. |
[item, ...] |
String |
Preset synonym name. |
lang |
String |
Required. Language code (ISO 639-1). See supported languages. |
Examples
Device with only one cooking mode and no preset.
{ "supportedCookingModes": [ "BAKE" ] }
Device with multiple cooking modes and food presets.
{ "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" } ] } ] }
Device STATES
Entities with this trait may report the following
states as part of the QUERY
operation. To learn
more about handling QUERY
intents, see
Intent fulfillment.
States | Type | Description |
---|---|---|
currentCookingMode |
String |
Required. Describes the current cooking mode set on the device, from the |
currentFoodPreset |
String |
The |
currentFoodQuantity |
Number |
Defines the current amount of food cooking associated with the |
currentFoodUnit |
String |
The unit associated with the |
Examples
Is my oven cooking?
{ "currentCookingMode": "BAKE" }
What's cooking in my rice cooker right now?
{ "currentCookingMode": "COOK", "currentFoodPreset": "brown_rice", "currentFoodQuantity": 2, "currentFoodUnit": "CUPS" }
Device COMMANDS
Devices with this trait may respond to the following
commands as part of the EXECUTE
operation. To learn
more about handling EXECUTE
intents, see
Intent fulfillment.
action.devices.commands.Cook
Start or stop cooking.
Parameters
Parameters | Type | Description |
---|---|---|
start |
Boolean |
Required. True to start cooking, false to stop current cooking mode. |
cookingMode |
String |
Requested cooking mode for the device, from the |
foodPreset |
String |
The name of the food preset requested by the user, from |
quantity |
Number |
The quantity of the food requested by the user. |
unit |
String |
The unit associated with the |
Examples
Start baking in my oven.
{ "command": "action.devices.commands.Cook", "params": { "start": true, "cookingMode": "BAKE" } }
Stop baking in my oven.
{ "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" } }
Device ERRORS
See the full list of errors and exceptions.deviceDoorOpen
- The door of the device is open.deviceLidOpen
- The lid of the device is open.fractionalAmountNotSupported
- The user requested a fractional amount for this food preset, but it isn’t supported by this device.amountAboveLimit
- The user requested a quantity that was over the maximum.unknownFoodPreset
- The user requested a food preset not supported by the device.