Esquema de traço Smart Home ArmDisarm

action.devices.traits.ArmDisarm: esse traço é compatível com ativação e desativação, como usado em sistemas de segurança.

Para dispositivos com vários níveis de segurança, eles precisam ser informados com o atributo availableArmLevels.

ATRIBUTOS do dispositivo

Dispositivos com essa característica podem informar os seguintes atributos como parte da operação SYNC. Para saber mais sobre como processar intents SYNC, consulte Lógica de fulfillment de intents.

Atributos Tipo Descrição
availableArmLevels Object

Descreve os níveis de segurança compatíveis do dispositivo. Se esse atributo não for informado, o dispositivo vai oferecer suporte a apenas um nível.

levels Array

Obrigatório.

Lista dos níveis de segurança disponíveis compatíveis com o dispositivo.

[item, ...] Object

Nível de segurança.

level_name String

Obrigatório.

O nome interno do nível de segurança usado em comandos e estados. Esse nome pode não ser fácil de usar e é compartilhado em todos os idiomas.

level_values Array

Obrigatório.

Contém level_synonym e lang.

[item, ...] Object

Sinônimo de nível para um determinado idioma. É necessário pelo menos um item com um valor lang de en para oferecer substituição de idioma.

level_synonym Array

Obrigatório.

Nomes fáceis de usar para o nível em cada idioma compatível. O primeiro item é tratado como o nome canônico.

[item, ...] String

Nome do sinônimo. É necessário pelo menos um item com um valor lang de en para oferecer substituição de idioma.

lang String

Obrigatório.

Código do idioma para os sinônimos de nível. Consulte Idiomas aceitos.

ordered Booleano

Obrigatório.

Se definido como "true", uma gramática adicional para lógica de aumento/diminuição será aplicada, na ordem da matriz de níveis. Por exemplo, "Ok Google, aumente meu nível de segurança em 1" faz com que o Google Assistente determine o nível atual e o aumente em um. Se esse valor for definido como "false", não será possível usar outras gramáticas para a lógica de aumento/diminuição.

Exemplos

Sistema de segurança com dois níveis de ativação distintos

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

ESTADOS DO DISPOSITIVO

As entidades com essa característica podem informar os seguintes estados como parte da operação QUERY. Para saber mais sobre como processar intents QUERY, consulte Lógica de fulfillment de intents.

Estados Tipo Descrição
isArmed Booleano

Obrigatório.

Indica se o dispositivo está armado no momento.

currentArmLevel String

Obrigatório.

Obrigatório se o atributo availableArmLevels for especificado. Se houver vários níveis de segurança, indica o nome do nível atual.

exitAllowance Número inteiro

Indica o tempo, em segundos, que o usuário precisa sair antes que currentArmLevel entre em vigor.

Exemplos

Sistema de segurança que informa um nível de ativação distinto

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

COMANDOS do dispositivo

Dispositivos com essa característica podem responder aos seguintes comandos como parte da operação EXECUTE. Para saber mais sobre como processar intents EXECUTE, consulte Lógica de fulfillment de intents.

action.devices.commands.ArmDisarm

Defina o nível de alarme deste dispositivo.

Parâmetros

O payload contém uma das seguintes opções:

Cancelar a operação de ativar ou desativar

Parâmetros Tipo Descrição
followUpToken String

Token fornecido pelo Google para resposta de acompanhamento.

arm Booleano

Obrigatório.

Verdadeiro quando o comando é para ativar. Falha ao desarmar.

cancel Booleano

Obrigatório.

Verdadeiro quando o comando é para cancelar o valor arm.

Ativar ou desativar o dispositivo com um nível de segurança opcional.

Parâmetros Tipo Descrição
followUpToken String

Token fornecido pelo Google para resposta de acompanhamento.

arm Booleano

Obrigatório.

Verdadeiro quando o comando é para ativar. Falha ao desarmar.

armLevel String

O level_name a ser ativado.

Exemplos

Ativar o sistema

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

Defina o sistema para o nível de ativação L1

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

Cancelar a operação de ativação

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

Ocorreu um erro ao ativar ou desativar o dispositivo.

Valores compatíveis:

alreadyInState
deviceTampered
passphraseIncorrect
pinIncorrect
securityRestriction
tooManyFailedAttempts
userCancelled

ERROS do dispositivo

Confira a lista completa de erros e exceções.