Guide pour penderie pour maison connectée

action.devices.types.CLOSET : les placards peuvent être ouverts et fermés dans plusieurs directions.

Ce type indique que l'appareil obtient l'icône Placard et d'autres des synonymes et des alias.

Fonctionnalités de l'appareil

Reportez-vous à la documentation des caractéristiques correspondantes pour les détails de mise en œuvre, tels que les attributs et les états que votre service doit prendre en charge, et comment créer des réponses EXECUTE et QUERY.

Caractéristiques requises

Ces caractéristiques et commandes sont nécessaires, s'il s'agit appareil. Si votre appareil ne prend pas en charge ces caractéristiques, saisissez le code d'erreur de functionNotSupported dans une réponse QUERY ou EXECUTE. Voir Erreurs et exceptions.

Exigences de qualité

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

Exemple d'appareil: placard simple

Cette section contient des exemples de charges utiles d'intent représentant un "placard" commun en fonction du type d'appareil et des caractéristiques 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 changements.

Exemple de réponse SYNC

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Demander
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
<ph type="x-smartling-placeholder">
</ph>
Réponse
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.CLOSET",
        "traits": [
          "action.devices.traits.OpenClose"
        ],
        "name": {
          "name": "Simple closet"
        },
        "willReportState": true,
        "attributes": {
          "openDirection": [
            "LEFT",
            "RIGHT"
          ]
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

Exemple de réponse QUERY

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Demander
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
<ph type="x-smartling-placeholder">
</ph>
Réponse
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "openState": [
          {
            "openPercent": 30,
            "openDirection": "LEFT"
          },
          {
            "openPercent": 50,
            "openDirection": "RIGHT"
          }
        ]
      }
    }
  }
}

Exemples de commandes EXECUTE

OpenClose

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

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Demander
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OpenClose",
                "params": {
                  "openPercent": 10,
                  "openDirection": "LEFT"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
<ph type="x-smartling-placeholder">
</ph>
Réponse
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "openState": [
            {
              "openPercent": 10,
              "openDirection": "LEFT"
            },
            {
              "openPercent": 50,
              "openDirection": "RIGHT"
            }
          ]
        }
      }
    ]
  }
}

Erreurs d'appareil

Voir la liste complète les erreurs et les exceptions.