Guía de lavadoras inteligentes para la casa
action.devices.types.WASHER: Las lavadoras pueden tener funcionalidad de inicio y detención independiente de si están encendidas o apagadas (algunas lavadoras tienen botones de encendido separados y otras no). Algunas se pueden pausar y reanudar mientras se lavan.
Las lavadoras también tienen varios modos, y cada uno tiene su propia configuración relacionada. Son específicos de la lavadora y se interpretan de forma generalizada.
Este tipo indica que el dispositivo obtiene el ícono de la lavadora y algunos sinónimos y alias relacionados.
Para ver un ejemplo de cómo controlar una lavadora con la casa inteligente de Google, consulta el codelab de lavadora inteligente para la casa.
Funciones del dispositivo
Consulta la documentación de la característica correspondiente para obtener detalles de implementación, como los atributos y los estados que debe admitir tu servicio, y cómo compilar respuestas de EXECUTE y QUERY.
Características requeridas
Estos rasgos y comandos son obligatorios, si se aplican a tu dispositivo. Si tu dispositivo no admite estos atributos, ingresa el código de error de functionNotSupported en una respuesta de QUERY o EXECUTE. Consulta Errores y excepciones para obtener más información.
Rasgos recomendados
Estas características se recomiendan si son aplicables a tu dispositivo. Sin embargo, puedes combinar todos los rasgos disponibles para que coincidan mejor con la funcionalidad existente de tu producto.
-
action.devices.traits.Modes -
action.devices.traits.OnOff -
action.devices.traits.RunCycle -
action.devices.traits.Toggles
Ejemplo de dispositivo: Lavadora simple
En esta sección, se incluyen cargas útiles de intents de ejemplo que representan una "lavadora" común según el tipo y los rasgos del dispositivo mencionados anteriormente. Si agregas o quitas rasgos en tu implementación, modifica tus respuestas según corresponda para reflejar esos cambios.
Ejemplo de respuesta 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" } } } } }
Comandos de EXECUTE de ejemplo
OnOff
Para obtener más detalles 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 más detalles 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 más detalles 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" } } } ] } }