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 |
rotationDegreesMax |
Número |
Obrigatório. Rotação máxima em graus. O valor precisa estar entre |
supportsContinuousRotation |
Booleano |
Padrão: Defina como "true" se o dispositivo permitir rotação contínua. Quando uma consulta relativa é fornecida, o comando |
commandOnlyRotation |
Booleano |
Padrão: 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 |
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 |
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 |
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 |
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 |
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
}
}Erros relacionados
Ocorreu um erro ao definir a rotação do dispositivo.
Valores aceitos:
deviceJammingDetected