Schema della sequenza di Smart Home RunCycle
action.devices.traits.RunCycle
: questo tratto rappresenta qualsiasi dispositivo con una durata in corso per il suo funzionamento in cui è possibile eseguire query.
I dispositivi come questi segnalano il numero totale di cicli all'inizio dell'operazione e ogni ciclo in cui è attualmente in esecuzione il dispositivo. In questo modo l'utente può eseguire query come:
- A che ciclo è la mia asciugatrice?
- Quanti cicli sono rimasti nella lavastoviglie?
- Cosa sta facendo l'asciugatrice?
- Quando avrà finito il lavaggio?
Alcuni dispositivi includono una durata in un formato non ciclico. Qualsiasi dispositivo che viene eseguito per un determinato periodo di tempo può segnalare il tempo rimanente, senza cicli. Questo consente anche di gestire 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 più dura il mio vuoto?, che restituisce la quantità di tempo in unità proporzionale al tempo rimanente. Questo vale anche per i dispositivi sopra elencati; Quanto asciugerà i miei vestiti? Risulterà Durata in pochi minuti.
I dispositivi possono restituire ciò che sanno e la risposta TTS dell'assistente darà la risposta migliore con i dati disponibili (ad esempio, La lavastoviglie è in esecuzione e verrà completata in circa 20 minuti).
RunCycle è attualmente un tratto di sola lettura: non contiene comandi, ma solo per eseguire query. In futuro, potrebbero esserci meccanismi per ripetere i cicli o saltare i cicli (ideale per irrigatori, dannosi per le lavatrici).
ATTRIBUTE dispositivo
Nessuna.
STATO dispositivo
Le entità con questa caratteristica possono segnalare i seguenti
stati nell'ambito dell'operazione QUERY
, Per saperne di più sulla gestione degli intent QUERY
, consulta la sezione fulfillment di intent.
Stati | Tipo | Descrizione |
---|---|---|
currentRunCycle |
Array |
Obbligatorio. Contiene i sinonimi del ciclo corrente in ogni lingua supportata. |
[item, ...] |
Oggetto |
Nomi dei sinonimi del ciclo. |
currentCycle |
String |
Obbligatorio. Ciclo attuale in esecuzione. |
nextCycle |
String |
Campo facoltativo. Ciclo successivo. |
lang |
String |
Obbligatorio. Codice lingua per i nomi dei cicli specificati. Vedi Lingue supportate. |
currentTotalRemainingTime |
Intero |
Obbligatorio. Tempo di funzionamento in secondi. |
currentCycleRemainingTime |
Intero |
Obbligatorio. Tempo rimanente del ciclo attuale, in secondi. |
Esempi
Il dispositivo rimane in risciacquo per altri 5 minuti e sarà terminato tra 20 minuti.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
Il dispositivo va in risciacquo per altri 5 minuti, prima di procedere alla centrifuga.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
COMANDI dispositivo
Nessuna.
NOTIFICHE DEI DISPOSITIVI
Nell'ambito di una modifica dello stato del dispositivo, i dispositivi con questo trattino potrebbero restituire il seguente payload di notifiche. Per scoprire di più sull'implementazione delle notifiche, consulta l'articolo Notifiche per le azioni della smart home.
Campi | Tipo | Descrizione |
---|---|---|
RunCycle |
Obbligatorio. Payload delle notifiche. |
|
Supporta una delle seguenti funzionalità: | ||
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 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:
|
errorCode |
String |
Obbligatorio. Il valore può essere qualsiasi codice di errore per questa caratteristica, ad esempio |
Esempi
Il dispositivo ha terminato l'esecuzione.
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
Si è verificato un errore durante il completamento del ciclo attuale.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }