Схема характеристик «вооружение-разоружение» для умного дома

action.devices.traits.ArmDisarm — этот трейт поддерживает постановку и снятие с охраны, как это используется, например, в системах безопасности.

Для устройств с несколькими уровнями безопасности эти уровни следует сообщать с помощью атрибута availableArmLevels .

АТРИБУТЫ УСТРОЙСТВА

Устройства с этой характеристикой могут сообщать следующие атрибуты в рамках операции SYNC . Подробнее об обработке намерений SYNC см. в разделе «Выполнение намерений» .

Атрибуты Тип Описание
availableArmLevels Объект

Описывает поддерживаемые уровни безопасности устройства. Если этот атрибут не указан, устройство поддерживает только один уровень.

levels Множество

Необходимый.

Список доступных уровней безопасности, поддерживаемых устройством.

[ item, ... ] Объект

Уровень безопасности.

level_name Нить

Необходимый.

Внутреннее название уровня безопасности, используемое в командах и состояниях. Это название может быть неудобным для пользователя и используется во всех языках.

level_values Множество

Необходимый.

Содержит level_synonym и lang .

[ item, ... ] Объект

Синоним уровня для заданного языка. Для обеспечения резервного языка требуется хотя бы один элемент со значением lang , равным en .

level_synonym Множество

Необходимый.

Удобные названия уровней на каждом поддерживаемом языке. Первый элемент считается каноническим.

[ item, ... ] Нить

Имя-синоним. Для обеспечения резервного языка требуется хотя бы один элемент со lang en .

lang Нить

Необходимый.

Код языка для синонимов уровня. См. раздел «Поддерживаемые языки» .

ordered Булевое значение

Необходимый.

Если установлено значение true, применяется дополнительная грамматика для логики увеличения/уменьшения в порядке, указанном в массиве уровней. Например, запрос «Окей, Google, увеличь мой уровень безопасности на 1» приводит к тому, что Ассистент определяет текущий уровень безопасности и увеличивает его на единицу. Если установлено значение false, дополнительная грамматика для логики увеличения/уменьшения не поддерживается.

Примеры

Система безопасности с двумя различными уровнями защиты

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

СОСТОЯНИЯ УСТРОЙСТВА

Сущности с этой характеристикой могут сообщать о следующих состояниях в рамках операции QUERY . Подробнее об обработке намерений QUERY см. в разделе Выполнение намерений .

Штаты Тип Описание
isArmed Булевое значение

Необходимый.

Указывает, находится ли устройство в данный момент под охраной.

currentArmLevel Нить

Необходимый.

Обязательно, если указан атрибут availableArmLevels . Если существует несколько уровней безопасности, указывается имя текущего уровня безопасности.

exitAllowance Целое число

Указывает время в секундах, по истечении которого пользователь должен покинуть приложение, прежде чем currentArmLevel вступит в силу.

Примеры

Система безопасности, которая сообщает о различных уровнях вооружения

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

КОМАНДЫ устройства

Устройства с этой функцией могут реагировать на следующие команды в рамках операции EXECUTE . Подробнее об обработке намерений EXECUTE см. в разделе «Выполнение намерений» .

action.devices.commands.ArmDisarm

Установите уровень сигнала тревоги этого устройства.

Параметры

Полезная нагрузка содержит одно из следующего:

Отменить операцию постановки или снятия с охраны

Параметры Тип Описание
followUpToken Нить

Предоставленный Google токен для последующего ответа.

arm Булевое значение

Необходимый.

True, если команда — поставить систему на охрану. False — снять с охраны.

cancel Булевое значение

Необходимый.

Истина, когда команда отменяет значение arm .

Постановка или снятие устройства с охраны с возможностью выбора уровня безопасности.

Параметры Тип Описание
followUpToken Нить

Предоставленный Google токен для последующего ответа.

arm Булевое значение

Необходимый.

True, если команда — поставить систему на охрану. False — снять с охраны.

armLevel Нить

level_name для постановки на охрану.

Примеры

Поставьте систему на охрану

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

Установите систему на уровень охраны L1

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

Отменить операцию постановки на охрану

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

Произошла ошибка при постановке или снятии устройства с охраны.

Поддерживаемые значения:

alreadyInState
deviceTampered
passphraseIncorrect
pinIncorrect
securityRestriction
tooManyFailedAttempts
userCancelled

ОШИБКИ устройства

Полный список ошибок и исключений см.