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:

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

FAILURE
errorCode String

Obrigatório.

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

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

Dispositivo ERRORS

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