Esquema de características de rotação de 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 em graus e, se o dispositivo tiver suporte para a rotação em graus, a direção padrã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 como processar intents SYNC, consulte Fulfillment de intent.

Atributos Tipo Descrição
supportsDegrees Booleano

Obrigatório.

Definido como verdadeiro se o dispositivo permitir rotação por grau.

supportsPercent Booleano

Obrigatório.

Definido como verdadeiro se o dispositivo permitir 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. Quando uma consulta relativa é fornecida, o comando RotateAbsolute envolve o intervalo de rotação compatível.

commandOnlyRotation Booleano

Padrão: false.

Indica se o dispositivo é compatível com 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 QUERY ou estado de 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 rotação em graus.

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

Dispositivo que só aceita 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 informar os estados a seguir como parte da operação QUERY. Para saber mais sobre como processar intents QUERY, consulte Fulfillment de intent.

Estados Tipo Descrição
rotationDegrees Número

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

rotationPercent Número

Nível atual que indica a porcentagem da rotação do dispositivo. 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

Qual é a rotação do dispositivo? (percentual e graus).

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

Qual é a rotação do dispositivo? (apenas graus).

{
  "rotationDegrees": 45
}

Qual é a rotação do dispositivo? (contínuo).

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

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

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

COMANDOS do dispositivo

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

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.

Define 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.

Os valores suportados são:

deviceJammingDetected

ERROS no dispositivo

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