Schema Trait RunCycle Trait della smart home
action.devices.traits.RunCycle
: questo tratto rappresenta qualsiasi dispositivo con una durata continua dell'attività su cui è possibile eseguire query.
Dispositivi come questi segnaleranno il numero totale di cicli all'inizio del funzionamento. e ogni ciclo in cui si trova il dispositivo mentre è in esecuzione. Ciò consente all'utente di eseguire query come le seguenti:
- A che ciclo è attiva la mia asciugatrice?
- Quanti cicli ha ancora la lavastoviglie?
- Cosa sta facendo l'asciugatrice?
- Quando sarà il lavaggio?
Alcuni dispositivi includono una durata in un formato non ciclico. Qualsiasi dispositivo che viene eseguito per un determinato periodo di tempo può indicare il tempo restante, senza ciclico. Questa opzione gestisce anche i casi in cui i cicli potrebbero non essere coerenti (ad esempio, le lavastoviglie potrebbero non usare sempre tutti i cicli). Ad esempio, un utente potrebbe chiedere: Come l'aspirapolvere funzionerà in più tempo? che restituirà la quantità di tempo in unità in modo proporzionale al tempo restante. Lo stesso vale anche per i dispositivi elencati sopra; Per quanto tempo i miei vestiti dureranno? restituire un valore in minuti.
I dispositivi possono restituire ciò che sanno e la risposta della sintesi vocale dell'assistente formerà il la risposta migliore con i dati disponibili (ad esempio: La lavastoviglie è in funzione e verranno completati entro circa 20 minuti.)
RunCycle è attualmente un tratto di sola lettura: non ha comandi, ma solo query. In futuro, potrebbero essere previsti meccanismi per rieseguire i cicli o saltare cicli (ideale per gli irrigatori, ma anche per le lavatrici).
ATTRIBUTES dispositivo
Nessuno.
STATES del dispositivo
Le entità con questo tratto possono segnalare quanto segue
nell'ambito dell'operazione QUERY
. Per ulteriori informazioni
scopri di più sulla gestione degli intent QUERY
; consulta
Completamento dell'intent.
Stati | Tipo | Descrizione |
---|---|---|
currentRunCycle |
Array |
Obbligatorio. Contiene i sinonimi del ciclo corrente in tutte le lingue supportate. |
[item, ...] |
Oggetto |
Nomi dei sinonimi dei cicli. |
currentCycle |
String |
Obbligatorio. Ciclo attuale in esecuzione. |
nextCycle |
String |
(Facoltativo) Ciclo successivo da eseguire. |
lang |
String |
Obbligatorio. Codice lingua per i nomi dei cicli specificati. Vedi Lingue supportate. |
currentTotalRemainingTime |
Intero |
Obbligatorio. Tempo rimanente del funzionamento, in secondi. |
currentCycleRemainingTime |
Intero |
Obbligatorio. Tempo rimanente del ciclo corrente, in secondi. |
Esempi
Il dispositivo deve essere risciacquato per altri 5 minuti e terminerà entro 20 minuti.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
Il dispositivo deve essere risciacquato per altri 5 minuti prima di girare per la rotazione.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
COMANDI dispositivo
Nessuno.
NOTIFICHE dispositivo
I dispositivi con questo tratto potrebbero restituire quanto segue di notifica nell'ambito della modifica dello stato del dispositivo. Per ulteriori informazioni per saperne di più sull'implementazione delle notifiche, consulta Notifiche per le azioni della 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:
|
currentCycleRemainingTime |
Intero |
Obbligatorio. Tempo rimanente del 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 pronunciata ad alta voce. |
status |
String |
Obbligatorio. Risultato dell'operazione. Valori supportati:
|
errorCode |
String |
Obbligatorio. Il valore può essere qualsiasi codice di errore per questo tratto, 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" } }