Schema dei tratti di runCycle per la smart home

action.devices.traits.RunCycle - Questo trait rappresenta qualsiasi dispositivo la cui durata di funzionamento è continuativa, su cui è possibile eseguire query.

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

  • A che ciclo è l'asciugatrice?
  • Quanti cicli ha la lavastoviglie?
  • Cosa sta facendo l'asciugatrice?
  • Quando sarà terminato 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. In questo modo vengono gestiti anche i casi in cui i cicli potrebbero non essere coerenti (ad esempio, le lavastoviglie non sempre utilizzano tutti i cicli). Ad esempio, un utente potrebbe chiedere Quanto tempo durerà il mio aspirapolvere?, che restituirà la quantità di tempo in unità proporzionale al tempo rimanente. Questo vale anche per i dispositivi elencati sopra; Per quanto tempo durerà l'asciugatura dei vestiti? verrà restituito un valore in minuti.

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

RunCycle è attualmente un tratto di sola lettura: non ha comandi, solo stati su cui eseguire query. In futuro, potrebbero esistere meccanismi per ripetere i cicli o per saltare i cicli (buono per gli irrigatori, male per le lavatrici).

ATTRIBUTES del dispositivo

Nessuna.

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

Obbligatorio.

Contiene i sinonimi del ciclo corrente in ogni lingua supportata.

[item, ...] Oggetto

Nomi dei sinonimi di ciclo.

currentCycle String

Obbligatorio.

Ciclo attuale in esecuzione.

nextCycle String

Facoltativo. Ciclo successivo da completare.

lang String

Obbligatorio.

Codice della lingua per i nomi dei cicli indicati. Vedi Lingue supportate.

currentTotalRemainingTime Intero

Obbligatorio.

Tempo rimanente operativo, in secondi.

currentCycleRemainingTime Intero

Obbligatorio.

Tempo rimanente del ciclo attuale, in secondi.

Esempi

Il dispositivo deve essere risciacquato per altri 5 minuti e completare l'operazione entro 20 minuti.

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

Il dispositivo dovrà essere sciacquato per altri 5 minuti, prima di spostarlo per avviare la rotazione.

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

COMMANDS dispositivo

Nessuna.

NOTIFICHE DEL dispositivo

I dispositivi con questo trait 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 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 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

L'esecuzione del dispositivo è terminata.

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

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

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

ERRORS dispositivo

Consulta l'elenco completo di errori ed eccezioni.