Схема характеристик Smart Home 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 | Нить | Необходимый. Результат операции. Поддерживаемые значения:
|
currentCycleRemainingTime | Целое число | Необходимый. Оставшееся время текущего цикла в секундах. |
1 | Объект | Отказ |
priority | Целое число | Необходимый. Представляет уровень уведомления. В настоящее время поддерживается значение 0, что означает, что уведомление должно произноситься вслух. |
status | Нить | Необходимый. Результат операции. Поддерживаемые значения:
|
errorCode | Нить | Необходимый. Значением может быть любой код ошибки для этого трейта, например, |
Примеры
Устройство закончило работу.
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
Произошла ошибка при завершении текущего цикла.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }