Esquema de característica de cozinha de casa inteligente

action.devices.traits.Cook: essa característica pertence a dispositivos que cozinham 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 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 o processamento 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.

Valores aceitos:

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

[item, ...] Object

Predefinição de comida.

food_preset_name String

Obrigatório.

Nome interno da predefinição de alimentos, que será usado em comandos e estados. Esse nome pode não ser amigável ao usuário 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 aceitos:

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.

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 de idioma (ISO 639-1). Consulte 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"
        }
      ]
    }
  ]
}

ESTADOS DO DISPOSITIVO

As entidades com essa característica podem informar os seguintes estados como parte da operação QUERY. Para saber mais sobre o processamento de intents QUERY, consulte Fulfillment de intents.

Estados Tipo Descrição
currentCookingMode String

Obrigatório.

Descreve o modo de cozimento atual definido no dispositivo, pelo atributo supportedCookingModes. Apenas um modo pode ser informado. Se nenhum modo estiver selecionado, defina como NENHUM.

currentFoodPreset String

O food_preset_name do alimento que está sendo preparado no dispositivo, do atributo foodPresets. Somente um alimento pode ser informado. Se nenhum alimento estiver selecionado no momento, ele deve ser definido como NENHUM.

currentFoodQuantity Número

Define a quantidade atual de alimentos cozidos associada ao currentFoodUnit, se uma quantidade tiver sido especificada. Não deve ser informado se nada estiver sendo preparado ou se não houver quantidade associada à predefinição de comida.

currentFoodUnit String

A unidade associada ao currentFoodQuantity da lista de supported_units da predefinição.

Exemplos

Meu forno está cozinhando?

{
  "currentCookingMode": "BAKE"
}

O que está cozinhando na minha panela elétrica agora?

{
  "currentCookingMode": "COOK",
  "currentFoodPreset": "brown_rice",
  "currentFoodQuantity": 2,
  "currentFoodUnit": "CUPS"
}

COMANDOS do dispositivo

Dispositivos com essa característica podem responder aos comandos abaixo como parte da operação EXECUTE. Para saber mais sobre o processamento 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.

True para iniciar o cozimento, 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 comida 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 meu 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"
  }
}

Comecei a cozinhar duas xícaras de arroz branco na panela elétrica.

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

ERROS no 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 fracionária para essa predefinição de alimentos, mas ela não é compatível com este dispositivo.
  • amountAboveLimit: o usuário solicitou uma quantidade acima do máximo.
  • unknownFoodPreset: o usuário solicitou uma predefinição de comida que não é compatível com o dispositivo.