Схема признаков RunCycle умного дома

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

Подобные устройства сообщают об общем количестве циклов в начале работы и о каждом цикле, в котором устройство находится в данный момент во время работы. Это позволяет пользователю делать запросы, например:

  • На каком цикле работает моя сушильная машина?
  • Сколько циклов осталось посудомоечной машине?
  • Что делает сушилка?
  • Когда будет стирка?

Некоторые устройства включают продолжительность в нециклическом формате. Любое устройство, работающее определенное время, может сообщать об оставшемся времени без циклов. Это также учитывает случаи, когда циклы могут быть непоследовательными (например, посудомоечные машины не всегда могут использовать все циклы). Например, пользователь может спросить: «Как долго еще будет работать мой пылесос?» который вернет количество времени в единицах, пропорциональное оставшемуся времени. Это касается и перечисленных выше устройств; Как долго моя одежда будет сохнуть? вернет продолжительность в минутах.

Устройства могут возвращать то, что им известно, и ответ TTS Ассистента сформирует лучший ответ с учетом доступных данных (например, Посудомоечная машина работает и завершится примерно через 20 минут).

RunCycle в настоящее время доступен только для чтения — у него нет команд, есть только состояния для запроса. В будущем могут появиться механизмы повторного запуска или пропуска циклов (хорошие для разбрызгивателей и плохие для стиральных машин).

АТРИБУТЫ устройства

Никто.

СОСТОЯНИЯ устройства

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

Штаты Тип Описание
currentRunCycle Множество

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

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

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

Циклически повторяйте имена синонимов.

currentCycle Нить

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

Выполняется текущий цикл.

nextCycle Нить

Необязательный. Следующий цикл выполнения.

lang Нить

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

Код языка для данных названий циклов. См. Поддерживаемые языки .

currentTotalRemainingTime Целое число

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

Оставшееся время работы, в секундах.

currentCycleRemainingTime Целое число

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

Оставшееся время текущего цикла в секундах.

Примеры

Устройство ополаскивается еще 5 минут и будет готово через 20 минут.

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 1200,
  "currentCycleRemainingTime": 300
}

Устройство ополаскивается еще 5 минут, прежде чем перейти к отжиму.

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "nextCycle": "spin",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 600,
  "currentCycleRemainingTime": 300
}

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

Никто.

УВЕДОМЛЕНИЯ УСТРОЙСТВА

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

Поля Тип Описание
RunCycle

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

Полезная нагрузка уведомления.

Поддерживает одно из следующих:
0 Объект

Успех

priority Целое число

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

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

status Нить

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

Результат операции.

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

SUCCESS
currentCycleRemainingTime Целое число

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

Оставшееся время текущего цикла в секундах.

1 Объект

Отказ

priority Целое число

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

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

status Нить

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

Результат операции.

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

FAILURE
errorCode Нить

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

Значением может быть любой код ошибки для этого признака, например, deviceStuck .

Примеры

Устройство завершило работу.

{
  "RunCycle": {
    "priority": 0,
    "status": "SUCCESS",
    "currentCycleRemainingTime": 0
  }
}

Произошла ошибка при завершении текущего цикла.

{
  "RunCycle": {
    "priority": 0,
    "status": "FAILURE",
    "errorCode": "deviceStuck"
  }
}

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

Полный список ошибок и исключений смотрите .