Schema del tratto ArmDisarm della smart home

action.devices.traits.ArmDisarm - Questo tratto supporta l'abilitazione e la disabilitazione, ad esempio nei sistemi di sicurezza.

Per i dispositivi con più livelli di sicurezza, questi livelli devono essere segnalati con l' availableArmLevels attributo.

ATTRIBUTI del dispositivo

I dispositivi con questo tratto possono segnalare i seguenti attributi nell'ambito dell'operazione SYNC. Per saperne di più sulla gestione degli intent SYNC, consulta Completamento degli intent.

Attributi Tipo Descrizione
availableArmLevels Oggetto

Descrive i livelli di sicurezza supportati del dispositivo. Se questo attributo non viene segnalato, il dispositivo supporta un solo livello.

levels Array

Obbligatorio.

Elenco dei livelli di sicurezza disponibili supportati dal dispositivo.

[item, ...] Oggetto

Livello di sicurezza.

level_name String

Obbligatorio.

Il nome interno del livello di sicurezza utilizzato nei comandi e negli stati. Questo nome può non essere intuitivo per l'utente ed è condiviso in tutte le lingue.

level_values Array

Obbligatorio.

Contiene level_synonym e lang.

[item, ...] Oggetto

Sinonimo di livello per una determinata lingua. È necessario almeno un elemento con un valore lang di en per fornire il fallback della lingua.

level_synonym Array

Obbligatorio.

Nomi intuitivi per l'utente del livello in ogni lingua supportata. Il primo elemento viene considerato il nome canonico.

[item, ...] String

Nome del sinonimo. È necessario almeno un elemento con un valore lang di en per fornire il fallback della lingua.

lang String

Obbligatorio.

Codice lingua per i sinonimi di livello. Consulta Lingue supportate.

ordered Valore booleano

Obbligatorio.

Se impostato su true, si applica una grammatica aggiuntiva per la logica di aumento/diminuzione, nell'ordine dell'array dei livelli. Ad esempio, "Hey Google, aumenta il mio livello di sicurezza di 1" fa sì che l'Assistente determini il livello di sicurezza attuale e lo aumenti di uno. Se questo valore è impostato su false, la grammatica aggiuntiva per la logica di aumento/diminuzione non è supportata.

Esempi

Sistema di sicurezza con due livelli di abilitazione distinti

{
  "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
  }
}

STATI del dispositivo

Le entità con questo tratto possono segnalare i seguenti stati nell'ambito dell'operazione QUERY. Per saperne di più sulla gestione degli intent QUERY, consulta Completamento degli intent.

Stati Tipo Descrizione
isArmed Valore booleano

Obbligatorio.

Indica se il dispositivo è attualmente abilitato.

currentArmLevel String

Obbligatorio.

Obbligatorio se viene specificato l'attributo availableArmLevels. Se esistono più livelli di sicurezza, indica il nome del livello di sicurezza attuale.

exitAllowance Intero

Indica il tempo, in secondi, a disposizione dell'utente per uscire prima che currentArmLevel diventi effettivo.

Esempi

Sistema di sicurezza che segnala un livello di abilitazione distinto

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

COMANDI del dispositivo

I dispositivi con questo tratto possono rispondere ai seguenti comandi nell'ambito dell'operazione EXECUTE. Per saperne di più sulla gestione degli intent EXECUTE, consulta Completamento degli intent.

action.devices.commands.ArmDisarm

Imposta il livello di allarme di questo dispositivo.

Parametri

Il payload contiene uno dei seguenti elementi:

Annulla l'operazione di abilitazione o disabilitazione

Parametri Tipo Descrizione
followUpToken String

Token fornito da Google per la risposta di follow-up.

arm Valore booleano

Obbligatorio.

True quando il comando è di abilitazione. False per la disabilitazione.

cancel Valore booleano

Obbligatorio.

True quando il comando è di annullamento del valore arm.

Abilita o disabilita il dispositivo, con un livello di sicurezza facoltativo.

Parametri Tipo Descrizione
followUpToken String

Token fornito da Google per la risposta di follow-up.

arm Valore booleano

Obbligatorio.

True quando il comando è di abilitazione. False per la disabilitazione.

armLevel String

Il level_name da abilitare.

Esempi

Abilita il sistema

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

Imposta il sistema sul livello di abilitazione L1

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

Annulla l'operazione di abilitazione

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

Si è verificato un errore durante l'abilitazione o la disabilitazione del dispositivo.

Valori supportati:

alreadyInState
deviceTampered
passphraseIncorrect
pinIncorrect
securityRestriction
tooManyFailedAttempts
userCancelled

ERRORI del dispositivo

Consulta l'elenco completo di errori ed eccezioni.