Esquema de la función de rotación de la casa inteligente

action.devices.traits.Rotation: Esta característica pertenece a los dispositivos que admiten la rotación.

La rotación se puede especificar en porcentajes o grados, y si el dispositivo admite la rotación por grados, la dirección predeterminada será en sentido horario.

ATRIBUTOS DEL DISPOSITIVO

Los dispositivos con esta característica pueden informar los siguientes atributos como parte de la operación SYNC. Para obtener más información sobre el manejo de intents SYNC, consulta Entrega de intents.

Atributos Tipo Descripción
supportsDegrees Booleano

Obligatorio.

Se establece como verdadero si el dispositivo permite la rotación por grado.

supportsPercent Booleano

Obligatorio.

Se establece como verdadero si el dispositivo permite la rotación porcentual

rotationDegreesRange Objeto

Representa el rango en grados que puede rotar un dispositivo.

rotationDegreesMin Número

Obligatorio.

Rotación mínima en grados.

rotationDegreesMax Número

Obligatorio.

Rotación máxima en grados.

supportsContinuousRotation Booleano

(Predeterminado: false)

Se establece en verdadero si el dispositivo permite la rotación continua. Cuando se hace una consulta relativa, el comando RotateAbsolute rodeará el rango de rotación compatible.

commandOnlyRotation Booleano

(Predeterminado: false)

Indica si el dispositivo admite el uso de comunicación unidireccional (verdadero) o bidireccional (falso). Establece este atributo como verdadero si el dispositivo no puede responder a un intent QUERY o al estado de informe para esta característica.

Ejemplos

Es un dispositivo que admite la rotación en porcentaje y grados.

{
  "supportsDegrees": true,
  "supportsPercent": true,
  "rotationDegreesRange": {
    "rotationDegreesMin": 0,
    "rotationDegreesMax": 180
  }
}

Dispositivo que solo admite la rotación en grados.

{
  "supportsDegrees": true,
  "supportsPercent": false,
  "rotationDegreesRange": {
    "rotationDegreesMin": 0,
    "rotationDegreesMax": 90
  }
}

Dispositivo que solo admite comandos de rotación continua.

{
  "supportsDegrees": true,
  "supportsPercent": true,
  "rotationDegreesRange": {
    "rotationDegreesMin": 0,
    "rotationDegreesMax": 360
  },
  "supportsContinuousRotation": true,
  "commandOnlyRotation": true
}

Dispositivo STATEs

Las entidades con esta característica pueden informar los siguientes estados como parte de la operación QUERY. Para obtener más información sobre el manejo de intents QUERY, consulta Entrega de intents.

Estados Tipo Descripción
rotationDegrees Número

Nivel actual dentro de rotationDegreesRange que indica cuántos grados se rotó el dispositivo. Este valor siempre debe estar relacionado con la rotación en el sentido de las manecillas del reloj.

rotationPercent Número

Nivel actual que indica el porcentaje de rotación del dispositivo. 0.0 corresponde a "cerrado" y a 100.0 abierto.

Ejemplos

¿Cuál es la rotación del dispositivo? (porcentaje y grados).

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

¿Cuál es la rotación del dispositivo? (solo grados).

{
  "rotationDegrees": 45
}

¿Cuál es la rotación del dispositivo? (continuo).

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

Dispositivo COMMANDS

Los dispositivos con esta característica pueden responder a los siguientes comandos como parte de la operación EXECUTE. Para obtener más información sobre el manejo de intents EXECUTE, consulta Entrega de intents.

action.devices.commands.RotateAbsolute

Establece la rotación absoluta del dispositivo.

Parámetros

La carga útil contiene una de las siguientes opciones:

Establece la rotación absoluta en grados.

Parámetros Tipo Descripción
rotationDegrees Número

Obligatorio.

Un valor absoluto en grados que especifica la rotación final en sentido horario del dispositivo. El valor debe estar dentro del atributo rotationDegreesRange.

Establece la rotación absoluta en porcentaje.

Parámetros Tipo Descripción
rotationPercent Número

Obligatorio.

Un valor absoluto, en porcentaje, que especifica la rotación final del dispositivo.

Ejemplos

Inclina el dispositivo al 50%.

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationPercent": 50
  }
}

Gira el dispositivo 15 grados en sentido antihorario (rotationDegrees: 45).

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationDegrees": 30
  }
}

Gira el dispositivo 100 grados en sentido horario (supportsContinuousRotation: true, rotationDegrees: 270).

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationDegrees": 10
  }
}

Se produjo un error cuando se configuraba la rotación del dispositivo.

Valores admitidos:

deviceJammingDetected

Dispositivo ERRORS

Consulta la lista completa de errores y excepciones.