Guía de lavadora para casas inteligentes
action.devices.types.WASHER
: Las lavadoras pueden tener una funcionalidad de inicio y detención independiente del estado de encendido o apagado (algunas lavadoras tienen botones de encendido independientes y otras no). Algunos se pueden pausar y reanudar durante el lavado.
Las lavadoras también tienen varios modos, y cada uno tiene su propia configuración relacionada. Son específicas de la lavadora y se interpretan de forma generalizada.
Este tipo indica que el dispositivo obtiene el ícono de Lavadora y algunos sinónimos y alias relacionados.
Si deseas ver un ejemplo para controlar una lavadora con una casa inteligente de Google, consulta el codelab de lavadora de casas inteligente.
Funciones del dispositivo
Consulta la documentación de las características correspondiente para obtener detalles de la implementación, como los atributos y los estados que tu servicio debe admitir, y cómo compilar respuestas EXECUTE y QUERY.
Características requeridas
Estas características y comandos son obligatorios, si corresponde a tu dispositivo. Si tu dispositivo no admite estas características, ingresa el código de error functionNotSupported
en una respuesta de QUERY o EXECUTE. Consulta Errores y excepciones para obtener más información.
Traits recomendados
Se recomiendan estas características (si corresponde) en tu dispositivo. Sin embargo, puedes combinar todas las características disponibles para que se adapten mejor a la funcionalidad del producto existente.
-
action.devices.traits.Modes
-
action.devices.traits.OnOff
-
action.devices.traits.RunCycle
-
action.devices.traits.Toggles
Requisitos de calidad
- Latencia: Debe ser menor o igual que 3,000 ms.
- Confiabilidad: Debe ser mayor o igual que el 97%.
Dispositivo de ejemplo: lavadora simple
En esta sección, se incluyen ejemplos de cargas útiles de intent que representan una "lavadora" común según el tipo de dispositivo y las características anteriores. Si agregas o quitas características en tu implementación, modifica tus respuestas según corresponda para reflejar esos cambios.
Respuesta de muestra de SYNC
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.WASHER", "traits": [ "action.devices.traits.OnOff", "action.devices.traits.RunCycle", "action.devices.traits.StartStop", "action.devices.traits.Modes" ], "name": { "name": "Simple washer" }, "willReportState": true, "attributes": { "availableModes": [ { "name": "load_key", "name_values": [ { "name_synonym": [ "Load", "Size", "Load size" ], "lang": "en" } ], "settings": [ { "setting_name": "small_key", "setting_values": [ { "setting_synonym": [ "Small", "Half" ], "lang": "en" } ] }, { "setting_name": "large_key", "setting_values": [ { "setting_synonym": [ "Large", "Full" ], "lang": "en" } ] } ], "ordered": true } ], "pausable": true }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
Ejemplo de respuesta de QUERY
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "on": true, "isRunning": true, "isPaused": false, "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300, "currentModeSettings": { "load_key": "small_key" } } } } }
Ejemplos de comandos EXECUTE
Activada/Desactivada
Para obtener detalles adicionales sobre los parámetros del comando, consulta la referencia de
action.devices.traits.OnOff
.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }
IniciarParada
Para obtener detalles adicionales sobre los parámetros del comando, consulta la referencia de
action.devices.traits.StartStop
.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.StartStop", "params": { "start": true } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "isRunning": true, "isPaused": false } } ] } }
SetModes
Para obtener detalles adicionales sobre los parámetros del comando, consulta la referencia de
action.devices.traits.Modes
.
{ "requestId": "6894439706274654522", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.SetModes", "params": { "updateModeSettings": { "load_key": "large_key" } } } ] } ] } } ] }
{ "requestId": "6894439706274654522", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentModeSettings": { "load_key": "large_key" } } } ] } }