Alexa.Cooking interfaces use property schemas to define cooking information. For details about cooking add-ons, see Build Smart Home Add-ons for Cooking Appliances.
Property definition
When you include properties in a cooking interface, you can express the property as an object or a string. The following example shows a property defined as an object.CookingMode
TheCookingMode property represents the settings for a cooking appliance, such as a microwave or oven.
| Property | Description | Type |
|---|---|---|
cookingMode | Predefined cooking mode, such as BOIL or REHEAT.For the list of valid values, see CookingMode Values. | String or object |
CookingMode object format
You can use the full object format for theCookingMode. Alexa always sends the CookingMode to your add-on in the object format.
CookingMode string format
You can also abbreviateCookingMode as a string.
CookingMode values
Use one of the following predefined string values forCookingMode.
AIR_FRY, BAKE, BLANCH, BOIL, BREW, BROIL, CONVECTION_BAKE, CONVECTION_BROIL, CONVECTION_ROAST, CONVECTION_STEAM, CURE, DEFROST, DEHYDRATE, FERMENT, FRY, GRILL, INCUBATE, MELT, MICROWAVE, OFF, PRESET, PRESSURE, PROOF, REHEAT, ROAST, SAUTE, SEAR, SLOW_COOK, SMOKE, SOFTEN, SOUS_VIDE, STEAM, STIR_FRY, TOAST, WARM
Include the following values, if applicable:
OFF, to indicate when the appliance is off.PRESET, if your appliance supports preset modes or other automated cooking. For details, see Alexa.Cooking.PresetController.
MICROWAVE mode allows the following types of utterances:
- Generic – General requests, such as require a temperature. If the temperature isn’t included, Alexa asks the user for the temperature before sending the directive to the add-on.
- Specific – More specific requests, such as don’t require additional input.
CookingStatus
TheCookingStatus property represents the state of your appliance or the state of the food that your appliance is cooking. Some cooking statuses can trigger an announcement to the user.
The following table shows the valid values for CookingStatus.
| Cooking status value | Description | Resulting announcement |
|---|---|---|
COOKING | The appliance is in use, such as baking, cooking, broiling. | No announcement generated. |
PREHEATING | The appliance is preheating. | No announcement generated. |
PREHEATING_COMPLETED | The appliance reached the requested temperature. | “Your <appliance friendlyName> has preheated.” |
FOOD_TARGET_TEMPERATURE_REACHED | The food reached it’s target cooking temperature. | “Your food in the <appliance friendlyName> has reached target temperature.” |
COOKING_COMPLETED | The cooking time completed and the food is ready. | “Your food in the <appliance friendlyName> is ready.” |
NOT_IN_USE | The appliance isn’t in use. | No announcement generated. |
READY | The appliance is ready to use. | “Your <appliance friendlyName> is ready to use.” |
FoodItem
TheFoodItem object represents a food name and quantity as shown in the following table.
| Property | Description | Type |
|---|---|---|
foodName | Name of the food, such as steak. | String |
foodQuantity | Amount of the food. | FoodQuantity object |
FoodQuantity
Use theFoodQuantity object to represent a quantity of food as shown in the following table.
| Property | Description | Type |
|---|---|---|
@type | Quantity measurement. Valid values: FoodCount, Volume, Weight. | String |
value | Amount of food. | Integer |
unit | (Optional) Unit of measurement. Required for volume and weight. For valid values, see Volume units values and Weight unit values. | String |
Examples
The following example showsfoodQuantity by count.
foodQuantity by volume.
foodQuantity by weight.

