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

action.devices.traits.Rotation — эта черта принадлежит устройствам, поддерживающим вращение.

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

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

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

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

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

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

supportsPercent логическое значение

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

Установите значение true, если устройство позволяет вращение в процентах.

rotationDegreesRange Объект

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

rotationDegreesMin Число

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

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

rotationDegreesMax Число

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

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

supportsContinuousRotation логическое значение

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

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

commandOnlyRotation логическое значение

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

Указывает, поддерживает ли устройство использование односторонней (истинной) или двусторонней (ложной) связи. Установите для этого атрибута значение 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 Число

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

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

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

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

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

Параметры Тип Описание
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

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

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