Schema degli attributi RunCycle per la 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. In questo modo, l'utente può effettuare query, ad esempio:

  • Quale ciclo è attivo sull'asciugatrice?
  • Quanti cicli rimangono alla lavastoviglie?
  • Cosa sta facendo l'asciugatrice?
  • Quando verrà eseguito il lavaggio?

Alcuni dispositivi includono una durata in un formato non ciclico. Qualsiasi dispositivo che funziona 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 Quanto tempo deve ancora funzionare l'aspirapolvere?, ottenendo la durata in unità proporzionale al tempo rimanente. Questo vale anche per i dispositivi elencati sopra. Quanto manca al termine dell'asciugatura dei miei vestiti? restituirà 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 per il ciclo corrente in ogni lingua supportata.

[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 caratteristica 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 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 detta ad alta voce.

status String

Obbligatorio.

Risultato dell'operazione.

Valori supportati:

SUCCESS
currentCycleRemainingTime Intero

Obbligatorio.

Tempo rimanente nel 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 detta 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 del dispositivo

Consulta l'elenco completo di errori ed eccezioni.