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:
|
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:
|
errorCode |
String |
Obbligatorio. Il valore può essere qualsiasi codice di errore per questa caratteristica, ad esempio |
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" } }