Guía del hervidor inteligente para la casa

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

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

Las pavas 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 del rasgo correspondiente para obtener detalles de implementación, como los atributos y los estados que debe admitir tu servicio, y cómo crear respuestas de EXECUTE y QUERY.

Rasgos obligatorios

Estos rasgos y comandos son obligatorios, si se aplican a tu dispositivo. Si tu dispositivo no admite estos rasgos, 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.

Estos rasgos 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 "pava" común según el tipo de dispositivo y los rasgos anteriores. Si agregas rasgos a tu implementación o los quitas, modifica tus respuestas según corresponda para reflejar esos cambios.

Ejemplo de respuesta de SYNC

Solicitud
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Respuesta
{
  "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"
        }
      }
    ]
  }
}

Ejemplo de respuesta de QUERY

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

Comandos de EXECUTE de muestra

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
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Respuesta
{
  "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
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Respuesta
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "on": true
        }
      }
    ]
  }
}

ERRORES del dispositivo

Consulta la lista completa de errores y excepciones.