Esquema de rasgo de rotación de 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 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 realiza una consulta relativa, el comando RotateAbsolute ajustará el rango de rotación admitido.

commandOnlyRotation Booleano

(Predeterminado: false)

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

Ejemplos

Dispositivo que admite la rotación tanto porcentual como 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 este trait 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

Es el nivel actual dentro de rotationDegreesRange que indica a cuántos grados rota 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 el dispositivo está rotado actualmente. 0.0 corresponde a cerrado y 100.0 a abierto.

targetRotationPercent Número

El nivel que indica el porcentaje de rotación al que irá o se moverá el dispositivo como resultado de un cambio continuo en la rotación.

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
}

Un dispositivo que rota a una nueva posición (porcentaje).

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

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 en el sentido de las manecillas del reloj 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.

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.