Schema delle caratteristiche della rotazione per la smart home

action.devices.traits.Rotation: questa caratteristica appartiene ai dispositivi che supportano la rotazione.

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

ATTRIBUTES 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 fulfillment dell'intent.

Attributi Tipo Descrizione
supportsDegrees Booleano

Obbligatorio.

Imposta questo valore su true se il dispositivo consente la rotazione di grado.

supportsPercent Booleano

Obbligatorio.

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

rotationDegreesRange Oggetto

Rappresentano l'intervallo in gradi di rotazione di un dispositivo.

rotationDegreesMin Number

Obbligatorio.

Rotazione minima in gradi.

rotationDegreesMax Number

Obbligatorio.

Rotazione massima in gradi.

supportsContinuousRotation Booleano

(Valore predefinito: false)

Imposta questo valore su true se il dispositivo consente la rotazione continua. Quando viene data una query relativa, il comando RotateAbsolute inserisce un a capo intorno all'intervallo di rotazione supportato.

commandOnlyRotation Booleano

(Valore predefinito: false)

Indica se il dispositivo supporta l'uso di una 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 fulfillment 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 sempre essere relativo alla rotazione in senso orario.

rotationPercent Number

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

Esempi

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

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

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

{
  "rotationDegrees": 45
}

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

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

COMMANDS dispositivo

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

action.devices.commands.RotateAbsolute

Imposta la rotazione assoluta del dispositivo.

Parametri

Il payload contiene uno dei seguenti valori:

Imposta la rotazione assoluta in gradi.

Parametri Tipo Descrizione
rotationDegrees Number

Obbligatorio.

Un valore assoluto, in gradi, che specifica l'ultima rotazione 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

ERRORS dispositivo

Consulta l'elenco completo di errori ed eccezioni.