Guide sur les stores connectés

action.devices.types.BLINDS : il est possible d'ouvrir et de fermer différents types de stores vénitiens (ouverts dans une direction), à panneaux ou verticaux (pouvant s'ouvrir à gauche ou à droite), et de bas en haut (avec possibilité d'ouverture vers le haut ou vers le bas). Certains stores peuvent être dotés de lattes rotatives.

Ce type indique que l'appareil obtient l'icône "Stores", ainsi que certains synonymes et alias associés.

Fonctionnalités de l'appareil

Reportez-vous à la documentation sur les fonctionnalités correspondantes pour obtenir des détails sur l'implémentation, tels que les attributs et les états que votre service doit prendre en charge, et pour découvrir comment créer des réponses EXECUTE et QUERY.

Traits obligatoires

Ces traits et commandes sont requis, le cas échéant. Si votre appareil n'est pas compatible avec ces traits, saisissez le code d'erreur de functionNotSupported dans une réponse QUERY ou EXECUTE. Pour en savoir plus, consultez la section Erreurs et exceptions.

Ces traits sont recommandés s'ils s'appliquent à votre appareil. Cependant, vous êtes libre de combiner toutes les caractéristiques disponibles pour correspondre au mieux aux fonctionnalités existantes de votre produit.

Exigences de qualité

  • Latence:doit être inférieure ou égale à 2 500 ms.
  • Fiabilité: la valeur doit être supérieure ou égale à 97%.

Exemple d'appareil: stores simples

Cette section contient des exemples de charges utiles d'intent représentant des "Stores" courants en fonction du type d'appareil et des caractéristiques décrites ci-dessus. Si vous ajoutez ou supprimez des caractéristiques dans votre implémentation, modifiez vos réponses en conséquence pour refléter ces modifications.

Dans un stores de fenêtre de haut en bas, la direction UP soulève la partie inférieure du stores, tandis que la direction DOWN abaisse la partie supérieure du stores. La figure 1 montre un exemple de stores de bas en haut : la direction UP lève de 50 % la partie inférieure du stores et la direction DOWN abaisse la partie supérieure de 30 %.

Figure 1 : Store de bas en haut

Exemple de réponse SYNC

Demander
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Réponse
{
  "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"
        }
      }
    ]
  }
}

Exemple de réponse QUERY

Demander
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "openState": [
          {
            "openPercent": 30,
            "openDirection": "DOWN"
          },
          {
            "openPercent": 50,
            "openDirection": "UP"
          }
        ]
      }
    }
  }
}

Exemples de commandes EXECUTE

OpenClose

Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur action.devices.traits.OpenClose.

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

ERREURS sur l'appareil

Consultez la liste complète des erreurs et exceptions.