Understand 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 Smart Home Skills and Steps to Build a Smart Home Skill.

Cooking skill utterances

The Alexa.Cooking interfaces to build skills for smart home cooking appliances use the pre-built voice interaction model. The following examples show some user utterances.

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 status

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 announcement 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

Implement the following Smart Home APIs in your Alexa skill to enable users to control your smart home appliances.

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 Users can control appliances that cook specific food items at specific food temperatures.
Alexa.Cooking.FoodTemperatureSensor For appliances that have a sensor to detect the current temperature of the food that's cooking.
To detect the current temperature of the cooking appliance itself, use the Alexa.Cooking.TemperatureSensor interface.
Alexa.Cooking.PresetController Users can control appliances with custom settings, such as a microwave with a popcorn button.
Alexa.Cooking.TemperatureController Users can control appliances that cook by appliance temperature, such as an oven or sous-vide.
Alexa.Cooking.TemperatureSensor For appliances that can detect the current temperature of the device.
Alexa.Cooking.TimeController Users can control appliances that 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.