Smart Home-Trait-Schema für das Scharf- und Unscharfschalten

action.devices.traits.ArmDisarm : Dieses Trait unterstützt das Scharf- und Unscharfschalten, wie es beispielsweise bei Sicherheitssystemen verwendet wird.

Bei Geräten mit mehreren Sicherheitsstufen sollten diese Stufen mit dem availableArmLevels Attribut gemeldet werden.

Geräteattribute

Geräte mit diesem Trait können die folgenden Attribute im Rahmen des SYNC Vorgangs melden. Weitere Informationen zur Verarbeitung von SYNC Intents finden Sie unter Intent-Ausführung.

Attribute Typ Beschreibung
availableArmLevels Objekt

Beschreibt die unterstützten Sicherheitsstufen des Geräts. Wenn dieses Attribut nicht gemeldet wird, unterstützt das Gerät nur eine Stufe.

levels Array

Erforderlich.

Liste der verfügbaren Sicherheitsstufen, die vom Gerät unterstützt werden.

[item, ...] Objekt

Sicherheitsniveau.

level_name String

Erforderlich.

Der interne Name des Sicherheitsniveaus, das in Befehlen und Zuständen verwendet wird. Dieser Name ist möglicherweise nicht nutzerfreundlich und wird in allen Sprachen verwendet.

level_values Array

Erforderlich.

Enthält level_synonym und lang.

[item, ...] Objekt

Synonym für die Stufe in einer bestimmten Sprache. Es ist mindestens ein Element mit dem lang-Wert en erforderlich, um einen Sprach-Fallback bereitzustellen.

level_synonym Array

Erforderlich.

Nutzerfreundliche Namen für die Stufe in jeder unterstützten Sprache. Das erste Element wird als kanonischer Name behandelt.

[item, ...] String

Synonymer Name. Es ist mindestens ein Element mit dem lang-Wert en erforderlich, um einen Sprach-Fallback bereitzustellen.

lang String

Erforderlich.

Sprachcode für die Stufensynonyme. Siehe unterstützte Sprachen.

ordered Boolesch

Erforderlich.

Wenn „true“ festgelegt ist, gilt zusätzliche Grammatik für die Logik zum Erhöhen/Verringern in der Reihenfolge des Stufen-Arrays. Beispiel: „Hey Google, erhöhe meine Sicherheitsstufe um 1“ führt dazu, dass der Assistant die aktuelle Sicherheitsstufe ermittelt und sie dann um 1 erhöht. Wenn dieser Wert auf „false“ gesetzt ist, wird keine zusätzliche Grammatik für die Logik zum Erhöhen/Verringern unterstützt.

Beispiele

Sicherheitssystem mit zwei verschiedenen Scharfschaltstufen

{
  "availableArmLevels": {
    "levels": [
      {
        "level_name": "L1",
        "level_values": [
          {
            "level_synonym": [
              "Home and Guarding",
              "SL1"
            ],
            "lang": "en"
          },
          {
            "level_synonym": [
              "Zuhause und Bewachen",
              "SL1"
            ],
            "lang": "de"
          }
        ]
      },
      {
        "level_name": "L2",
        "level_values": [
          {
            "level_synonym": [
              "Away and Guarding",
              "SL2"
            ],
            "lang": "en"
          },
          {
            "level_synonym": [
              "Weg und Bewachen",
              "SL2"
            ],
            "lang": "de"
          }
        ]
      }
    ],
    "ordered": true
  }
}

Gerätestatus

Entitäten mit diesem Trait können die folgenden Status im Rahmen des QUERY Vorgangs melden. Weitere Informationen zur Verarbeitung von QUERY-Intents finden Sie unter Intent-Ausführung.

Status Typ Beschreibung
isArmed Boolesch

Erforderlich.

Gibt an, ob das Gerät derzeit scharf geschaltet ist.

currentArmLevel String

Erforderlich.

Erforderlich, wenn das Attribut availableArmLevels angegeben ist. Wenn mehrere Sicherheitsstufen vorhanden sind, wird der Name der aktuellen Sicherheitsstufe angegeben.

exitAllowance Ganzzahl

Gibt die Zeit in Sekunden an, die der Nutzer hat, um zu gehen, bevor currentArmLevel wirksam wird.

Beispiele

Sicherheitssystem, das eine bestimmte Scharfschaltstufe meldet

{
  "isArmed": true,
  "currentArmLevel": "L1"
}

Gerätebefehle

Geräte mit diesem Trait können im Rahmen des EXECUTE Vorgangs auf die folgenden Befehle reagieren. Weitere Informationen zur Verarbeitung von EXECUTE Intents finden Sie unter Intent-Ausführung.

action.devices.commands.ArmDisarm

Stelle die Alarmstufe dieses Geräts ein.

Parameter

Die Nutzlast enthält einen der folgenden Werte:

Vorgang zum Scharf- oder Unscharfschalten abbrechen

Parameter Typ Beschreibung
followUpToken String

Von Google bereitgestelltes Token für die Follow-up-Antwort.

arm Boolesch

Erforderlich.

„true“, wenn der Befehl zum Scharfschalten dient. „false“ zum Unscharfschalten.

cancel Boolesch

Erforderlich.

„true“, wenn der Befehl zum Abbrechen des arm-Werts dient.

Gerät scharf- oder unscharfschalten, mit optionaler Sicherheitsstufe.

Parameter Typ Beschreibung
followUpToken String

Von Google bereitgestelltes Token für die Follow-up-Antwort.

arm Boolesch

Erforderlich.

„true“, wenn der Befehl zum Scharfschalten dient. „false“ zum Unscharfschalten.

armLevel String

Der level_name, auf den scharfgeschaltet werden soll.

Beispiele

System scharfschalten

{
  "command": "action.devices.commands.ArmDisarm",
  "params": {
    "arm": true,
    "followUpToken": "123"
  }
}

System auf Scharfschaltstufe L1 setzen

{
  "command": "action.devices.commands.ArmDisarm",
  "params": {
    "arm": true,
    "armLevel": "L1",
    "followUpToken": "456"
  }
}

Vorgang zum Scharfschalten abbrechen

{
  "command": "action.devices.commands.ArmDisarm",
  "params": {
    "arm": true,
    "cancel": true
  }
}

Beim Scharf- oder Unscharfschalten des Geräts ist ein Fehler aufgetreten.

Unterstützte Werte:

alreadyInState
deviceTampered
passphraseIncorrect
pinIncorrect
securityRestriction
tooManyFailedAttempts
userCancelled

Gerätefehler

Eine vollständige Liste der Fehler und Ausnahmenfinden Sie hier.