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: Defina como "true" se o dispositivo permitir a rotação contínua. Quando uma consulta relativa é fornecida, o comando |
commandOnlyRotation |
Booleano |
Padrão: 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
}ESTADOS 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 |
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 um dos seguintes:
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. |
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
}
}Erros relacionados
Ocorreu um erro ao definir a rotação do dispositivo.
Valores aceitos:
deviceJammingDetected