Ratgeber für Smart-Home-Staubsauger

action.devices.types.VACUUM : Staubsauger können Funktionen wie Starten, Beenden und Pausieren der Reinigung, Andocken, Überprüfen des aktuellen Reinigungszyklus, Auffinden des Staubsaugers oder Anpassen verschiedener Modi haben. Einige Staubsauger können bestimmte Bereiche im Haus reinigen.

Dieser Typ gibt an, dass das Gerät das Staubsauger-Symbol und einige zugehörige Synonyme und Aliase erhält.

Gerätefunktionen

In der entsprechenden Dokumentation zu den Traits findest du Implementierungsdetails wie Attribute und Status, die dein Dienst unterstützen sollte, sowie Informationen zum Erstellen von EXECUTE- und QUERY-Antworten.

Erforderliche Traits

Diese Traits und Befehle sind erforderlich, wenn sie für dein Gerät gelten. Wenn dein Gerät diese Traits nicht unterstützt, gib den Fehlercode functionNotSupported in einer QUERY- oder EXECUTE-Antwort ein. Weitere Informationen findest du unter Fehler und Ausnahmen.

Diese Traits werden empfohlen, wenn sie für dein Gerät gelten. Du kannst jedoch alle verfügbaren Traits kombinieren, um die beste Übereinstimmung mit der vorhandenen Produktfunktionalität zu erzielen.

Beispielgerät: Einfacher Staubsauger

Dieser Abschnitt enthält Beispielnutzlasten für Intents, die einen gängigen "Staubsauger" auf Grundlage des Gerätetyps und der oben genannten Traits darstellen. Wenn du in deiner Implementierung Traits hinzufügst oder entfernst, musst du deine Antworten entsprechend ändern.

Beispiel für eine SYNC-Antwort

Anfrage
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Antwort
{
  "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"
        }
      }
    ]
  }
}

Beispiel für eine QUERY-Antwort

Anfrage
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Antwort
{
  "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
          }
        ]
      }
    }
  }
}

Beispiel für EXECUTE-Befehle

Dock

Weitere Informationen zu den Befehlsparametern, siehe die action.devices.traits.Dock Referenz.

Anfrage
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.Dock"
              }
            ]
          }
        ]
      }
    }
  ]
}
Antwort
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "PENDING",
        "states": {
          "online": true,
          "isDocked": true
        }
      }
    ]
  }
}

StartStop

Weitere Informationen zu den Befehlsparametern, siehe die action.devices.traits.StartStop Referenz.

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

PauseUnpause

Weitere Informationen zu den Befehlsparametern, siehe die action.devices.traits.StartStop Referenz.

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

Gerätefehler

Eine vollständige Liste der Fehler und Ausnahmenfindest du hier.