Guía de persianas para casas inteligentes

action.devices.types.BLINDS: Las persianas se pueden abrir y cerrar, y se admiten varios tipos de persianas, como veneciana (se abre en una dirección), de panel o vertical (puede abrirse a la izquierda o a la derecha) y de abajo hacia arriba (puede abrirse hacia arriba o abajo). Algunas persianas pueden tener listones que se pueden girar.

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

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.

Se recomiendan estas características (si corresponde) en tu dispositivo. Sin embargo, puedes combinar todas las características disponibles para que se adapten mejor a la funcionalidad del producto existente.

Requisitos de calidad

  • Latencia: Debe ser menor o igual que 2,500 ms.
  • Confiabilidad: Debe ser mayor o igual que el 97%.

Dispositivo de ejemplo: Persianas simples

En esta sección, se incluyen ejemplos de cargas útiles de intent que representan "Persianas" comunes 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.

En una persiana de arriba abajo y abajo hacia arriba, la dirección UP eleva la parte inferior de la persiana y la dirección DOWN la baja. En la figura 1, se muestra un ejemplo de una persiana de arriba abajo en la que la dirección UP eleva la parte inferior de la persiana un 50% y la dirección DOWN disminuye la parte superior de la persiana un 30%.

Figura 1: Persiana cenital

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.BLINDS",
        "traits": [
          "action.devices.traits.OpenClose"
        ],
        "name": {
          "name": "Simple blinds"
        },
        "willReportState": true,
        "attributes": {
          "openDirection": [
            "UP",
            "DOWN"
          ]
        },
        "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,
        "openState": [
          {
            "openPercent": 30,
            "openDirection": "DOWN"
          },
          {
            "openPercent": 50,
            "openDirection": "UP"
          }
        ]
      }
    }
  }
}

Ejemplos de comandos EXECUTE

OpenClose

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

Solicitud
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OpenClose",
                "params": {
                  "openPercent": 10,
                  "openDirection": "DOWN"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Respuesta
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "openState": [
            {
              "openPercent": 10,
              "openDirection": "DOWN"
            },
            {
              "openPercent": 50,
              "openDirection": "UP"
            }
          ]
        }
      }
    ]
  }
}

ERRORS de dispositivos

Consulta la lista completa de errores y excepciones.