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.