Schema del Trait di rotazione della smart home

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

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

ATTRIBUTES dispositivo

I dispositivi con questo tratto potrebbero segnalare quanto segue nell'ambito dell'operazione SYNC. Per ulteriori informazioni scopri 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 con cui un dispositivo può ruotare.

rotationDegreesMin Number

Obbligatorio.

Rotazione minima in gradi.

rotationDegreesMax Number

Obbligatorio.

Rotazione massima in gradi.

supportsContinuousRotation Valore booleano

(Valore predefinito: false)

Imposta il valore 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 la comunicazione unidirezionale (vero) 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
}

STATES del dispositivo

Le entità con questo tratto possono segnalare quanto segue nell'ambito dell'operazione QUERY. Per ulteriori informazioni scopri di più sulla gestione degli intent QUERY; consulta Completamento dell'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 attuale che indica la percentuale di rotazione del dispositivo attualmente. 0.0 corrisponde a chiuso e 100.0 ad aprire.

targetRotationPercent Number

Livello che indica la percentuale di rotazione del dispositivo in seguito a un cambiamento continuo di rotazione.

Esempi

Di quanto ruotato il dispositivo? (percentuale e gradi).

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

Di quanto ruotato il dispositivo? (solo gradi).

{
  "rotationDegrees": 45
}

Di quanto ruotato il dispositivo? (continua).

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

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

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

COMANDI dispositivo

I dispositivi con questo tratto potrebbero rispondere ai seguenti nell'ambito dell'operazione EXECUTE. Per ulteriori informazioni scopri 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 dispositivo

Consulta l'elenco completo errori ed eccezioni.