Schema dell'attributo di rotazione della smart home

action.devices.traits.Rotation: questo attributo appartiene ai dispositivi che supportano la rotazione.

La rotazione può essere specificata in percentuale o in gradi e, se il dispositivo supporta la rotazione in gradi, il senso di rotazione predefinito è in senso orario.

ATTRIBUTI del dispositivo

I dispositivi con questo tratto potrebbero segnalare i seguenti attributi nell'ambito dell'operazione SYNC. Per scoprire di più sulla gestione degli intent SYNC, consulta Completamento dell'intent.

Attributi Tipo Descrizione
supportsDegrees Valore booleano

Obbligatorio.

Impostalo su true se il dispositivo consente la rotazione in base al grado.

supportsPercent Valore booleano

Obbligatorio.

Impostato su true se il dispositivo consente la rotazione in percentuale

rotationDegreesRange Oggetto

Rappresenta l'intervallo in gradi entro cui può ruotare un dispositivo.

rotationDegreesMin Number

Obbligatorio.

Rotazione minima in gradi.

rotationDegreesMax Number

Obbligatorio.

Rotazione massima in gradi.

supportsContinuousRotation Valore booleano

(Valore predefinito: false)

Imposta su true se il dispositivo consente la rotazione continua. Se viene assegnata una query relativa, il comando RotateAbsolute aggrega l'intervallo di rotazione supportato.

commandOnlyRotation Valore booleano

(Valore predefinito: false)

Indica se il dispositivo supporta l'utilizzo della comunicazione unidirezionale (true) o bidirezionale (false). Imposta questo attributo su true se il dispositivo non può rispondere a un intent QUERY o a Segnalare lo stato per questo tratto.

Esempi

Dispositivo che supporta sia la rotazione in percentuale che in gradi.

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

Dispositivo che supporta solo la rotazione in gradi.

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

Dispositivo che supporta solo i comandi di rotazione continua.

{
  "supportsDegrees": true,
  "supportsPercent": true,
  "rotationDegreesRange": {
    "rotationDegreesMin": 0,
    "rotationDegreesMax": 360
  },
  "supportsContinuousRotation": true,
  "commandOnlyRotation": true
}

STATI del dispositivo

Le entità con questo attributo possono segnalare i seguenti stati nell'ambito dell'operazione QUERY. Per scoprire di più sulla gestione degli intent QUERY, consulta Adempimento degli intent.

Stati Tipo Descrizione
rotationDegrees Number

Livello attuale entro rotationDegreesRange che indica di quanti gradi è ruotato il dispositivo. Questo valore deve sempre essere relativo alla rotazione in senso orario.

rotationPercent Number

Livello corrente che indica la percentuale di rotazione corrente del dispositivo. 0,0 corrisponde a chiuso e 100,0 a aperto.

targetRotationPercent Number

Livello che indica la percentuale di rotazione a cui il dispositivo passerà o si sta spostando a seguito di una variazione in corso della rotazione.

Esempi

Qual è l'attuale rotazione del dispositivo? (percentuale e gradi).

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

Qual è l'attuale rotazione del dispositivo? (solo gradi).

{
  "rotationDegrees": 45
}

Qual è l'attuale rotazione del dispositivo? (continua).

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

Un dispositivo che sta ruotando in una nuova posizione (percentuale).

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

COMANDI del dispositivo

I dispositivi con questo tratto potrebbero rispondere ai seguenti comandi nell'ambito dell'operazione EXECUTE. Per scoprire di più sulla gestione degli intent EXECUTE, consulta Completamento dell'intent.

action.devices.commands.RotateAbsolute

Imposta la rotazione assoluta del dispositivo.

Parametri

Il payload contiene uno dei seguenti elementi:

Imposta la rotazione assoluta in gradi.

Parametri Tipo Descrizione
rotationDegrees Number

Obbligatorio.

Un valore assoluto, in gradi, che specifica la rotazione finale in senso orario del dispositivo. Il valore deve rientrare nell'attributo rotationDegreesRange.

Imposta la rotazione assoluta in percentuale.

Parametri Tipo Descrizione
rotationPercent Number

Obbligatorio.

Un valore assoluto, in percentuale, che specifica la rotazione finale del dispositivo.

Esempi

Inclina il dispositivo al 50%.

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationPercent": 50
  }
}

Ruota il dispositivo di 15 gradi in senso antiorario (rotationDegrees: 45).

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationDegrees": 30
  }
}

Ruota il dispositivo di 100 gradi in senso orario (supportsContinuousRotation: true, rotationDegrees: 270).

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationDegrees": 10
  }
}

Si è verificato un errore durante l'impostazione della rotazione del dispositivo.

Valori supportati:

deviceJammingDetected

ERRORI del dispositivo

Consulta l'elenco completo di errori ed eccezioni.