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:
|
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:
|
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" } }