Schema dei tratti di rotazione della smart home

action.devices.traits.Rotation: questo trait 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, la direzione di rotazione predefinita è senso orario.

ATTRIBUTI del dispositivo

I dispositivi con questo trait 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.

Imposta il valore true se il dispositivo consente la rotazione per grado.

supportsPercent Valore booleano

Obbligatorio.

Imposta su true se il dispositivo consente la rotazione in percentuale.

rotationDegreesRange Oggetto

Rappresenta l'intervallo in gradi che 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. Quando viene fornita una query relativa, il comando RotateAbsolute esegue un wrapping intorno all'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 uno stato del report per questo trait.

Esempi

Dispositivo che supporta la rotazione in percentuale e in gradi.

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

Dispositivo che supporta la rotazione solo 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
}

Dispositivo STATES

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

Stati Tipo Descrizione
rotationDegrees Number

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

rotationPercent Number

Livello attuale che indica la percentuale di rotazione attuale del dispositivo. 0,0 corrisponde a chiuso e 100,0 ad apertura.

targetRotationPercent Number

Livello che indica la percentuale di rotazione in cui andrà o si sta spostando il dispositivo come risultato di un cambio di rotazione continuo.

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 trait 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 in senso orario finale 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.