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:

UNKNOWN_COOKING_MODE
BAKE
BEAT
BLEND
BOIL
BREW
BROIL
CONVECTION_BAKE
COOK
DEFROST
DEHYDRATE
FERMENT
FRY
GRILL
KNEAD
MICROWAVE
MIX
PRESSURE_COOK
PUREE
ROAST
SAUTE
SLOW_COOK
SOUS_VIDE
STEAM
STEW
STIR
WARM
WHIP
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:

UNKNOWN_UNITS
NO_UNITS
CENTIMETERS
CUPS
DECILITERS
FEET
FLUID_OUNCES
GALLONS
GRAMS
INCHES
KILOGRAMS
LITERS
METERS
MILLIGRAMS
MILLILITERS
MILLIMETERS
OUNCES
PINCH
PINTS
PORTION
POUNDS
QUARTS
TABLESPOONS
TEASPOONS
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 lang de en para oferecer substituição de idioma.

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 de en para oferecer substituição de idioma.

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 supportedCookingModes. Só é possível informar um modo. Se nenhum modo estiver selecionado, defina como NONE.

currentFoodPreset String

O food_preset_name da comida que está sendo preparada no dispositivo, do atributo foodPresets. Só é possível informar um alimento. Se nenhum alimento estiver selecionado, defina como NONE.

currentFoodQuantity Número

Define a quantidade atual de alimentos sendo cozidos associados ao currentFoodUnit, se uma quantidade foi especificada. Não deve ser informado se nada estiver sendo cozido ou se não houver uma quantidade associada a essa predefinição de alimento.

currentFoodUnit String

A unidade associada ao currentFoodQuantity, da lista de supported_units predefinidos.

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 supportedCookingModes.

foodPreset String

O nome da predefinição de alimentos solicitada pelo usuário, do atributo foodPresets.

quantity Número

A quantidade de comida solicitada pelo usuário.

unit String

A unidade associada ao quantity, do atributo supported_units.

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.