Build Smart Home Skills for Cooking Appliances
Smart home skills created for cooking appliances like microwave ovens give customers voice access to cooking. This document provides an overview of the technical requirements for smart home skills that target cooking appliances.
When you use the
Alexa.Cooking interfaces, the voice interaction model is already built for you. The following examples show some customer 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.
If this is your first time creating a smart home skill, you should review the existing documentation as a prerequisite to this document. You will need to be familiar how to create a smart home skill and write the code for a Lambda function that handles smart home requests from Alexa. For more information, see Steps to Create a Smart Home Skill.
Target v3 and English
In the developer console, when you create a skill for cooking appliances, you need to select v3 (preferred) and English (US) as the target version and language for the skill. This will ensure your skill receives messages for requests related to cooking appliances.
How food and cooking modes are described
After the customer says a cooking utterance, Alexa sends a corresponding directive to your skill. Alexa uses information in the customer request to decide what kind of cooking directive to send. The directive includes details about the food to cook.
In a directive, food is represented as a foodItem object, which in turn contains foodQuantity and foodCategory fields. Alexa uses the name specified by the user to assign the food to a category. For example, Alexa puts "sockeye salmon fillet", in the
foodQuantity is specified as a count, a volume, or a weight. When you receive a directive that contains a food quantity, use the
@type field to determine how to parse the quantity. 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. The supported values are described in the Volume.Unit and Weight.Unit enumerations.
When a user asks 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, or PRESETYou specify all of the cooking modes that your appliance supports in your discovery response.
The following are the available
Alexa.Cookinginterface describes messages that you can use to develop Alexa skills for cooking appliances. For more information, see Alexa.Cooking.
Alexa.Cooking.PresetControllerinterface describes messages you use to control appliances that can cook with preset cooking settings. Preset cooking relies on a catalog that you provide to Amazon. For more information, see Alexa.Cooking.PresetController.
Alexa.Cooking.TimeControllerinterface describes messages used to control appliances that cook by time and power level. For more information, see Alexa.Cooking.TimeController.
Alexa.TimeHoldControllerinterface describes messages used to control pausing a variety of appliances. For more information, see Alexa.TimeHoldController.