Схема ротации умного дома

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 открытому.

Примеры

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

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

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

{
  "rotationDegrees": 45
}

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

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

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

Устройства с этой чертой могут отвечать на следующие команды как часть операции 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

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

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