Esquema de características do SmartHome RunCycle
action.devices.traits.RunCycle
: esta característica representa qualquer dispositivo que tenha uma duração contínua para a operação e que possa ser consultado.
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 está no momento em execução. Isso permite que o usuário faça consultas, como as seguintes:
- Em que ciclo está a secadora?
- Quantos ciclos faltam na lava-louças?
- O que a secadora está fazendo?
- Quando a lavagem será concluída?
Alguns dispositivos incluem uma 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, lava-louças nem sempre usam todos os ciclos). Por exemplo, o usuário pode perguntar, por quanto tempo meu aspirador de pó funcionará?, o que retornará a quantidade de tempo em unidades proporcionais ao tempo restante. Isso também se aplica aos dispositivos listados acima. Por quanto tempo minhas roupas ficarão secas? retornará uma duração em minutos.
Os dispositivos podem retornar o que sabem, e a resposta de TTS do Assistente formará a melhor resposta com os dados disponíveis. Por exemplo, A lava-louças está em execução e concluirá em cerca de 20 minutos.
No momento, o RunCycle é uma característica somente leitura: não tem comandos, apenas estados a serem consultados. No futuro, poderá haver mecanismos para executar ciclos novamente ou pular ciclos. Isso é bom para os sprinklers e para máquinas de lavar.
ATRIBUTOS do dispositivo
Nenhuma.
STATES do dispositivo
As entidades com essa característica podem informar os estados a seguir como parte da operação QUERY
. Para saber
mais sobre como lidar com intents QUERY
, consulte
fulfillment de intent.
Estados | Tipo | Descrição |
---|---|---|
currentRunCycle |
Array |
Obrigatório. Contém os sinônimos do ciclo atual em cada idioma suportado. |
[item, ...] |
Object |
Nomes de sinônimos de ciclos. |
currentCycle |
String |
Obrigatório. Ciclo atual sendo realizado. |
nextCycle |
String |
Opcional. Próximo ciclo a ser realizado. |
lang |
String |
Obrigatório. Código de idioma para os nomes de ciclo fornecidos. Consulte Idiomas compatíveis. |
currentTotalRemainingTime |
Número inteiro |
Obrigatório. Tempo restante de operação em segundos. |
currentCycleRemainingTime |
Número inteiro |
Obrigatório. Tempo restante no ciclo atual, em segundos. |
Exemplos
O dispositivo estará no ciclo de enxágue por mais 5 minutos e será concluído em 20 minutos.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
O dispositivo permanece no ciclo de enxágue por mais 5 minutos, antes de começar a girar.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
Dispositivo COMMANDS
Nenhuma.
NOTIFICAÇÕES do dispositivo
Os 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: |
|
Compatível com uma das seguintes opções: | ||
0
|
Object |
Sucesso |
priority |
Número inteiro |
Obrigatório. Representa o nível de notificação. O valor suportado atualmente é 0, o 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 suportado atualmente é 0, o 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 dessa característica, por exemplo, |
Exemplos
O dispositivo terminou de funcionar.
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
Ocorreu um erro ao concluir o ciclo atual.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }