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.
Related topics
- Account Linking for Smart Home and Other Domains
- Alexa Interface
- Test and Debug Your Smart Home Skill
- Twitch: Alexa Smart Home Cooking APIs – A webinar about the cooking capabilities of the Smart Home Skill API, including how to create and send commands to a virtual microwave.
Last updated: Nov 22, 2023