Build Smart Home Skills for Cooking Appliances

You can use the Alexa APIs to create Alexa skills that control Smart Home kitchen and cooking appliances, such as microwaves and ovens. You create Smart Home cooking skills the same way you create any other Smart Home skill. For details, see Understand the Smart Home Skill API and Steps to Build a Smart Home Skill.

Cooking skill utterances

The Alexa.Cooking interfaces use the prebuilt voice interaction model. The following examples show some user utterances for cooking skills.

Alexa, cook a frozen pizza in the microwave.
Alexa, two minutes on the microwave.
Alexa, pause the microwave.
Alexa, restart the microwave.
Alexa, cook a two-and-a-half pound copper river salmon fillet in the microwave.

Prerequisites

In the developer console, when you create a skill for cooking appliances, select v3 (preferred) and English (US) as the target version and language for the skill. This setting ensures your skill receives messages for requests related to cooking appliances.

Representing food

In the Alexa.Cooking interfaces, the foodItem property defines the food name and the foodQuantity. A foodQuantity defines the amount of food as a quantity type and value. The type can be a count, a volume, or a weight. Alexa uses a small set of units to describe the count, weight or volume of a food, but you can choose from a larger list in your messages to Alexa. For details about the supported values, see the Volume.Unit and Weight.Unit enumerations.

Cooking modes

When a user asks Alexa to defrost or bake an item, Alexa identifies this as the cooking mode for the food. A cooking mode can be a predetermined cooking mode, such as DEFROST, a custom mode, or a preset mode. You specify all the cooking modes that your appliance supports in your discovery response. For details, see CookingMode.

Cooking skill interfaces

The Alexa.Cooking API has the following interfaces.

Interface Description
Alexa.Cooking Provides basic cooking information, such as the food to cook and the cooking mode. All cooking skills must support this interface.
Alexa.Cooking.FoodTemperatureController Implement this interface if your skill controls appliances that cook specific food items at specific food temperatures.
Alexa.Cooking.FoodTemperatureSensor Implement this interface if the appliance has a sensor to detect the current temperature of the food that's cooking. If you want to detect the current temperature of the cooking appliance itself, use the [TemperatureSensor](../device-apis/alexa-cooking-temperaturesensor.html) interface.
Alexa.Cooking.PresetController Implement this interface in your Alexa skill if a user can control your appliance with custom settings, such as a microwave with a popcorn button.
Alexa.Cooking.TemperatureController Implement this interface for appliances that cook by appliance temperature, such as an oven or sous-vide.
Alexa.Cooking.TemperatureSensor Implement this interface if your appliance can detect the current temperature of the device.
Alexa.Cooking.TimeController Implement this interface to control cooking by time, temperature, and power level.

In addition, you can use the more general smart home Alexa.TimeHoldController interface with your cooking devices that have pause and resume functionality.