Esquema de traço de rotação da casa inteligente

action.devices.traits.Rotation: esse trait pertence a dispositivos que oferecem suporte à rotação.

A rotação pode ser especificada em porcentagem ou graus. Se o dispositivo for compatível com rotação por graus, o sentido padrão será 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.

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

supportsPercent Booleano

Obrigatório.

Definido como "true" 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.

O valor precisa estar entre 0 e 360.

rotationDegreesMax Número

Obrigatório.

Rotação máxima em graus.

O valor precisa estar entre 0 e 360.

supportsContinuousRotation Booleano

Padrão: false.

Defina como "true" se o dispositivo permitir 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 comunicação unidirecional (true) ou bidirecional (false). Defina esse atributo como "true" se o dispositivo não puder responder a uma intent QUERY ou Report State 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ó aceita 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
}

ESTADOS DO DISPOSITIVO

Entidades com essa característica podem informar os seguintes estados como parte da operação QUERY. Para saber mais sobre como processar intents QUERY, consulte Execução de intents.

Estados Tipo Descrição
rotationDegrees Número

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

rotationPercent Número

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

O valor precisa estar entre 0 e 100.

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 em andamento na rotação.

O valor precisa estar entre 0 e 100.

Exemplos

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

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

Quanto o dispositivo é girado? (apenas graus).

{
  "rotationDegrees": 45
}

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

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

Um dispositivo que está sendo girado 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.

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.

O valor precisa estar entre 0 e 100.

Exemplos

Incline o dispositivo até 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 do dispositivo

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