Schema del tratto ArmDisarm di Smart Home

action.devices.traits.ArmDisarm: questa caratteristica supporta l'inserimento e il disinserimento dell'allarme, come nei sistemi di sicurezza.

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

ATTRIBUTI dispositivo

I dispositivi con questa caratteristica potrebbero 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ò essere poco intuitivo ed è condiviso in tutte le lingue.

level_values Array

Obbligatorio.

Contiene level_synonym e lang.

[item, ...] Oggetto

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

level_synonym Array

Obbligatorio.

Nomi semplici per il livello in ogni lingua supportata. Il primo elemento viene considerato come il nome canonico.

[item, ...] String

Nome del sinonimo. Per fornire il fallback della lingua, è necessario almeno un elemento con un valore lang di en.

lang String

Obbligatorio.

Codice lingua per i sinonimi del livello. Vedi Lingue supportate.

ordered Valore booleano

Obbligatorio.

Se impostato su true, viene applicata 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, non è supportata la grammatica aggiuntiva per la logica di aumento/diminuzione.

Esempi

Sistema di sicurezza con due livelli di inserimento 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 armato.

currentArmLevel String

Obbligatorio.

Obbligatorio se è 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, che l'utente deve lasciare prima che currentArmLevel diventi effettivo.

Esempi

Sistema di sicurezza che segnala un livello di inserimento distinto

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

COMANDI del dispositivo

I dispositivi con questo tratto potrebbero 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:

Annullare l'operazione di inserimento o disinserimento

Parametri Tipo Descrizione
followUpToken String

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

arm Valore booleano

Obbligatorio.

True quando il comando è di attivazione. Impossibile disattivare.

cancel Valore booleano

Obbligatorio.

True quando il comando è di annullare il valore arm.

Attiva o disattiva 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 attivazione. Impossibile disattivare.

armLevel String

Il level_name a cui abilitare.

Esempi

Attivare l'impianto

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

Imposta il sistema sul livello di inserimento L1

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

Annullare l'operazione di inserimento dell'allarme

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

Si è verificato un errore durante l'inserimento o il disinserimento dell'allarme sul dispositivo.

Valori supportati:

alreadyInState
deviceTampered
passphraseIncorrect
pinIncorrect
securityRestriction
tooManyFailedAttempts
userCancelled

ERRORI del dispositivo

Consulta l'elenco completo di errori ed eccezioni.