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
- Representing food
- Cooking modes
- Cooking skill interfaces
- Related topics
Cooking skill utterances
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.
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.
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.
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
Alexa.Cooking API has the following interfaces.
|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.