Esquema de la característica SmartRuny de HomeCycle
action.devices.traits.RunCycle
: Esta característica representa cualquier dispositivo que tiene una duración continua para su funcionamiento que se puede consultar.
Los dispositivos como estos informarán la cantidad total de ciclos al comienzo de la operación y cada ciclo en el que el dispositivo se encuentre en ese momento. 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 realizará el lavado?
Ciertos 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 usan todos los ciclos). Por ejemplo, un usuario podría preguntar: ¿Durante cuánto tiempo se ejecutará la aspiradora?, que mostrará la cantidad de tiempo en unidades proporcionales al tiempo restante. Esto también se aplica a los dispositivos mencionados anteriormente. ¿Durante cuánto tiempo se secará la ropa? mostrará una duración en minutos.
Los dispositivos pueden mostrar lo que saben y la respuesta del Asistente de TTS será la mejor respuesta con los datos disponibles (por ejemplo, El lavavajillas está en ejecución y se completará en 20 minutos aproximadamente).
RunCycle actualmente es una característica de solo lectura; no tiene comandos, solo estados para consultar. En el futuro, es posible que haya mecanismos para volver a ejecutar ciclos o saltarse ciclos (bueno para aspersores, malo para lavadoras).
ATRIBUTOS DEL Dispositivo
Ninguna
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 manejar los intents QUERY
, consulta Entrega de 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 ciclos. |
currentCycle |
String |
Obligatorio. Ciclo actual en ejecución |
nextCycle |
String |
Opcional. El próximo ciclo por realizar. |
lang |
String |
Obligatorio. Código de idioma para los nombres de ciclo dados. Consulta Idiomas compatibles. |
currentTotalRemainingTime |
Número entero |
Obligatorio. Tiempo restante de operación, en segundos. |
currentCycleRemainingTime |
Número entero |
Obligatorio. Tiempo restante en el ciclo actual en segundos |
Ejemplos
El dispositivo estará enjuagado por 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 }
Dispositivo COMMAND
Ninguna
NOTIFICACIONES
Los dispositivos con esta característica pueden mostrar la siguiente carga útil de notificación como parte de un cambio de estado del dispositivo. Si quieres 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 debe pronunciarse en voz alta. |
status |
String |
Obligatorio. Resultado de la operación. Valores admitidos:
|
currentCycleRemainingTime |
Número entero |
Obligatorio. Tiempo restante en el ciclo actual en segundos |
1
|
Objeto |
Error |
priority |
Número entero |
Obligatorio. Representa el nivel de notificación. El valor admitido actualmente es 0, lo que indica que la notificación debe pronunciarse en voz alta. |
status |
String |
Obligatorio. Resultado de la operación. Valores admitidos:
|
errorCode |
String |
Obligatorio. El valor puede ser cualquier código de error para esta característica, por ejemplo, |
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" } }