Schema del tratto di rotazione della smart home

action.devices.traits.Rotation: questa caratteristica 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 è in senso orario.

ATTRIBUTI dispositivo

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

Attributi Tipo Descrizione
supportsDegrees Valore booleano

Obbligatorio.

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

supportsPercent Valore booleano

Obbligatorio.

Imposta su true se il dispositivo consente la rotazione in percentuale

rotationDegreesRange Oggetto

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

rotationDegreesMin Number

Obbligatorio.

Rotazione minima in gradi.

Il valore deve essere compreso tra 0 e 360.

rotationDegreesMax Number

Obbligatorio.

Rotazione massima in gradi.

Il valore deve essere compreso tra 0 e 360.

supportsContinuousRotation Valore booleano

(Valore predefinito: false)

Se impostato su true, il dispositivo consente la rotazione continua. Quando viene fornita una query relativa, il comando RotateAbsolute viene eseguito all'interno dell'intervallo di rotazione supportato.

commandOnlyRotation Valore booleano

(Valore predefinito: false)

Indica se il dispositivo supporta la comunicazione unidirezionale (true) o bidirezionale (false). Imposta questo attributo su true se il dispositivo non può rispondere a un intent QUERY o a Report State 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 tratto possono segnalare i seguenti stati nell'ambito dell'operazione QUERY. Per saperne di più sulla gestione degli intent QUERY, consulta Completamento degli intent.

Stati Tipo Descrizione
rotationDegrees Number

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

rotationPercent Number

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

Il valore deve essere compreso tra 0 e 100.

targetRotationPercent Number

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

Il valore deve essere compreso tra 0 e 100.

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? (continuo).

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

Un dispositivo attualmente in rotazione verso una nuova posizione (percentuale).

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

COMANDI del dispositivo

I dispositivi con questa caratteristica potrebbero rispondere ai seguenti comandi nell'ambito dell'operazione EXECUTE. Per saperne di più sulla gestione degli intent EXECUTE, consulta Completamento degli 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.

Il valore deve essere compreso tra 0 e 100.

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.