Схема характеристик «Умный домашний повар»

action.devices.traits.Cook — эта черта относится к устройствам, которые могут готовить еду в соответствии с различными предустановками и поддерживаемыми режимами приготовления.

Примерами таких устройств являются Multicooker , Pressure cooker , Blender и Microwave . Команды приготовления могут включать количество и название продукта, например, «Две чашки коричневого риса», где «коричневый рис» — это предустановленный для устройства режим приготовления.

Эта функция не влияет на время и температуру приготовления. Подробнее см. в Timer и TemperatureControl .

АТРИБУТЫ УСТРОЙСТВА

Устройства с этой характеристикой могут сообщать следующие атрибуты в рамках операции SYNC . Подробнее об обработке намерений SYNC см. в разделе «Выполнение намерений» .

Атрибуты Тип Описание
supportedCookingModes Множество

Необходимый.

Режимы приготовления пищи, поддерживаемые данным устройством.

[ item, ... ] Нить

Режим приготовления.

Поддерживаемые значения:

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 Множество

Предустановки для определенных типов продуктов питания.

[ item, ... ] Объект

Предустановленные продукты питания.

food_preset_name Нить

Необходимый.

Внутреннее имя пресета еды, которое будет использоваться в командах и состояниях. Это имя может быть неудобным для пользователя и является общим для всех языков.

supported_units Множество

Необходимый.

Содержит все единицы измерения, поддерживаемые устройством для определенного продукта питания.

[ item, ... ] Нить

Поддерживаемая единица.

Поддерживаемые значения:

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 Множество

Необходимый.

Синонимы названий продуктов питания для предустановки на каждом поддерживаемом языке.

[ item, ... ] Объект

Название продукта. Для обеспечения резервного языка требуется хотя бы один элемент со en lang

synonym Множество

Необходимый.

Синонимы для пресета должны включать формы как единственного, так и множественного числа, если это применимо.

[ item, ... ] Нить

Предустановленное имя-синоним. Для обеспечения резервного языка требуется хотя бы один элемент со lang en .

lang Нить

Необходимый.

Код языка (ISO 639-1). См. поддерживаемые языки .

Примеры

Устройство имеет только один режим приготовления и не имеет предустановок.

{
  "supportedCookingModes": [
    "BAKE"
  ]
}

Устройство с несколькими режимами приготовления и предустановленными характеристиками блюд.

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

СОСТОЯНИЯ УСТРОЙСТВА

Сущности с этой характеристикой могут сообщать о следующих состояниях в рамках операции QUERY . Подробнее об обработке намерений QUERY см. в разделе Выполнение намерений .

Штаты Тип Описание
currentCookingMode Нить

Необходимый.

Описывает текущий режим приготовления, установленный на устройстве, на основе атрибута supportedCookingModes . Может быть указан только один режим. Если режим не выбран, следует указать значение NONE.

currentFoodPreset Нить

food_preset_name для текущего блюда, готовящегося на устройстве, из атрибута foodPresets . Может быть указан только один продукт. Если в данный момент не выбрано ни одного продукта, следует установить значение NONE.

currentFoodQuantity Число

Определяет текущее количество готовящейся еды, связанное с currentFoodUnit , если количество было указано. Не следует сообщать, если в данный момент ничего не готовится или если для этой настройки еды не указано количество.

currentFoodUnit Нить

Единица измерения, связанная с currentFoodQuantity , из списка supported_units измерения предустановки.

Примеры

Готовит ли моя духовка?

{
  "currentCookingMode": "BAKE"
}

Что сейчас готовится в моей рисоварке?

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

КОМАНДЫ устройства

Устройства с этой функцией могут реагировать на следующие команды в рамках операции EXECUTE . Подробнее об обработке намерений EXECUTE см. в разделе «Выполнение намерений» .

action.devices.commands.Cook

Начните или остановите приготовление пищи.

Параметры

Параметры Тип Описание
start Булевое значение

Необходимый.

True — начать приготовление, false — остановить текущий режим приготовления.

cookingMode Нить

Запрошенный режим приготовления для устройства из атрибута supportedCookingModes .

foodPreset Нить

Имя предустановки еды, запрошенной пользователем, из атрибута foodPresets .

quantity Число

Количество еды, запрошенное пользователем.

unit Нить

Единица измерения, связанная с quantity , из атрибута supported_units .

Примеры

Начинаю печь в своей духовке.

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

Перестаньте печь в моей духовке.

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

Начинаю варить 2 чашки белого риса в рисоварке.

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

ОШИБКИ устройства

Полный список ошибок и исключений см.
  • deviceDoorOpen — Дверца устройства открыта.
  • deviceLidOpen — Крышка устройства открыта.
  • fractionalAmountNotSupported — пользователь запросил дробное количество для этой предустановки питания, но это не поддерживается данным устройством.
  • amountAboveLimit — пользователь запросил количество, превышающее максимальное.
  • unknownFoodPreset — Пользователь запросил предустановку блюд, не поддерживаемую устройством.