Schema Trait RunCycle Trait della smart home

action.devices.traits.RunCycle: questo trait rappresenta qualsiasi dispositivo di cui è possibile eseguire query per la durata del suo funzionamento.

I dispositivi di questo tipo segnaleranno il numero totale di cicli all'inizio del funzionamento e ogni ciclo in cui si trova il dispositivo durante l'esecuzione. Ciò consente all'utente di eseguire query come le seguenti:

  • A quale ciclo è impostata la mia asciugatrice?
  • Quanti cicli ha ancora la lavastoviglie?
  • Cosa sta facendo l'asciugatrice?
  • Quando verrà eseguito il lavaggio?

Alcuni dispositivi includono una durata in un formato non ciclico. Qualsiasi dispositivo in esecuzione per un determinato periodo di tempo può segnalare il tempo rimanente, senza cicli. Vengono gestiti anche i casi in cui i cicli potrebbero non essere coerenti (ad esempio, le lavastoviglie potrebbero non utilizzare sempre tutti i cicli). Ad esempio, un utente potrebbe chiedere Per quanto tempo durerà l'aspirapolvere? e restituire così la quantità di tempo in unità proporzionale al tempo restante. Questo vale anche per i dispositivi elencati sopra. Per quanto tempo i miei vestiti devono asciugare ancora? restituisce una durata in minuti.

I dispositivi possono restituire ciò che sanno e la risposta TTS dell'assistente formerà la risposta migliore con i dati disponibili (ad esempio, La lavastoviglie è in funzione e verrà completata tra circa 20 minuti).

Al momento, RunCycle è un tratto di sola lettura: non ha comandi, ma solo stati su cui eseguire query. In futuro, potrebbero essere disponibili meccanismi per riavviare i cicli o saltarli (utile per gli irrigatori, dannoso per le lavatrici).

ATTRIBUTI del dispositivo

Nessuno.

STATI del dispositivo

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

Stati Tipo Descrizione
currentRunCycle Array

Obbligatorio.

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

[item, ...] Oggetto

Nomi dei sinonimi del ciclo.

currentCycle String

Obbligatorio.

Ciclo corrente in esecuzione.

nextCycle String

(Facoltativo) Ciclo successivo da eseguire.

lang String

Obbligatorio.

Codice lingua per i nomi dei cicli specificati. Consulta la sezione Lingue supportate.

currentTotalRemainingTime Intero

Obbligatorio.

Tempo rimanente per l'operazione, in secondi.

currentCycleRemainingTime Intero

Obbligatorio.

Tempo rimanente nel ciclo attuale, in secondi.

Esempi

Il dispositivo è in risciacquo per altri 5 minuti e terminerà tra 20 minuti.

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

Il dispositivo è in risciacquo per altri 5 minuti prima di passare alla centrifuga.

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

COMANDI del dispositivo

Nessuno.

NOTIFICHE del dispositivo

I dispositivi con questa funzionalità possono restituire il seguente payload di notifica nell'ambito di una modifica dello stato del dispositivo. Per scoprire di più sull'implementazione delle notifiche, consulta l'articolo Notifiche per le azioni per la smart home.

Campi Tipo Descrizione
RunCycle

Obbligatorio.

Payload della notifica.

Supporta una delle seguenti opzioni:
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 nel ciclo attuale, 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 questa caratteristica, 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 di errori ed eccezioni.