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:

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 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:

FAILURE
errorCode String

Obrigatório.

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

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"
  }
}

ERROS DO Dispositivo

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