Schema della sequenza di Smart Home RunCycle

action.devices.traits.RunCycle: questo tratto rappresenta qualsiasi dispositivo con una durata in corso per il suo funzionamento in cui è possibile eseguire query.

I dispositivi come questi segnalano il numero totale di cicli all'inizio dell'operazione e ogni ciclo in cui è attualmente in esecuzione il dispositivo. In questo modo l'utente può eseguire query come:

  • A che ciclo è la mia asciugatrice?
  • Quanti cicli sono rimasti nella lavastoviglie?
  • Cosa sta facendo l'asciugatrice?
  • Quando avrà finito il lavaggio?

Alcuni dispositivi includono una durata in un formato non ciclico. Qualsiasi dispositivo che viene eseguito per un determinato periodo di tempo può segnalare il tempo rimanente, senza cicli. Questo consente anche di gestire 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 quanto più dura il mio vuoto?, che restituisce la quantità di tempo in unità proporzionale al tempo rimanente. Questo vale anche per i dispositivi sopra elencati; Quanto asciugerà i miei vestiti? Risulterà Durata in pochi minuti.

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

RunCycle è attualmente un tratto di sola lettura: non contiene comandi, ma solo per eseguire query. In futuro, potrebbero esserci meccanismi per ripetere i cicli o saltare i cicli (ideale per irrigatori, dannosi per le lavatrici).

ATTRIBUTE dispositivo

Nessuna.

STATO dispositivo

Le entità con questa caratteristica possono segnalare i seguenti stati nell'ambito dell'operazione QUERY, Per saperne di più sulla gestione degli intent QUERY, consulta la sezione fulfillment di intent.

Stati Tipo Descrizione
currentRunCycle Array

Obbligatorio.

Contiene i sinonimi del ciclo corrente in ogni lingua supportata.

[item, ...] Oggetto

Nomi dei sinonimi del ciclo.

currentCycle String

Obbligatorio.

Ciclo attuale in esecuzione.

nextCycle String

Campo facoltativo. Ciclo successivo.

lang String

Obbligatorio.

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

currentTotalRemainingTime Intero

Obbligatorio.

Tempo di funzionamento in secondi.

currentCycleRemainingTime Intero

Obbligatorio.

Tempo rimanente del ciclo attuale, in secondi.

Esempi

Il dispositivo rimane in risciacquo per altri 5 minuti e sarà terminato tra 20 minuti.

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

Il dispositivo va in risciacquo per altri 5 minuti, prima di procedere alla centrifuga.

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

COMANDI dispositivo

Nessuna.

NOTIFICHE DEI DISPOSITIVI

Nell'ambito di una modifica dello stato del dispositivo, i dispositivi con questo trattino potrebbero restituire il seguente payload di notifiche. Per scoprire di più sull'implementazione delle notifiche, consulta l'articolo Notifiche per le azioni della smart home.

Campi Tipo Descrizione
RunCycle

Obbligatorio.

Payload delle notifiche.

Supporta una delle seguenti funzionalità:
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 attuale, in secondi.

1 Oggetto

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

Il dispositivo ha terminato l'esecuzione.

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

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

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

ERRORI del dispositivo

Consulta l'elenco completo degli errori e delle eccezioni.