Схема характеристик вращения в «умном доме»

action.devices.traits.Rotation - Этот трейт относится к устройствам, поддерживающим вращение.

Угол поворота можно задать в процентах или в градусах, и если устройство поддерживает поворот в градусах, то по умолчанию вращение происходит по часовой стрелке.

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

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

Атрибуты Тип Описание
supportsDegrees Логический

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

Установите значение true, если устройство позволяет поворачивать устройство на градусы.

supportsPercent Логический

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

Установите значение true, если устройство поддерживает вращение на определённые проценты.

rotationDegreesRange Объект

Представьте диапазон углов поворота устройства в градусах.

rotationDegreesMin Число

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

Минимальный угол поворота в градусах.

Значение должно быть в диапазоне от 0 до 360 .

rotationDegreesMax Число

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

Максимальное значение угла поворота в градусах.

Значение должно быть в диапазоне от 0 до 360 .

supportsContinuousRotation Логический

(По умолчанию: false )

Установите значение true, если устройство поддерживает непрерывное вращение. При использовании относительного запроса команда RotateAbsolute будет использовать диапазон поддерживаемого вращения.

commandOnlyRotation Логический

(По умолчанию: false )

Указывает, поддерживает ли устройство одностороннюю (true) или двустороннюю (false) связь. Установите для этого атрибута значение true, если устройство не может ответить на запрос QUERY или Report State для этого параметра.

Примеры

Устройство, поддерживающее вращение как в процентах, так и в градусах.

{
  "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 Число

Текущий уровень в пределах rotationDegreesRange указывает, на сколько градусов повернуто устройство. Это значение всегда должно быть относительным по отношению к вращению по часовой стрелке.

rotationPercent Число

Текущий уровень показывает, на сколько процентов устройство повернуто. 0,0 соответствует закрытому положению, а 100,0 — открытому.

Значение должно быть в диапазоне от 0 до 100 .

targetRotationPercent Число

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

Значение должно быть в диапазоне от 0 до 100 .

Примеры

Насколько повернуто устройство? (в процентах и ​​градусах).

{
  "rotationDegrees": 45,
  "rotationPercent": 25
}

Насколько повернуто устройство? (только в градусах).

{
  "rotationDegrees": 45
}

Насколько повернуто устройство? (непрерывно).

{
  "rotationDegrees": 270,
  "rotationPercent": 75
}

Устройство в данный момент вращается в новое положение (в процентах).

{
  "rotationPercent": 75,
  "targetRotationPercent": 100
}

КОМАНДЫ УСТРОЙСТВА

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

action.devices.commands.RotateAbsolute

Установите абсолютное вращение устройства.

Параметры

Полезная нагрузка содержит один из следующих компонентов:

Установите абсолютное значение поворота в градусах.

Параметры Тип Описание
rotationDegrees Число

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

Абсолютное значение в градусах, определяющее конечный угол поворота устройства по часовой стрелке. Значение должно находиться в пределах диапазона атрибута rotationDegreesRange .

Установите абсолютное вращение в процентах.

Параметры Тип Описание
rotationPercent Число

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

Абсолютное значение в процентах, определяющее конечное вращение устройства.

Значение должно быть в диапазоне от 0 до 100 .

Примеры

Наклоните устройство на 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

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

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