Esquema de atributo de rotação da casa inteligente

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

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

ATRIBUTOS DO dispositivo

Dispositivos com essa característica podem informar os seguintes atributos como parte da operação SYNC. Para saber mais sobre o processamento de intents SYNC, consulte Fulfillment de intents.

Atributos Tipo Descrição
supportsDegrees Booleano

Obrigatório.

Defina como verdadeiro 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 oferece suporte a comunicação unidirecional (verdadeiro) ou bidirecional (falso). Defina esse atributo como verdadeiro se o dispositivo não puder responder a uma intent de QUERY ou ao estado de relatório dessa característica.

Exemplos

Dispositivo compatível com rotação em porcentagem e graus.

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

Dispositivo que só oferece suporte à 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

As entidades com essa característica podem informar os seguintes estados como parte da operação QUERY. Para saber mais sobre o processamento de intents QUERY, consulte Fulfillment de intents.

Estados Tipo Descrição
rotationDegrees Número

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

rotationPercent Número

Nível atual que indica em que porcentagem o dispositivo está girado. 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 vai ou está se movendo como resultado de uma mudança contínua na rotação.

Exemplos

Quanto o dispositivo está girado? (porcentagem e graus).

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

Quanto o dispositivo está girado? (somente graus).

{
  "rotationDegrees": 45
}

Quanto o dispositivo está girado? (contínua).

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

Um dispositivo que está girando para uma nova posição (em porcentagem).

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

COMANDOS DO dispositivo

Dispositivos com essa característica podem responder aos comandos abaixo como parte da operação EXECUTE. Para saber mais sobre o processamento de intents EXECUTE, consulte Fulfillment de intents.

action.devices.commands.RotateAbsolute

Define a rotação absoluta do dispositivo.

Parâmetros

O payload contém uma das seguintes opções:

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 dentro do 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 definir a rotação do dispositivo.

Valores aceitos:

deviceJammingDetected

ERROS no dispositivo

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