Schema delle caratteristiche del ciclo di smart home
action.devices.traits.RunCycle
: questa caratteristica rappresenta qualsiasi dispositivo la cui durata è in corso e che può essere oggetto di query.
I dispositivi come questi riportano il numero totale di cicli all'inizio dell'operazione e ogni ciclo in cui l'utente è attualmente in esecuzione. Ciò consente all'utente di eseguire query come:
- In che ciclo è il mio asciugatrice?
- Quanti cicli ha la lavastoviglie?
- Cosa sta facendo l'asciugatrice?
- Quando verrà completato il lavaggio?
Alcuni dispositivi includono una durata in formato non ciclico. Qualsiasi dispositivo in esecuzione per un determinato periodo di tempo può segnalare il tempo rimanente, senza cicli. Inoltre, gestisce i casi in cui i cicli potrebbero non essere coerenti (ad esempio, le lavastoviglie potrebbero non utilizzare sempre tutti i cicli). Ad esempio, l'utente potrebbe chiedere quanto più a lungo durerà l'aspirapolvere, che restituirà la quantità di tempo in unità proporzionale al tempo rimanente. Questo vale anche per i dispositivi sopra elencati. Quanto tempo sarà più lungo per l'asciugatura dei miei vestiti? restituirà una durata in minuti.
I dispositivi possono restituire ciò che conoscono e la risposta dell'assistente TTS fornirà la risposta migliore con i dati disponibili (ad esempio, La lavastoviglie è in funzione e verrà completata in circa 20 minuti).
Attualmente, RunRun è una caratteristica di sola lettura: non ha comandi, ma solo stati per eseguire query. In futuro, potrebbero esserci meccanismi per ripetere i cicli o saltare cicli (ideale per gli irrigatori, per le lavatrici).
ATTRIBUTE del dispositivo
Nessuna.
STATEs dispositivo
Le entità con questa caratteristica possono segnalare i seguenti stati nell'ambito dell'operazione QUERY
. Per scoprire di più sulla gestione degli intent QUERY
, consulta Soddisfazione degli intent.
Stati | Tipo | Descrizione |
---|---|---|
currentRunCycle |
Array |
Obbligatorio. Contiene i sinonimi per il ciclo corrente in ogni lingua supportata. |
[item, ...] |
Oggetto |
Nomi dei sinonimi. |
currentCycle |
Stringa |
Obbligatorio. Ciclo attuale eseguito. |
nextCycle |
Stringa |
Campo facoltativo. Ciclo successivo. |
lang |
Stringa |
Obbligatorio. Codice lingua per i nomi di ciclo specificati. Vedi Lingue supportate. |
currentTotalRemainingTime |
Intero |
Obbligatorio. Tempo rimanente in funzione, in secondi. |
currentCycleRemainingTime |
Intero |
Obbligatorio. Tempo rimanente del ciclo attuale, in secondi. |
Esempi
Il dispositivo riscuoterà per altri 5 minuti e verrà completato tra 20 minuti.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
Il dispositivo va risciacquo per altri 5 minuti, prima di iniziare a ruotare.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
comandi del dispositivo
Nessuna.
NOTIFICHE DEL DISPOSITIVO
Nell'ambito di una modifica dello stato del dispositivo, i dispositivi con questa caratteristica potrebbero restituire il seguente payload di notifica. Per scoprire di più sull'implementazione delle notifiche, consulta Notifiche per le azioni relative alla smart home.
Campi | Tipo | Descrizione |
---|---|---|
RunCycle |
Obbligatorio. Payload della notifica. |
|
Supporta una delle seguenti funzionalità: | ||
0
|
Oggetto |
Operazione riuscita |
priority |
Intero |
Obbligatorio. Rappresenta il livello di notifica. Il valore attualmente supportato è 0, il che indica che la notifica deve essere pronunciata ad alta voce. |
status |
Stringa |
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, il che indica che la notifica deve essere pronunciata ad alta voce. |
status |
Stringa |
Obbligatorio. Risultato dell'operazione. Valori supportati:
|
errorCode |
Stringa |
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 attuale.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }