Схема признаков управления сетью умного дома

action.devices.traits.NetworkControl — эта черта принадлежит устройствам, которые поддерживают передачу сетевых данных и выполнение конкретных сетевых операций.

АТРИБУТЫ устройства

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

Атрибуты Тип Описание
supportsEnablingGuestNetwork логическое значение

(По умолчанию: false )

Установите значение true, если гостевая сеть может быть включена.

supportsDisablingGuestNetwork логическое значение

(По умолчанию: false )

Установите значение true, если гостевую сеть можно отключить.

supportsGettingGuestNetworkPassword логическое значение

(По умолчанию: false )

Установите значение true, если пароль гостевой сети можно получить с помощью команды GetGuestNetworkPassword .

networkProfiles Множество

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

[ item, ... ] Нить

Имя сетевого профиля, представляющего группу связанных устройств.

supportsEnablingNetworkProfile логическое значение

(По умолчанию: "false" )

Установите значение true, если сетевые профили можно включить.

supportsDisablingNetworkProfile логическое значение

(По умолчанию: "false" )

Установите значение true, если сетевые профили можно отключить.

supportsNetworkDownloadSpeedTest логическое значение

(По умолчанию: false )

Установите значение true, если можно запустить тест скорости загрузки.

supportsNetworkUploadSpeedTest логическое значение

(По умолчанию: false )

Установите значение true, если можно запустить тест скорости загрузки.

Примеры

Сетевое устройство, поддерживающее гостевую сеть, профили и тест скорости.

{
  "supportsEnablingGuestNetwork": true,
  "supportsDisablingGuestNetwork": true,
  "supportsEnablingNetworkProfile": true,
  "supportsDisablingNetworkProfile": true,
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true,
  "supportsGettingGuestNetworkPassword": true,
  "networkProfiles": [
    "Kids"
  ]
}

СОСТОЯНИЯ устройства

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

состояния Тип Описание
networkEnabled логическое значение

Включена ли основная сеть.

networkSettings Объект

Содержит SSID основной сети.

ssid Нить

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

SSID сети.

guestNetworkEnabled логическое значение

Включена ли гостевая сеть.

guestNetworkSettings Объект

Содержит SSID гостевой сети.

ssid Нить

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

SSID сети.

numConnectedDevices Целое число

Количество устройств, подключенных к сети.

networkUsageMB Число

Использование сети в МБ (мегабайтах). Использование сети находится в пределах текущего расчетного периода, что может быть полезно для отслеживания ограничения использования сети расчетного периода.

networkUsageLimitMB Число

Лимит использования сети в МБ (мегабайтах). Лимит использования сети находится в пределах текущего расчетного периода.

networkUsageUnlimited логическое значение

Является ли использование сети неограниченным. Состояние устройства networkUsageLimitMB будет игнорироваться, если для него установлено значение true.

lastNetworkDownloadSpeedTest Объект

Содержит результаты последнего теста скорости загрузки по сети.

downloadSpeedMbps Число

Скорость загрузки в Мбит/с (мегабитах в секунду) последнего теста скорости сети.

unixTimestampSec Целое число

Временная метка Unix (количество секунд с начала эпохи Unix), когда был выполнен последний тест скорости загрузки по сети.

status Нить

Указывает, был ли последний тест скорости загрузки по сети успешным или неудачным.

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

SUCCESS
FAILURE
lastNetworkUploadSpeedTest Объект

Содержит результаты последнего теста скорости загрузки сети.

uploadSpeedMbps Число

Скорость загрузки в Мбит/с (мегабитах в секунду) по результатам последнего теста скорости сети.

unixTimestampSec Целое число

Временная метка Unix (количество секунд с начала эпохи Unix), когда был выполнен последний тест скорости загрузки сети.

status Нить

Указывает, был ли последний тест скорости загрузки сети успешным или неудачным.

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

SUCCESS
FAILURE
networkSpeedTestInProgress логическое значение

(По умолчанию: false )

Проводится ли в данный момент тест скорости.

networkProfilesState Объект

Состояние сетевых профилей. Этот объект верхнего уровня должен содержать пары ключ-значение, где ключом является имя одного из сетевых профилей, перечисленных в атрибуте networkProfiles , а значением должно быть соответствующее состояние этого профиля.

<string> Объект

Объект, хранящий состояние отдельного профиля сети. Ценность ключ должен быть именем одного из сетевых профилей в атрибуте networkProfiles .

enabled логическое значение

Текущее включенное/отключенное состояние сетевого профиля.

Примеры

Устройство с активной сетью.

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "guestNetworkSettings": {
    "ssid": "home-network-123-guest"
  },
  "numConnectedDevices": 4,
  "networkUsageMB": 100.8
}

Устройство с активной сетью и результатами теста скорости.

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "guestNetworkSettings": {
    "ssid": "home-network-123-guest"
  },
  "numConnectedDevices": 4,
  "networkUsageMB": 100.8,
  "lastNetworkDownloadSpeedTest": {
    "downloadSpeedMbps": 159.8,
    "unixTimestampSec": 1563215576,
    "status": "SUCCESS"
  },
  "lastNetworkUploadSpeedTest": {
    "uploadSpeedMbps": 64.1,
    "unixTimestampSec": 1563215576,
    "status": "SUCCESS"
  }
}

Устройство с активной сетью и тестированием скорости.

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "guestNetworkSettings": {
    "ssid": "home-network-123-guest"
  },
  "numConnectedDevices": 4,
  "networkUsageMB": 100.8,
  "networkSpeedTestInProgress": true
}

Устройство с отключенным сетевым профилем «дети».

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "networkProfilesState": {
    "parents": {
      "enabled": true
    },
    "kids": {
      "enabled": false
    }
  }
}

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

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

action.devices.commands.EnableDisableGuestNetwork

Включите или отключите гостевую сеть. Необходимо использовать вторичную проверку пользователя с помощью PIN-кода. Домашнюю безопасность пользователя можно считать затронутой, если с помощью этих команд отключены другие устройства безопасности.

Для этой команды требуются следующие атрибуты:
{
  "supportsEnablingGuestNetwork": true,
  "supportsDisablingGuestNetwork": true
}

Параметры

Параметры Тип Описание
enable логическое значение

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

True, чтобы включить гостевую сеть, false, чтобы отключить гостевую сеть.

Примеры

Включите гостевую сеть.

{
  "command": "action.devices.commands.EnableDisableGuestNetwork",
  "params": {
    "enable": true
  }
}

action.devices.commands.EnableDisableNetworkProfile

Включите или отключите сетевой профиль. Необходимо использовать вторичную проверку пользователя с помощью PIN-кода. Домашнюю безопасность пользователя можно считать затронутой, если с помощью этих команд отключены другие устройства безопасности.

Для этой команды требуются следующие атрибуты:
{
  "supportsEnablingNetworkProfile": true,
  "supportsDisablingNetworkProfile": true
}

Параметры

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

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

Имя профиля из атрибута networkProfiles .

enable логическое значение

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

True, чтобы включить профиль, false, чтобы отключить профиль.

Примеры

Отключите интернет детям.

{
  "command": "action.devices.commands.EnableDisableNetworkProfile",
  "params": {
    "profile": "Kids",
    "enable": false
  }
}

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

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

networkProfileNotRecognized

action.devices.commands.GetGuestNetworkPassword

Получите пароль гостевой сети. Необходимо использовать вторичную проверку пользователя с помощью PIN-кода. Домашнюю безопасность пользователя можно считать затронутой, если с помощью этих команд отключены другие устройства безопасности.

Для этой команды требуются следующие атрибуты:
{
  "supportsGettingGuestNetworkPassword": true
}

Параметры

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

Нет свойств

Примеры

Покажите мой гостевой пароль Wi-Fi.

{
  "command": "action.devices.commands.GetGuestNetworkPassword",
  "params": {}
}

Полученные результаты

Полученные результаты Тип Описание
guestNetworkPassword Нить

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

Пароль для гостевой сети.

Примеры

Покажите мой гостевой пароль Wi-Fi.

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

Проверьте скорость загрузки и выгрузки по сети.

Для этой команды требуются следующие атрибуты:
{
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true
}

Параметры

Параметры Тип Описание
testDownloadSpeed логическое значение

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

Указывает, следует ли тестировать скорость загрузки.

testUploadSpeed логическое значение

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

Указывает, следует ли тестировать скорость загрузки.

followUpToken Нить

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

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

Примеры

Какая скорость Wi-Fi?

{
  "command": "action.devices.commands.TestNetworkSpeed",
  "params": {
    "testDownloadSpeed": true,
    "testUploadSpeed": true,
    "followUpToken": "123"
  }
}

Произошла ошибка при попытке запросить проверку скорости.

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

networkSpeedTestInProgress

Последующие ответы

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

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

Успех: networkDownloadSpeedMbps.

Поля Тип Описание
followUpToken Нить

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

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

status Нить

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

Результат запроса.

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

SUCCESS
networkDownloadSpeedMbps Число

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

Скорость загрузки по сети измеряется в мегабитах в секунду.

Успех: networkUploadSpeedMbps.

Поля Тип Описание
followUpToken Нить

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

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

status Нить

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

Результат запроса.

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

SUCCESS
networkUploadSpeedMbps Число

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

Скорость загрузки в сеть измеряется в мегабитах в секунду.

Успех: networkDownloadSpeedMbps и networkUploadSpeedMbps.

Поля Тип Описание
followUpToken Нить

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

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

status Нить

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

Результат запроса.

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

SUCCESS
networkDownloadSpeedMbps Число

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

Скорость загрузки по сети измеряется в мегабитах в секунду.

networkUploadSpeedMbps Число

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

Скорость загрузки в сеть измеряется в мегабитах в секунду.

Отказ

Поля Тип Описание
followUpToken Нить

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

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

status Нить

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

Результат запроса.

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

FAILURE
errorCode Нить

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

Значением может быть любой код ошибки для этого признака, например, transientError .

Примеры

Какая скорость Wi-Fi? (последующий ответ)

{
  "NetworkControl": {
    "priority": 0,
    "followUpResponse": {
      "status": "SUCCESS",
      "networkDownloadSpeedMbps": 23.3,
      "networkUploadSpeedMbps": 10.2,
      "followUpToken": "1234"
    }
  }
}

Какая скорость Wi-Fi? (последующий ответ с неудачей)

{
  "NetworkControl": {
    "priority": 0,
    "followUpResponse": {
      "status": "FAILURE",
      "errorCode": "transientError",
      "followUpToken": "1234"
    }
  }
}

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

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

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

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

networkProfileNotRecognized

Произошла ошибка при попытке запросить проверку скорости.

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

networkSpeedTestInProgress