Esquema de traço de cozinha inteligente
action.devices.traits.Cook
: esse traço pertence a dispositivos que podem cozinhar alimentos de acordo com várias predefinições de alimentos e modos de cozimento compatíveis.
Exemplos desses tipos de dispositivos incluem Multicooker, Pressure cooker, Blender e Microwave. Os comandos de cozinha podem incluir a quantidade e o nome do alimento, como "Dois copos de arroz integral", em que "arroz integral" é uma predefinição de alimento para o dispositivo.
Esse traço não lida com o tempo ou a temperatura de cozimento. Consulte Timer e TemperatureControl para mais informações.
ATRIBUTOS do dispositivo
Dispositivos com essa característica podem informar os seguintes atributos como parte da operação SYNC
. Para saber mais sobre como processar intents SYNC
, consulte Lógica de fulfillment de intents.
Atributos | Tipo | Descrição |
---|---|---|
supportedCookingModes |
Array |
Obrigatório. Modos de cozimento compatíveis com este dispositivo. |
[item, ...] |
String |
Modo de cozimento. Valores compatíveis:
|
foodPresets |
Array |
Predefinições para determinados tipos de alimentos. |
[item, ...] |
Object |
Predefinição de comida. |
food_preset_name |
String |
Obrigatório. Nome interno da predefinição de comida, que será usado em comandos e estados. Esse nome pode não ser fácil de usar e é compartilhado em todos os idiomas. |
supported_units |
Array |
Obrigatório. Contém todas as unidades aceitas pelo dispositivo para um alimento específico. |
[item, ...] |
String |
Unidade aceita. Valores compatíveis:
|
food_synonyms |
Array |
Obrigatório. Sinônimos de nomes de alimentos para a predefinição em cada idioma compatível. |
[item, ...] |
Object |
Nome do alimento. É necessário pelo menos um item com um valor |
synonym |
Array |
Obrigatório. Sinônimos da predefinição, incluindo formas no singular e no plural, se aplicável. |
[item, ...] |
String |
Nome do sinônimo predefinido. É necessário pelo menos um item com um valor |
lang |
String |
Obrigatório. Código de idioma (ISO 639-1). Confira os idiomas aceitos. |
Exemplos
Dispositivo com apenas um modo de cozimento e sem predefinição.
{ "supportedCookingModes": [ "BAKE" ] }
Dispositivo com vários modos de cozimento e predefinições de alimentos.
{ "supportedCookingModes": [ "COOK", "WARM" ], "foodPresets": [ { "food_preset_name": "white_rice", "supported_units": [ "CUPS" ], "food_synonyms": [ { "synonym": [ "White Rice", "Rice" ], "lang": "en" } ] }, { "food_preset_name": "brown_rice", "supported_units": [ "CUPS" ], "food_synonyms": [ { "synonym": [ "Brown Rice" ], "lang": "en" } ] } ] }
ESTADOS DO DISPOSITIVO
As entidades com essa característica podem informar os seguintes estados como parte da operação QUERY
. Para saber mais sobre como processar intents QUERY
, consulte Lógica de fulfillment de intents.
Estados | Tipo | Descrição |
---|---|---|
currentCookingMode |
String |
Obrigatório. Descreve o modo de cozimento atual definido no dispositivo, com base no atributo |
currentFoodPreset |
String |
O |
currentFoodQuantity |
Número |
Define a quantidade atual de alimentos sendo cozidos associados ao |
currentFoodUnit |
String |
A unidade associada ao |
Exemplos
Meu forno está cozinhando?
{ "currentCookingMode": "BAKE" }
O que está cozinhando na minha panela de arroz agora?
{ "currentCookingMode": "COOK", "currentFoodPreset": "brown_rice", "currentFoodQuantity": 2, "currentFoodUnit": "CUPS" }
COMANDOS do dispositivo
Dispositivos com essa característica podem responder aos seguintes
comandos como parte da operação EXECUTE
. Para saber mais sobre como processar intents EXECUTE
, consulte Lógica de fulfillment de intents.
action.devices.commands.Cook
Começar ou parar de cozinhar.
Parâmetros
Parâmetros | Tipo | Descrição |
---|---|---|
start |
Booleano |
Obrigatório. True para começar a cozinhar, false para interromper o modo de cozimento atual. |
cookingMode |
String |
Modo de cozimento solicitado para o dispositivo, do atributo |
foodPreset |
String |
O nome da predefinição de alimentos solicitada pelo usuário, do atributo |
quantity |
Número |
A quantidade de comida solicitada pelo usuário. |
unit |
String |
A unidade associada ao |
Exemplos
Comece a assar no meu forno.
{ "command": "action.devices.commands.Cook", "params": { "start": true, "cookingMode": "BAKE" } }
Pare de assar no meu forno.
{ "command": "action.devices.commands.Cook", "params": { "start": false, "cookingMode": "BAKE" } }
Comece a cozinhar duas xícaras de arroz branco na minha panela de arroz.
{ "command": "action.devices.commands.Cook", "params": { "start": true, "cookingMode": "COOK", "foodPreset": "white_rice", "quantity": 2, "unit": "CUPS" } }
ERROS do dispositivo
Confira a lista completa de erros e exceções.deviceDoorOpen
: a porta do dispositivo está aberta.deviceLidOpen
: a tampa do dispositivo está aberta.fractionalAmountNotSupported
- O usuário solicitou uma quantidade fracionada para essa predefinição de alimento, mas ela não é compatível com este dispositivo.amountAboveLimit
: o usuário pediu uma quantidade acima do máximo.unknownFoodPreset
: o usuário solicitou uma predefinição de alimentos que não é compatível com o dispositivo.