Guía de lavadoras de casa inteligente
action.devices.types.WASHER
: Las lavadoras pueden tener una función de inicio y detención independientemente de estar encendida o apagada (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 de cómo controlar una lavadora con una casa inteligente de Google, consulta el codelab de la lavadora de casa inteligente.
Funciones del dispositivo
Consulta la documentación de 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 para 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
Te recomendamos que agregues estas características a tu dispositivo, si corresponde. Sin embargo, puedes combinar todas las características disponibles para adaptarlas mejor a las funciones del producto existentes.
-
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
Esta sección contiene ejemplos de cargas útiles de intent que representan una "lavadora" común según el tipo y las características de dispositivo mencionados anteriormente. Si agregas o quitas rasgos en tu implementación, modifica las 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" } } ] } }
Respuesta de muestra 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" } } } } }
Ejemplo de comandos EXECUTE
OnOff
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 } } ] } }
StartStop
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" } } } ] } }