Схема признаков ротации умного дома
action.devices.traits.Rotation — эта черта относится к устройствам, поддерживающим вращение.
Поворот можно указать в процентах или градусах, и если устройство поддерживает вращение в градусах, направление вращения по умолчанию — по часовой стрелке.
АТРИБУТЫ устройства
Устройства с этой характеристикой могут сообщать следующие атрибуты в рамках операции SYNC . Дополнительные сведения об обработке намерений SYNC см. в разделе Выполнение намерений .
| Атрибуты | Тип | Описание |
|---|---|---|
supportsDegrees | логическое значение | Необходимый. Установите значение true, если устройство позволяет вращение на градус. |
supportsPercent | логическое значение | Необходимый. Установите значение true, если устройство позволяет вращение в процентах. |
rotationDegreesRange | Объект | Представляет диапазон в градусах, в котором устройство может вращаться. |
rotationDegreesMin | Число | Необходимый. Минимальный поворот в градусах. |
rotationDegreesMax | Число | Необходимый. Максимальный поворот в градусах. |
supportsContinuousRotation | логическое значение | (По умолчанию: Установите значение true, если устройство допускает непрерывное вращение. При задании относительного запроса команда |
commandOnlyRotation | логическое значение | (По умолчанию: Указывает, поддерживает ли устройство использование односторонней (истинной) или двусторонней (ложной) связи. Установите для этого атрибута значение true, если устройство не может ответить на намерение QUERY или состояние отчета для этого признака. |
Примеры
Устройство, поддерживающее вращение как в процентах, так и в градусах.
{
"supportsDegrees": true,
"supportsPercent": true,
"rotationDegreesRange": {
"rotationDegreesMin": 0,
"rotationDegreesMax": 180
}
}Устройство, поддерживающее вращение только в градусах.
{
"supportsDegrees": true,
"supportsPercent": false,
"rotationDegreesRange": {
"rotationDegreesMin": 0,
"rotationDegreesMax": 90
}
}Устройство, поддерживающее только команды непрерывного вращения.
{
"supportsDegrees": true,
"supportsPercent": true,
"rotationDegreesRange": {
"rotationDegreesMin": 0,
"rotationDegreesMax": 360
},
"supportsContinuousRotation": true,
"commandOnlyRotation": true
}СОСТОЯНИЯ устройства
Сущности с этим признаком могут сообщать о следующих состояниях как часть операции QUERY . Дополнительные сведения об обработке намерений QUERY см. в разделе Выполнение намерений .
| Штаты | Тип | Описание |
|---|---|---|
rotationDegrees | Число | Текущий уровень в пределах |
rotationPercent | Число | Текущий уровень, указывающий, на какой процент в настоящее время повернуто устройство. 0,0 соответствует закрытию, 100,0 — открытию. |
targetRotationPercent | Число | Уровень, указывающий процент вращения, куда устройство перейдет или движется в результате продолжающегося изменения вращения. |
Примеры
Насколько сильно повернуто устройство? (проценты и градусы).
{
"rotationDegrees": 45,
"rotationPercent": 25
}Насколько сильно повернуто устройство? (только градусы).
{
"rotationDegrees": 45
}Насколько сильно повернуто устройство? (непрерывно).
{
"rotationDegrees": 270,
"rotationPercent": 75
}Устройство, которое в данный момент поворачивается в новое положение (в процентах).
{
"rotationPercent": 75,
"targetRotationPercent": 100
}КОМАНДЫ устройства
Устройства с этой особенностью могут реагировать на следующие команды в рамках операции EXECUTE . Дополнительные сведения об обработке намерений EXECUTE см. в разделе Выполнение намерения .
action.devices.commands.RotateAbsolute
Установите абсолютное вращение устройства.
Параметры
Полезная нагрузка содержит одно из следующего:
Установите абсолютное вращение в градусах.
| Параметры | Тип | Описание |
|---|---|---|
rotationDegrees | Число | Необходимый. Абсолютное значение в градусах, определяющее окончательное вращение устройства по часовой стрелке. Значение должно находиться в пределах атрибута |
Установите абсолютное вращение в процентах.
| Параметры | Тип | Описание |
|---|---|---|
rotationPercent | Число | Необходимый. Абсолютное значение в процентах, определяющее окончательное вращение устройства. |
Примеры
Наклоните устройство на 50 процентов.
{
"command": "action.devices.commands.RotateAbsolute",
"params": {
"rotationPercent": 50
}
} Поверните устройство на 15 градусов против часовой стрелки ( rotationDegrees: 45 ).
{
"command": "action.devices.commands.RotateAbsolute",
"params": {
"rotationDegrees": 30
}
} Поверните устройство на 100 градусов по часовой стрелке ( supportsContinuousRotation: true , rotationDegrees: 270 ).
{
"command": "action.devices.commands.RotateAbsolute",
"params": {
"rotationDegrees": 10
}
}Связанные ошибки
Произошла ошибка настройки вращения устройства.
Поддерживаемые значения:
-
deviceJammingDetected