Guía del hervidor inteligente

action.devices.types.KETTLE: Las pavas son dispositivos que hierven agua. Las interacciones con las pavas pueden incluir encenderlas y apagarlas, ajustar la temperatura objetivo y, tal vez, ajustar varios parámetros de configuración del modo.

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

Las kettles tienen una gramática basada en el tipo para action.devices.traits.OnOff. Si el dispositivo admite OnOff, Hervir agua enviará un comando action.devices.commands.OnOff.

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.

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.

Ejemplo de dispositivo: Hervidor simple

En esta sección, se incluyen cargas útiles de intents de ejemplo que representan una "hervidora" común según el tipo de dispositivo y los rasgos anteriores. Si agregas o quitas rasgos en tu implementación, modifica tus respuestas según corresponda para reflejar esos cambios.

Ejemplo de respuesta de SYNC

Solicitud
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Response
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.KETTLE",
        "traits": [
          "action.devices.traits.TemperatureControl",
          "action.devices.traits.OnOff"
        ],
        "name": {
          "name": "Simple kettle"
        },
        "willReportState": true,
        "attributes": {
          "temperatureRange": {
            "minThresholdCelsius": 0,
            "maxThresholdCelsius": 100
          },
          "temperatureUnitForUX": "F"
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

Respuesta de muestra de QUERY

Solicitud
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Response
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "on": true,
        "temperatureSetpointCelsius": 100
      }
    }
  }
}

Comandos de EXECUTE de ejemplo

SetTemperature

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

Solicitud
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.SetTemperature",
                "params": {
                  "temperature": 85
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Response
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "temperatureSetpointCelsius": 85
        }
      }
    ]
  }
}

OnOff

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

Solicitud
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OnOff",
                "params": {
                  "on": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Response
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "on": true
        }
      }
    ]
  }
}

ERRORES del dispositivo

Consulta la lista completa de errores y excepciones.