Schema Trait RunCycle Trait della smart home

action.devices.traits.RunCycle: questo tratto rappresenta qualsiasi dispositivo con una durata continua dell'attività su cui è possibile eseguire query.

Dispositivi come questi segnaleranno il numero totale di cicli all'inizio del funzionamento. e ogni ciclo in cui si trova il dispositivo mentre è in esecuzione. Ciò consente all'utente di eseguire query come le seguenti:

  • A che ciclo è attiva la mia asciugatrice?
  • Quanti cicli ha ancora la lavastoviglie?
  • Cosa sta facendo l'asciugatrice?
  • Quando sarà il lavaggio?

Alcuni dispositivi includono una durata in un formato non ciclico. Qualsiasi dispositivo che viene eseguito per un determinato periodo di tempo può indicare il tempo restante, senza ciclico. Questa opzione gestisce anche i casi in cui i cicli potrebbero non essere coerenti (ad esempio, le lavastoviglie potrebbero non usare sempre tutti i cicli). Ad esempio, un utente potrebbe chiedere: Come l'aspirapolvere funzionerà in più tempo? che restituirà la quantità di tempo in unità in modo proporzionale al tempo restante. Lo stesso vale anche per i dispositivi elencati sopra; Per quanto tempo i miei vestiti dureranno? restituire un valore in minuti.

I dispositivi possono restituire ciò che sanno e la risposta della sintesi vocale dell'assistente formerà il la risposta migliore con i dati disponibili (ad esempio: La lavastoviglie è in funzione e verranno completati entro circa 20 minuti.)

RunCycle è attualmente un tratto di sola lettura: non ha comandi, ma solo query. In futuro, potrebbero essere previsti meccanismi per rieseguire i cicli o saltare cicli (ideale per gli irrigatori, ma anche per le lavatrici).

ATTRIBUTES dispositivo

Nessuno.

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
currentRunCycle Array

Obbligatorio.

Contiene i sinonimi del ciclo corrente in tutte le lingue supportate.

[item, ...] Oggetto

Nomi dei sinonimi dei cicli.

currentCycle String

Obbligatorio.

Ciclo attuale in esecuzione.

nextCycle String

(Facoltativo) Ciclo successivo da eseguire.

lang String

Obbligatorio.

Codice lingua per i nomi dei cicli specificati. Vedi Lingue supportate.

currentTotalRemainingTime Intero

Obbligatorio.

Tempo rimanente del funzionamento, in secondi.

currentCycleRemainingTime Intero

Obbligatorio.

Tempo rimanente del ciclo corrente, in secondi.

Esempi

Il dispositivo deve essere risciacquato per altri 5 minuti e terminerà entro 20 minuti.

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 1200,
  "currentCycleRemainingTime": 300
}

Il dispositivo deve essere risciacquato per altri 5 minuti prima di girare per la rotazione.

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "nextCycle": "spin",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 600,
  "currentCycleRemainingTime": 300
}

COMANDI dispositivo

Nessuno.

NOTIFICHE dispositivo

I dispositivi con questo tratto potrebbero restituire quanto segue di notifica nell'ambito della modifica dello stato del dispositivo. Per ulteriori informazioni per saperne di più sull'implementazione delle notifiche, consulta Notifiche per le azioni della smart home.

Campi Tipo Descrizione
RunCycle

Obbligatorio.

Payload delle notifiche.

Supporta uno dei seguenti elementi:
0 Oggetto

Operazione riuscita

priority Intero

Obbligatorio.

Rappresenta il livello di notifica. Il valore attualmente supportato è 0, che indica che la notifica deve essere pronunciata ad alta voce.

status String

Obbligatorio.

Risultato dell'operazione.

Valori supportati:

SUCCESS
currentCycleRemainingTime Intero

Obbligatorio.

Tempo rimanente del ciclo corrente, in secondi.

1 Oggetto

Operazione non riuscita

priority Intero

Obbligatorio.

Rappresenta il livello di notifica. Il valore attualmente supportato è 0, che indica che la notifica deve essere pronunciata ad alta voce.

status String

Obbligatorio.

Risultato dell'operazione.

Valori supportati:

FAILURE
errorCode String

Obbligatorio.

Il valore può essere qualsiasi codice di errore per questo tratto, ad esempio deviceStuck.

Esempi

L'esecuzione del dispositivo è terminata.

{
  "RunCycle": {
    "priority": 0,
    "status": "SUCCESS",
    "currentCycleRemainingTime": 0
  }
}

Si è verificato un errore durante il completamento del ciclo corrente.

{
  "RunCycle": {
    "priority": 0,
    "status": "FAILURE",
    "errorCode": "deviceStuck"
  }
}

ERRORI dispositivo

Consulta l'elenco completo errori ed eccezioni.