Guía con escenas de casa inteligente

action.devices.types.SCENE: En el caso de las escenas, el tipo se asigna 1:1 a la característica, ya que estas no se combinan con otros rasgos para formar dispositivos compuestos. Las escenas siempre deben tener nombres proporcionados por el usuario. Cada escena tiene su propio dispositivo virtual, con sus propios nombres.

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

Consulta el rasgo de escena para obtener más información.

Funciones del dispositivo

Consulta la documentación de las 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 a 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.

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: Escena simple

Esta sección contiene cargas útiles de intent de ejemplo que representan una "Escena" común según el tipo de dispositivo y las características anteriores. Si agregas o quitas características en tu implementación, modifica tus respuestas según corresponda para reflejar esos cambios.

Respuesta de muestra de SYNC

Solicitud
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Respuesta
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.SCENE",
        "traits": [
          "action.devices.traits.Scene"
        ],
        "name": {
          "name": "Simple scene"
        },
        "willReportState": true,
        "attributes": {
          "sceneReversible": true
        },
        "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
      }
    }
  }
}

Ejemplos de comandos EXECUTE

ActivateScene

Para obtener detalles adicionales sobre los parámetros del comando, consulta la referencia de action.devices.traits.Scene.

Solicitud
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.ActivateScene",
                "params": {
                  "deactivate": false
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Respuesta
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true
        }
      }
    ]
  }
}

ERRORS de dispositivos

Consulta la lista completa de errores y excepciones.