Esquema de característica del ciclo de ejecución 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 la cantidad total de ciclos al inicio de la operación. y cada ciclo en el que se encuentra el dispositivo mientras está en ejecución. 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 terminará el lavado?
Algunos dispositivos incluyen una duración en un formato no cíclico. Cualquier dispositivo que se ejecuta durante un período específico pueden informar el tiempo restante, sin en ciclos de vida. Esto también aborda 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: ¿Cómo ¿Cuánto más tiempo durará la aspiradora? que devolverá la cantidad de tiempo en unidades proporcional al tiempo restante. Esto también se aplica a los dispositivos mencionados arriba; ¿Por cuánto tiempo se seca la ropa? muestra una duración en minutos.
Los dispositivos pueden devolver lo que saben, y la respuesta de TTS del Asistente formará el mejor respuesta con los datos disponibles (por ejemplo, El lavavajillas está funcionando y se completará en unos 20 minutos.)
RunCycle es actualmente una característica de solo lectura: no tiene comandos, solo estados para para cada búsqueda. En el futuro, podría haber mecanismos para volver a ejecutar ciclos u omitirlos. (bueno para aspersores y malo para lavadoras).
ATRIBUTOS DISPOSITIVOS
Ninguno
Dispositivo STATES
Las entidades con esta característica pueden informar lo siguiente
estados como parte de la operación QUERY
. Para aprender
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 |
Nombres de sinónimos de ciclo. |
currentCycle |
String |
Obligatorio. Se está realizando el ciclo actual. |
nextCycle |
String |
Opcional. Siguiente ciclo a realizar. |
lang |
String |
Obligatorio. Es el código de idioma de los nombres de ciclos especificados. Consulta Idiomas compatibles. |
currentTotalRemainingTime |
Número entero |
Obligatorio. Tiempo restante de funcionamiento, en segundos. |
currentCycleRemainingTime |
Número entero |
Obligatorio. Tiempo restante del ciclo actual, en segundos. |
Ejemplos
El dispositivo estará en enjuague por otros 5 minutos y terminará en 20 minutos.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
El dispositivo debe permanecer enjuague durante otros 5 minutos antes de moverse para girar.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
COMANDOS del dispositivo
Ninguno
NOTIFICACIONES DEL DISPOSITIVO
Los dispositivos con este trait pueden devolver lo siguiente: útil de notificaciones como parte de un cambio de estado del dispositivo. Para aprender para implementar 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. Resultado de la operación. Valores admitidos:
|
currentCycleRemainingTime |
Número entero |
Obligatorio. Tiempo restante del 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 leer 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 cuando se intentaba completar el ciclo actual.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }