Guía de aspersores para casas inteligentes

action.devices.types.SPRINKLER: Los aspersores pueden iniciarse y detenerse (o encenderse y apagarse). También pueden admitir temporizadores o programas.

Este tipo indica que el dispositivo obtiene el ícono de rociador y algunos sinónimos y alias relacionados.

Funciones del dispositivo

Consulta la documentación correspondiente de la función para obtener detalles de la implementación, como los atributos y estados que debe admitir tu servicio, y cómo compilar respuestas de EXECUTE y QUERY.

Características obligatorias

Estos atributos y comandos son obligatorios, si son aplicables a tu dispositivo. Si tu dispositivo no admite estas características, ingresa el código de error de functionNotSupported en una respuesta QUERY o EXECUTE. Consulta Errores y excepciones para obtener más información.

Se recomiendan estas características, si corresponde a tu dispositivo. Sin embargo, puedes combinar todos los atributos disponibles para que coincidan mejor con la funcionalidad de tu producto existente.

Requisitos de calidad

  • Latencia: Debe ser menor o igual que 800 ms.
  • Fiabilidad: Debe ser superior o igual al 97%.

Ejemplo de dispositivo: Aspersor simple

Esta sección contiene cargas útiles de intents de ejemplo que representan un “sistema de riego” común según el tipo de dispositivo y los atributos anteriores. Si agregas o quitas atributos en tu implementación, modifica tus respuestas según corresponda para reflejar esos cambios.

Respuesta de SYNC de muestra

Solicitud
{   "requestId": "6894439706274654512",   "inputs": [     {       "intent": "action.devices.SYNC"     }   ] }
Respuesta
{   "requestId": "6894439706274654512",   "payload": {     "agentUserId": "user123",     "devices": [       {         "id": "123",         "type": "action.devices.types.SPRINKLER",         "traits": [           "action.devices.traits.Timer",           "action.devices.traits.StartStop"         ],         "name": {           "name": "Simple sprinkler"         },         "willReportState": true,         "attributes": {           "availableZones": [             "front",             "back"           ],           "maxTimerLimitSec": 3600         },         "deviceInfo": {           "manufacturer": "smart-home-inc",           "model": "hs1234",           "hwVersion": "3.2",           "swVersion": "11.4"         }       }     ]   } }

Respuesta de QUERY de muestra

Solicitud
{   "requestId": "6894439706274654514",   "inputs": [     {       "intent": "action.devices.QUERY",       "payload": {         "devices": [           {             "id": "123"           }         ]       }     }   ] }
Respuesta
{   "requestId": "6894439706274654514",   "payload": {     "devices": {       "123": {         "status": "SUCCESS",         "online": true,         "isRunning": true,         "activeZones": [           "front"         ],         "timerRemainingSec": 300       }     }   } }

Comandos EXECUTE de muestra

TimerStart

Para obtener más detalles sobre los parámetros del comando, consulta la referencia de action.devices.traits.Timer.

Solicitud
{   "requestId": "6894439706274654518",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.TimerStart",                 "params": {                   "timerTimeSec": 300                 }               }             ]           }         ]       }     }   ] }
Respuesta
{   "requestId": "6894439706274654518",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "timerRemainingSec": 300         }       }     ]   } }

TimerAdjust

Para obtener más detalles sobre los parámetros del comando, consulta la referencia de action.devices.traits.Timer.

Solicitud
{   "requestId": "6894439706274654520",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.TimerAdjust",                 "params": {                   "timerTimeSec": -10                 }               }             ]           }         ]       }     }   ] }
Respuesta
{   "requestId": "6894439706274654520",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "timerRemainingSec": 290         }       }     ]   } }

TimerPause

Para obtener más detalles sobre los parámetros del comando, consulta la referencia de action.devices.traits.Timer.

Solicitud
{   "requestId": "6894439706274654522",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.TimerPause"               }             ]           }         ]       }     }   ] }
Respuesta
{   "requestId": "6894439706274654522",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "timerRemainingSec": 300,           "timerPaused": true         }       }     ]   } }

TimerResume

Para obtener más detalles sobre los parámetros del comando, consulta la referencia de action.devices.traits.Timer.

Solicitud
{   "requestId": "6894439706274654524",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.TimerResume"               }             ]           }         ]       }     }   ] }
Respuesta
{   "requestId": "6894439706274654524",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "timerRemainingSec": 300,           "timerPaused": false         }       }     ]   } }

TimerCancel

Para obtener más detalles sobre los parámetros del comando, consulta la referencia de action.devices.traits.Timer.

Solicitud
{   "requestId": "6894439706274654526",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.TimerCancel"               }             ]           }         ]       }     }   ] }
Respuesta
{   "requestId": "6894439706274654526",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "timerRemainingSec": -1         }       }     ]   } }

StartStop

Para obtener más detalles sobre los parámetros del comando, consulta la referencia de action.devices.traits.StartStop.

Solicitud
{   "requestId": "6894439706274654516",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.StartStop",                 "params": {                   "start": true,                   "zone": "back"                 }               }             ]           }         ]       }     }   ] }
Respuesta
{   "requestId": "6894439706274654516",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "isRunning": true,           "activeZones": [             "back"           ]         }       }     ]   } }

ERRORES del dispositivo

Consulta la lista completa de errores y excepciones.