Esquema de traço do cozinheiro de casa inteligente

action.devices.traits.Cook: essa característica pertence a dispositivos que são capazes de cozinhar alimentos de acordo com várias predefinições e modos de cozimento compatíveis.

Exemplos desses tipos de dispositivos incluem Multicooker, Pressure cooker, Blender e Microwave. Os comandos de cozimento podem incluir a quantidade e o nome do alimento, como "Duas xícaras de arroz integral", em que "arroz integral" é uma predefinição para o dispositivo.

Essa característica não processa o tempo de cozimento nem 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 o gerenciamento de intents SYNC, consulte fulfillment de intents.

Atributos Tipo Descrição
supportedCookingModes Array

Obrigatório.

Modos de cozimento compatíveis com este dispositivo.

[item, ...] String

Modo de cozimento.

Os valores suportados são:

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 certos tipos de comida.

[item, ...] Object

Predefinição de alimentos.

food_preset_name String

Obrigatório.

Nome interno da predefinição de alimento, que será usado em comandos e estados. Esse nome não é 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 compatível.

Os valores suportados são:

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 do nome do alimento para a predefinição em cada idioma compatível.

[item, ...] Object

Nome do alimento.

synonym Array

Obrigatório.

Os sinônimos da predefinição precisam incluir as formas singular e plural, se aplicável.

[item, ...] String

Nome do sinônimo predefinido.

lang String

Obrigatório.

Código do idioma (ISO 639-1). Veja os idiomas compatíveis.

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"
        }
      ]
    }
  ]
}

STATES do dispositivo

Entidades com essa característica podem informar os seguintes estados como parte da operação QUERY. Para saber mais sobre o gerenciamento de intents QUERY, consulte fulfillment de intents.

Estados Tipo Descrição
currentCookingMode String

Obrigatório.

Descreve o modo de cozimento atual definido no dispositivo com base na lista de atributos supportedCookingModes. Só é possível informar um modo. Se nenhum modo estiver selecionado, essa opção deve ser definida como NONE.

currentFoodPreset String

Descreve o cozimento atual dos alimentos no dispositivo, da lista do atributo foodPresets. Somente um alimento pode ser denunciado. Se nenhum alimento estiver selecionado no momento, o valor deverá ser definido como NONE.

currentFoodQuantity Número

Define a quantidade atual de alimentos associados ao currentFoodUnit, se uma quantidade for especificada. Não deve ser relatado se nada estiver cozinhando no momento ou se não houver quantidade associada a essa predefinição de alimento.

currentFoodUnit String

A unidade associada ao currentFoodQuantity, na lista do atributo supported_units.

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 o gerenciamento de intents EXECUTE, consulte fulfillment de intents.

action.devices.commands.Cook

Começar ou parar de cozinhar.

Parâmetros

Parâmetros Tipo Descrição
start Booleano

Obrigatório.

Verdadeiro para iniciar o cozimento, falso 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 alimento 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

Começar a assar no forno.

{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": true,
    "cookingMode": "BAKE"
  }
}

Parar de assar no forno.

{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": false,
    "cookingMode": "BAKE"
  }
}

Começar a cozinhar 2 xícaras de arroz branco na panela de arroz.

{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": true,
    "cookingMode": "COOK",
    "foodPreset": "white_rice",
    "quantity": 2,
    "unit": "CUPS"
  }
}

ERROS DO Dispositivo

Veja 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 um valor fracionado para essa predefinição de alimento, mas não é compatível com este dispositivo.
  • amountAboveLimit: o usuário solicitou uma quantidade que estava acima do máximo.
  • unknownFoodPreset: o usuário solicitou uma predefinição de alimento que não é compatível com o dispositivo.