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 Cook podem incluir a quantidade e o nome a comida, como "Duas xícaras de arroz integral", em que "arroz integral" é uma predefinição de alimentos para o dispositivo.

Essa característica 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 relatar o seguinte atributos como parte da operação SYNC. Para saber mais sobre como lidar com intents SYNC, consulte Fulfillment da intent.

Atributos Tipo Descrição
supportedCookingModes Array

Obrigatório.

Modos de cozimento compatíveis com este dispositivo.

[item, ...] String

Modo Cozinhar.

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

[item, ...] Object

Predefinição de alimentos.

food_preset_name String

Obrigatório.

Nome interno da predefinição de alimentos, que será usado em comandos e estados. Esse nome não é fácil de usar e é compartilhado entre todos os idiomas.

supported_units Array

Obrigatório.

Contém todas as unidades suportadas pelo dispositivo para um alimento específico.

[item, ...] String

Unidade compatível.

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.

synonym Array

Obrigatório.

Os sinônimos da predefinição devem 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). 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 comida.

{
  "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 relatar o seguinte como parte da operação QUERY. Para saber mais sobre como lidar com intents QUERY, consulte Fulfillment da intent.

Estados Tipo Descrição
currentCookingMode String

Obrigatório.

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

currentFoodPreset String

O food_preset_name do cozimento atual do alimento 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 cozimento associado ao currentFoodUnit, se uma quantidade tiver sido especificada. Não deve ser informado se não houver nada sendo preparado no momento ou se não houver quantidade associada a essa predefinição de alimento.

currentFoodUnit String

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

Exemplos

Meu forno está cozinhando?

{
  "currentCookingMode": "BAKE"
}

O que tem 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 ao seguinte como parte da operação EXECUTE. Para saber mais sobre como lidar com intents EXECUTE, consulte Fulfillment da intent.

action.devices.commands.Cook

Iniciar ou parar o cozimento.

Parâmetros

Parâmetros Tipo Descrição
start Booleano

Obrigatório.

Verdadeiro para começar a cozinhar, falso para parar 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 a 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 minha panela.

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

ERROS no dispositivo

Veja a lista completa 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 fracionário para isso. predefinição para alimentos, mas ela 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 comida que não é compatível com o dispositivo.