Esquema de atributo RunCycle da casa inteligente

action.devices.traits.RunCycle: essa característica representa qualquer dispositivo que tenha uma duração contínua para a operação que pode ser consultada.

Dispositivos como esses informam o número total de ciclos no início da operação e a cada ciclo em que o dispositivo está em execução. Isso permite que o usuário faça consultas, como as seguintes:

  • Em que ciclo está a secadora?
  • Quantos ciclos a lava-louças tem restantes?
  • O que a secadora está fazendo?
  • Quando será a lavagem?

Alguns dispositivos incluem uma duração em um formato não cíclico. Qualquer dispositivo que seja 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, um usuário pode perguntar Por quanto tempo meu aspirador vai funcionar?, que vai retornar a quantidade de tempo em unidades proporcional ao tempo restante. Isso também se aplica aos dispositivos listados acima. A consulta Quanto tempo minhas roupas vão levar para secar? vai retornar uma duração em minutos.

Os dispositivos podem retornar o que sabem, e a resposta de TTS do Google Assistente vai formar a melhor resposta com os dados disponíveis (por exemplo, A lava-louças está funcionando e vai ser concluída em cerca de 20 minutos).

O RunCycle é atualmente um traço somente leitura. Ele não tem comandos, apenas estados para consulta. No futuro, talvez haja mecanismos para repetir ciclos ou pular ciclos (bom para sprinklers, ruim para máquinas de lavar).

ATRIBUTOS do dispositivo

Nenhum.

ESTADOS DO DISPOSITIVO

As entidades com essa característica podem informar os seguintes estados como parte da operação QUERY. Para saber mais sobre o processamento 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 com suporte.

[item, ...] Object

Nomes de sinônimos de ciclo.

currentCycle String

Obrigatório.

O ciclo atual está sendo executado.

nextCycle String

Opcional. Próximo ciclo a ser realizado.

lang String

Obrigatório.

Código do idioma para os nomes dos ciclos fornecidos. Consulte Idiomas aceitos.

currentTotalRemainingTime Número inteiro

Obrigatório.

Tempo restante em operação, em segundos.

currentCycleRemainingTime Número inteiro

Obrigatório.

Tempo restante no ciclo atual, em segundos.

Exemplos

O dispositivo está em enxágue por mais 5 minutos e terminará em 20 minutos.

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 1200,
  "currentCycleRemainingTime": 300
}

O dispositivo fica em enxágue por mais 5 minutos antes de passar para a centrifugação.

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "nextCycle": "spin",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 600,
  "currentCycleRemainingTime": 300
}

COMANDOS do dispositivo

Nenhum.

NOTIFICAÇÕES DO DISPOSITIVO

Dispositivos com essa característica podem retornar o seguinte payload de notificação 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:

Suporte a uma das seguintes opções:
0 Object

Sucesso

priority Número inteiro

Obrigatório.

Representa o nível de notificação. O valor aceito no momento é 0, o que indica que a notificação precisa ser lida em voz alta.

status String

Obrigatório.

Resultado da operação.

Valores aceitos:

SUCCESS
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 aceito no momento é 0, o que indica que a notificação precisa ser lida em voz alta.

status String

Obrigatório.

Resultado da operação.

Valores aceitos:

FAILURE
errorCode String

Obrigatório.

O valor pode ser qualquer código de erro para essa característica, por exemplo, deviceStuck.

Exemplos

O dispositivo terminou a execução.

{
  "RunCycle": {
    "priority": 0,
    "status": "SUCCESS",
    "currentCycleRemainingTime": 0
  }
}

Ocorreu um erro ao concluir o ciclo atual.

{
  "RunCycle": {
    "priority": 0,
    "status": "FAILURE",
    "errorCode": "deviceStuck"
  }
}

ERROS no dispositivo

Confira a lista completa de erros e exceções.