Guide sur les aspirateurs pour maison connectée

action.devices.types.VACUUM : les aspirateurs peuvent avoir des fonctions telles que le démarrage, l'arrêt et la mise en pause du nettoyage, la mise en station, la vérification du cycle de nettoyage en cours, la localisation de l'aspirateur ou le réglage de différents modes. Certains aspirateurs peuvent nettoyer des zones spécifiques de la maison.

Ce type indique que l'appareil reçoit l'icône d'aspirateur, ainsi que certains synonymes et alias associés.

Fonctionnalités de l'appareil

Pour en savoir plus sur l'implémentation, comme les attributs et les états que votre service doit prendre en charge, et sur la façon de créer des réponses EXECUTE et QUERY, consultez la documentation sur le trait correspondant.

Traits obligatoires

Ces traits et commandes sont obligatoires, le cas échéant pour votre appareil. Si votre appareil ne prend pas en charge ces traits, saisissez le code d'erreur functionNotSupported dans une réponse QUERY ou EXECUTE. Pour en savoir plus, consultez la section Erreurs et exceptions.

Ces traits sont recommandés, le cas échéant pour votre appareil. Toutefois, vous pouvez combiner tous les traits disponibles pour qu'ils correspondent au mieux aux fonctionnalités de votre produit existant.

Exemple d'appareil : aspirateur simple

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

Exemple de réponse SYNC

Requête
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.VACUUM",
        "traits": [
          "action.devices.traits.Dock",
          "action.devices.traits.EnergyStorage",
          "action.devices.traits.StartStop"
        ],
        "name": {
          "name": "Simple vacuum"
        },
        "willReportState": true,
        "attributes": {
          "queryOnlyEnergyStorage": true,
          "pausable": true
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

Exemple de réponse QUERY

Requête
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "isRunning": false,
        "isPaused": false,
        "isDocked": true,
        "descriptiveCapacityRemaining": "HIGH",
        "capacityRemaining": [
          {
            "unit": "SECONDS",
            "rawValue": 36000
          },
          {
            "unit": "PERCENTAGE",
            "rawValue": 90
          }
        ]
      }
    }
  }
}

Exemples de commandes EXECUTE

Quai

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

Requête
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.Dock"
              }
            ]
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "PENDING",
        "states": {
          "online": true,
          "isDocked": true
        }
      }
    ]
  }
}

StartStop

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

Requête
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.StartStop",
                "params": {
                  "start": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "PENDING",
        "states": {
          "online": true,
          "isRunning": true,
          "isPaused": false
        }
      }
    ]
  }
}

PauseUnpause

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

Requête
{
  "requestId": "6894439706274654520",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.PauseUnpause",
                "params": {
                  "pause": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "PENDING",
        "states": {
          "online": true,
          "isRunning": false,
          "isPaused": true
        }
      }
    ]
  }
}

ERREURS de l'appareil

Consultez la liste complète des erreurs et exceptions.