Esquema de atributos de RunCycle de la casa inteligente

action.devices.traits.RunCycle: Esta característica representa a los dispositivos que tienen una duración continua de su operación y se pueden consultar.

Los dispositivos como estos informarán su cantidad total de ciclos al comienzo de la operación y cada ciclo en el que se encuentra el dispositivo mientras se ejecuta. Esto 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 terminará 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. Esto también controla los casos en los que los ciclos pueden no ser coherentes (por ejemplo, los lavavajillas no siempre pueden usar todos los ciclos). Por ejemplo, un usuario podría preguntar ¿Cuánto tiempo más funcionará mi aspiradora?, lo que mostrará la cantidad de tiempo en unidades proporcionales al tiempo restante. Esto también se aplica a los dispositivos mencionados anteriormente. ¿Cuánto tiempo más se secará la ropa? mostrará una duración en minutos.

Los dispositivos pueden mostrar lo que saben, y la respuesta de la función de TTS de Asistente formará la mejor respuesta con los datos disponibles (por ejemplo, La lavavajillas está en funcionamiento y se completará en unos 20 minutos.).

Actualmente, RunCycle es un atributo de solo lectura, no tiene comandos, solo estados para consultar. En el futuro, es posible que haya mecanismos para volver a ejecutar ciclos o omitir ciclos (bueno para los aspersores, malo para las lavadoras).

ATRIBUTOS DISPOSITIVOS

Ninguno

ESTADOS DEL DISPOSITIVO

Las entidades con este atributo pueden informar los siguientes estados como parte de la operación QUERY. Para obtener más información sobre cómo controlar intents QUERY, consulta Cómo entregar intents.

Estados Tipo Descripción
currentRunCycle Matriz

Obligatorio.

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

[item, ...] Objeto

Nombres de sinónimos de ciclo.

currentCycle String

Obligatorio.

Se está realizando el ciclo actual.

nextCycle String

Opcional. Próximo ciclo que se realizará.

lang String

Obligatorio.

Código de idioma para los nombres de los ciclos determinados. Consulta Idiomas admitidos.

currentTotalRemainingTime Número entero

Obligatorio.

Es el tiempo restante de la operación, expresado en segundos.

currentCycleRemainingTime Número entero

Obligatorio.

Es el tiempo restante del ciclo actual, en segundos.

Ejemplos

El dispositivo se encuentra en el ciclo de enjuague 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 pasar al centrifugado.

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

Admite una de las siguientes opciones:
0 Objeto

Listo

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 leer en voz alta.

status String

Obligatorio.

Es el resultado de la operación.

Valores admitidos:

SUCCESS
currentCycleRemainingTime Número entero

Obligatorio.

Es el tiempo restante del ciclo actual, en segundos.

1 Objeto

Se produjo un error al subir el archivo

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 leer en voz alta.

status String

Obligatorio.

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

ERRORES del dispositivo

Consulta la lista completa de errores y excepciones.