Esquema de rasgo del ciclo de ejecución de la casa inteligente

action.devices.traits.RunCycle: Esta característica representa cualquier dispositivo cuya operación tiene una duración en curso y que se puede consultar.

Los dispositivos como estos informarán la cantidad total de ciclos al inicio del funcionamiento, y cada ciclo en el que se encuentra el dispositivo mientras está en funcionamiento. Esto le permite al usuario realizar consultas como las siguientes:

  • ¿En qué ciclo está la secadora?
  • ¿Cuántos ciclos le quedan al lavavajillas?
  • ¿Qué hace la secadora?
  • ¿Cuándo se completará el lavado?

Algunos dispositivos incluyen una duración en un formato no cíclico. Cualquier dispositivo que se ejecute durante un período específico puede informar el tiempo restante, sin ciclos. También controla los casos en los que los ciclos pueden no ser coherentes (por ejemplo, es posible que los lavavajillas no siempre usen todos los ciclos). Por ejemplo, un usuario podría preguntar: ¿Cuánto tiempo más durará mi aspiradora?, que mostrará la cantidad de tiempo en unidades proporcional al tiempo restante. Esto también se aplica a los dispositivos que se mencionan más arriba: ¿Cuánto más tiempo se secará mi ropa? mostrará un valor en minutos.

Los dispositivos pueden mostrar lo que saben, y la respuesta de TTS de Asistente será la mejor respuesta con los datos disponibles (por ejemplo, El lavavajillas está en funcionamiento y se completará en aproximadamente 20 minutos).

En la actualidad, RunCycle es una característica de solo lectura, no tiene comandos, solo estados para consultar. En el futuro, es posible que existan mecanismos para volver a ejecutar o omitir ciclos (bien para aspersores, malo para lavadoras).

Dispositivo ATTRIBUTES

Ninguno

Dispositivo STATES

Las entidades con esta característica pueden informar los siguientes estados como parte de la operación QUERY. Para obtener más información sobre cómo controlar los intents QUERY, consulta Entrega de intents.

Estados Tipo Descripción
currentRunCycle Matriz

Obligatorio.

Contiene los sinónimos del ciclo actual en cada idioma compatible.

[item, ...] Objeto

Ciclo de nombres de sinónimos.

currentCycle String

Obligatorio.

Ciclo actual en curso.

nextCycle String

Opcional. Próximo ciclo para realizar.

lang String

Obligatorio.

Código de idioma para los nombres de ciclo proporcionados. Consulta Idiomas compatibles.

currentTotalRemainingTime Número entero

Obligatorio.

Tiempo restante en funcionamiento, en segundos.

currentCycleRemainingTime Número entero

Obligatorio.

Tiempo restante en el ciclo actual, en segundos.

Ejemplos

El dispositivo se enjuaga durante otros 5 minutos y finalizará en 20 minutos.

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

El dispositivo se enjuaga durante otros 5 minutos, antes de comenzar a girar.

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

COMANDOS del dispositivo

Ninguno

NOTIFICACIONES DEL DISPOSITIVO

Los dispositivos con esta característica pueden mostrar la siguiente carga útil de notificación como parte de un cambio de estado del dispositivo. Para obtener más información sobre la implementación de notificaciones, consulta Notificaciones para Acciones de casa inteligente.

Campos Tipo Descripción
RunCycle

Obligatorio.

Carga útil de la notificación:

Compatible con una de las siguientes opciones:
0 Objeto

Completado correctamente

priority Número entero

Obligatorio.

Representa el nivel de notificación. El valor admitido actualmente es 0, lo que indica que la notificación se debe pronunciar en voz alta.

status String

Obligatorio.

Resultado de la operación.

Valores admitidos:

SUCCESS
currentCycleRemainingTime Número entero

Obligatorio.

Tiempo restante en el ciclo actual, en segundos.

1 Objeto

Con errores

priority Número entero

Obligatorio.

Representa el nivel de notificación. El valor admitido actualmente es 0, lo que indica que la notificación se debe pronunciar en voz alta.

status String

Obligatorio.

Resultado de la operación.

Valores admitidos:

FAILURE
errorCode String

Obligatorio.

El valor puede ser cualquier código de error para esta característica, por ejemplo, deviceStuck.

Ejemplos

El dispositivo terminó de ejecutarse.

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

Se produjo un error al completar el ciclo actual.

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

ERRORS de dispositivos

Consulta la lista completa de errores y excepciones.