Esquema de traço do ciclo de execução da casa inteligente
action.devices.traits.RunCycle
: essa característica representa qualquer dispositivo que tem uma duração contínua de operação que pode ser consultada.
Dispositivos como esses vão informar o número total de ciclos no início da operação e cada ciclo em que o dispositivo estiver em execução no momento. Isso permite que o usuário faça consultas, como as seguintes:
- Em que ciclo está a secadora?
- Quantos ciclos faltam para a máquina de lavar louça ainda ter?
- O que a secadora está fazendo?
- Quando a lavagem vai terminar?
Alguns dispositivos incluem a duração em um formato não cíclico. Qualquer dispositivo executado por um período específico pode informar o tempo restante, sem ciclos. Isso também processa casos em que os ciclos podem não ser consistentes (por exemplo, as lava-louças nem sempre usam todos os ciclos). Por exemplo, o usuário pode perguntar: Por quanto quanto mais tempo meu aspirador vai funcionar?, o que retornará a quantidade de tempo em unidades proporcional ao tempo restante. Isso também se aplica aos dispositivos listados acima. A pergunta Por quanto tempo minhas roupas vão secando? retorna uma duração em minutos.
Os dispositivos podem retornar o que sabem, e a resposta de TTS do Google Assistente formará a melhor resposta com os dados disponíveis. Por exemplo, A lava-louças está funcionando e será concluída em cerca de 20 minutos.
No momento, o RunCycle é uma característica somente leitura, ou seja, não tem comandos, apenas estados para consulta. No futuro, poderão existir mecanismos para repetir ou ignorar ciclos, o que é bom para sprinklers, mas ruins para máquinas de lavar.
ATRIBUTOS do dispositivo
Nenhuma.
STATES do dispositivo
Entidades com essa característica podem informar os seguintes estados como parte da operação QUERY
. Para saber
mais sobre o gerenciamento de intents QUERY
, consulte
fulfillment de intents.
Estados | Tipo | Descrição |
---|---|---|
currentRunCycle |
Array |
Obrigatório. Contém os sinônimos do ciclo atual em cada idioma compatível. |
[item, ...] |
Object |
Nomes de sinônimos de ciclo. |
currentCycle |
String |
Obrigatório. Ciclo atual em andamento. |
nextCycle |
String |
Opcional. Próximo ciclo a ser executado. |
lang |
String |
Obrigatório. Código do idioma dos nomes de ciclo fornecidos. Consulte Idiomas compatíveis. |
currentTotalRemainingTime |
Número inteiro |
Obrigatório. Tempo restante da operação, em segundos. |
currentCycleRemainingTime |
Número inteiro |
Obrigatório. Tempo restante no ciclo atual, em segundos. |
Exemplos
O dispositivo será enxaguado por mais 5 minutos e terminará em 20 minutos.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
O dispositivo vai ser enxaguado por mais cinco minutos, antes de começar a girar.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
Comandos do dispositivo
Nenhuma.
NOTIFICAÇÕES do dispositivo
Dispositivos com essa característica podem retornar o payload de notificação a seguir como parte de uma mudança de estado do dispositivo. Para saber mais sobre como implementar notificações, consulte Notificações para ações de casa inteligente.
Campos | Tipo | Descrição |
---|---|---|
RunCycle |
Obrigatório. Payload de notificação: |
|
Oferece suporte a uma das seguintes opções: | ||
0
|
Object |
Concluído |
priority |
Número inteiro |
Obrigatório. Representa o nível de notificação. O valor compatível no momento é 0, que indica que a notificação deve ser falada em voz alta. |
status |
String |
Obrigatório. Resultado da operação. Os valores suportados são:
|
currentCycleRemainingTime |
Número inteiro |
Obrigatório. Tempo restante no ciclo atual, em segundos. |
1
|
Object |
Falha |
priority |
Número inteiro |
Obrigatório. Representa o nível de notificação. O valor compatível no momento é 0, que indica que a notificação deve ser falada em voz alta. |
status |
String |
Obrigatório. Resultado da operação. Os valores suportados são:
|
errorCode |
String |
Obrigatório. O valor pode ser qualquer código de erro para essa característica, por exemplo, |
Exemplos
A execução do dispositivo foi concluída.
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
Ocorreu um erro ao concluir o ciclo atual.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }