Схема черты Smart Home NetworkControl

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> Объект

Объект, хранящий состояние отдельного сетевого профиля. Значение key должно быть именем одного из сетевых профилей в атрибуте 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