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 food quantity. 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.

Announcements for cooking

You can enable announcements to inform the user when your appliance or the food cooking in your appliance requires attention. For example, Alexa can notify the user when the oven preheats to the requested temperature or when the food in the oven is ready. Before Alexa begins to send notifications to the user, the customer must opt-in to notifications from your appliance in the Alexa app. To enable announcements, you specify the cooking statuses that your appliance supports in the Alexa.Cooking interface in your discovery response. For details, see Alexa.Cooking.

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 Alexa.Cooking.TemperatureSensor 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.