Esquema do traço de rotação de casas inteligentes

action.devices.traits.Rotation: essa característica pertence a dispositivos que permitem rotação.

A rotação pode ser especificada em porcentagem ou graus e se o dispositivo oferecer suporte à rotação em graus, a direção padrão de rotação é no sentido horário.

ATRIBUTOS DO dispositivo

Dispositivos com essa característica podem relatar o seguinte atributos como parte da operação SYNC. Para saber mais sobre como lidar com intents SYNC, consulte Fulfillment da intent.

Atributos Tipo Descrição
supportsDegrees Booleano

Obrigatório.

Defina como "true" se o dispositivo permitir a rotação por grau.

supportsPercent Booleano

Obrigatório.

Definido como verdadeiro se o dispositivo permitir a rotação por porcentagem

rotationDegreesRange Object

Representa o intervalo em graus que um dispositivo pode girar.

rotationDegreesMin Número

Obrigatório.

Rotação mínima em graus.

rotationDegreesMax Número

Obrigatório.

Rotação máxima em graus.

supportsContinuousRotation Booleano

Padrão: false.

Defina como "true" se o dispositivo permitir a rotação contínua. Ao receber uma consulta relativa, o comando RotateAbsolute se ajustará ao intervalo de rotação compatível.

commandOnlyRotation Booleano

Padrão: false.

Indica se o dispositivo suporta o uso de comunicação unidirecional (verdadeiro) ou bidirecional (falso). Defina esse atributo como verdadeiro se o dispositivo não puder responder a uma intent de CONSULTA ou ao estado do relatório para essa característica.

Exemplos

Dispositivo que oferece suporte à rotação em porcentagem e graus.

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

Dispositivo que só permite a rotação em graus.

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

Dispositivo que só oferece suporte a comandos de rotação contínua.

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

STATES do dispositivo

Entidades com essa característica podem relatar o seguinte como parte da operação QUERY. Para saber mais sobre como lidar com intents QUERY, consulte Fulfillment da intent.

Estados Tipo Descrição
rotationDegrees Número

Nível atual em rotationDegreesRange que indica em quantos graus o dispositivo é girado. Esse valor deve ser sempre relativo à rotação no sentido horário.

rotationPercent Número

Nível atual que indica a porcentagem de rotação do dispositivo no momento. 0,0 corresponde a fechado e 100,0 a aberto.

targetRotationPercent Número

Nível que indica a porcentagem de rotação para onde o dispositivo irá ou está se movendo como resultado de uma mudança contínua na rotação.

Exemplos

Quanto o dispositivo é girado? (percentual e graus).

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

Quanto o dispositivo é girado? (apenas graus).

{
  "rotationDegrees": 45
}

Quanto o dispositivo é girado? (contínua).

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

Um dispositivo em rotação para uma nova posição (percentual).

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

COMANDOS DO dispositivo

Dispositivos com essa característica podem responder ao seguinte como parte da operação EXECUTE. Para saber mais sobre como lidar com intents EXECUTE, consulte Fulfillment da intent.

action.devices.commands.RotateAbsolute

Define a rotação absoluta do dispositivo.

Parâmetros

O payload contém um dos seguintes itens:

Define a rotação absoluta em graus.

Parâmetros Tipo Descrição
rotationDegrees Número

Obrigatório.

Um valor absoluto, em graus, que especifica a rotação final no sentido horário do dispositivo. O valor precisa estar no atributo rotationDegreesRange.

Defina a rotação absoluta em porcentagem.

Parâmetros Tipo Descrição
rotationPercent Número

Obrigatório.

Um valor absoluto, em porcentagem, que especifica a rotação final do dispositivo.

Exemplos

Incline o dispositivo em 50%.

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

Gire o dispositivo 15 graus no sentido anti-horário (rotationDegrees: 45).

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

Gire o dispositivo 100 graus no sentido horário (supportsContinuousRotation: true, rotationDegrees: 270).

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

Ocorreu um erro ao configurar a rotação do dispositivo.

Valores compatíveis:

deviceJammingDetected

ERROS no dispositivo

Veja a lista completa de erros e exceções.