Esquema de trait de rotación de casas inteligentes

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

La rotación se puede especificar en porcentaje o en grados y, si el dispositivo admite la rotación por grados, la dirección de rotación predeterminada es en el sentido de las manecillas del reloj.

Dispositivo ATTRIBUTES

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 cómo controlar los 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 por porcentaje

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 como verdadero si el dispositivo permite la rotación continua. Cuando se le proporciona una consulta relativa, el comando RotateAbsolute se une al rango de rotación admitido.

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 de QUERY o a un estado de informe de esta característica.

Ejemplos

Dispositivo que admite la rotación en porcentaje y en 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 cómo controlar los intents QUERY, consulta Entrega de intents.

Estados Tipo Descripción
rotationDegrees Número

Nivel actual dentro de rotationDegreesRange que indica a 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

Es el nivel actual que indica el porcentaje en el que está rotado el dispositivo. 0.0 corresponde a cerrado y 100.0 a 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
}

COMANDOS del dispositivo

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 cómo controlar los intents EXECUTE, consulta Entrega de intents.

action.devices.commands.RotateAbsolute

Establece la rotación absoluta del dispositivo.

Parámetros

La carga útil contiene uno de los siguientes elementos:

Establece la rotación absoluta en grados.

Parámetros Tipo Descripción
rotationDegrees Número

Obligatorio.

Es un valor absoluto, en grados, que especifica la rotación final del dispositivo en el sentido de las manecillas del reloj. El valor debe estar dentro del atributo rotationDegreesRange.

Establece la rotación absoluta en porcentaje.

Parámetros Tipo Descripción
rotationPercent Número

Obligatorio.

Es 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
  }
}

Rota el dispositivo 15 grados en sentido contrario a las manecillas del reloj (rotationDegrees: 45).

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

Rota el dispositivo 100 grados en el sentido de las manecillas del reloj (supportsContinuousRotation: true, rotationDegrees: 270).

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

Se produjo un error al configurar la rotación del dispositivo.

Valores admitidos:

deviceJammingDetected

ERRORS de dispositivos

Consulta la lista completa de errores y excepciones.