Schemat cechy Smart Home NetworkControl

action.devices.traits.NetworkControl – ta cecha należy do urządzeń, które obsługują raportowanie danych sieciowych i wykonywanie operacji specyficznych dla sieci.

ATRYBUTY urządzenia

Urządzenia z tą cechą mogą zgłaszać te atrybuty w ramach operacji SYNC. Więcej informacji o obsłudze intencji SYNC znajdziesz w artykule Realizacja intencji.

Atrybuty Typ Opis
supportsEnablingGuestNetwork Wartość logiczna

(Domyślnie: false)

Wartość true, jeśli sieć dla gości może być włączona.

supportsDisablingGuestNetwork Wartość logiczna

(Domyślnie: false)

Ustaw wartość „true”, jeśli sieć dla gości można wyłączyć.

supportsGettingGuestNetworkPassword Wartość logiczna

(Domyślnie: false)

Ustaw wartość „true”, jeśli hasło do sieci dla gości można uzyskać za pomocą polecenia GetGuestNetworkPassword.

networkProfiles Tablica

Wskazuje nazwy obsługiwanych profili sieciowych.

[item, ...] String

Nazwa profilu sieciowego reprezentującego grupę powiązanych urządzeń.

supportsEnablingNetworkProfile Wartość logiczna

(Domyślnie: "false")

Wartość true, jeśli można włączyć profile sieciowe.

supportsDisablingNetworkProfile Wartość logiczna

(Domyślnie: "false")

Jeśli profile sieciowe można wyłączyć, ustaw wartość „true”.

supportsNetworkDownloadSpeedTest Wartość logiczna

(Domyślnie: false)

Jeśli można uruchomić test szybkości pobierania, ustaw wartość „true”.

supportsNetworkUploadSpeedTest Wartość logiczna

(Domyślnie: false)

Ustaw wartość „true”, jeśli można uruchomić test szybkości przesyłania.

Przykłady

Urządzenie sieciowe obsługujące sieć dla gości, profile i test szybkości.

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

Stany urządzenia

Podmioty z tą cechą mogą zgłaszać te stany w ramach operacji QUERY. Więcej informacji o obsłudze intencji QUERY znajdziesz w artykule Realizacja intencji.

Stany Typ Opis
networkEnabled Wartość logiczna

Określa, czy sieć główna jest włączona.

networkSettings Obiekt

Zawiera identyfikator SSID głównej sieci.

ssid String

Wymagane.

Identyfikator SSID sieci.

guestNetworkEnabled Wartość logiczna

Czy sieć dla gości jest włączona.

guestNetworkSettings Obiekt

Zawiera identyfikator SSID sieci dla gości.

ssid String

Wymagane.

Identyfikator SSID sieci.

numConnectedDevices Liczba całkowita

Liczba urządzeń połączonych z siecią.

networkUsageMB Number

Wykorzystanie sieci w MB (megabajtach). Użycie sieci jest podane w bieżącym okresie rozliczeniowym, co może być przydatne do monitorowania w odniesieniu do limitu wykorzystania sieci w okresie rozliczeniowym.

networkUsageLimitMB Number

Limit wykorzystania sieci w MB (megabajtach). Limit użycia sieci obowiązuje w bieżącym okresie rozliczeniowym.

networkUsageUnlimited Wartość logiczna

Określa, czy użycie sieci jest nieograniczone. Jeśli ta wartość jest ustawiona na „true”, stan urządzenia networkUsageLimitMB jest ignorowany.

lastNetworkDownloadSpeedTest Obiekt

Zawiera wyniki ostatniego testu szybkości pobierania w sieci.

downloadSpeedMbps Number

Szybkość pobierania w Mb/s (megabitach na sekundę) z ostatniego testu szybkości sieci.

unixTimestampSec Liczba całkowita

Sygnatura czasowa w formacie Unix (liczba sekund od początku epoki systemu Unix) ostatniego testu szybkości pobierania w sieci.

status String

Wskazuje, czy ostatni test szybkości pobierania w sieci zakończył się powodzeniem.

Obsługiwane wartości:

SUCCESS
FAILURE
lastNetworkUploadSpeedTest Obiekt

Zawiera wyniki ostatniego testu szybkości wysyłania w sieci.

uploadSpeedMbps Number

Szybkość wysyłania w Mb/s (megabitach na sekundę) ostatniego testu szybkości sieci.

unixTimestampSec Liczba całkowita

Sygnatura czasowa systemu Unix (liczba sekund od epoki systemu Unix) ostatniego testu szybkości wysyłania w sieci.

status String

Wskazuje, czy ostatni test szybkości wysyłania w sieci zakończył się powodzeniem.

Obsługiwane wartości:

SUCCESS
FAILURE
networkSpeedTestInProgress Wartość logiczna

(Domyślnie: false)

Określa, czy test szybkości jest obecnie uruchomiony.

networkProfilesState Obiekt

Stan profili sieciowych. Ten obiekt najwyższego poziomu powinien zawierać pary klucz-wartość, gdzie kluczem jest nazwa jednego z profili sieciowych wymienionych w atrybucie networkProfiles, a wartością – odpowiedni stan tego profilu.

<string> Obiekt

Obiekt przechowujący stan poszczególnych profili sieciowych. Wartością klucza powinna być nazwa jednego z profili sieciowych w atrybucie networkProfiles.

enabled Wartość logiczna

Bieżący stan włączenia lub wyłączenia profilu sieci.

Przykłady

Urządzenie z aktywną siecią.

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

Urządzenie z aktywną siecią i wynikami testu szybkości.

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

Urządzenie z aktywną siecią i trwającym testem szybkości.

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

Urządzenie z wyłączonym profilem sieciowym „dzieci”.

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

Polecenia dotyczące urządzenia

Urządzenia z tą cechą mogą odpowiadać na te polecenia w ramach operacji EXECUTE. Więcej informacji o obsłudze intencji EXECUTE znajdziesz w artykule Realizacja intencji.

action.devices.commands.EnableDisableGuestNetwork

Włączanie i wyłączanie sieci dla gości. Musi być używana dodatkowa weryfikacja użytkownika za pomocą kodu PIN. Bezpieczeństwo domu użytkownika może być zagrożone, jeśli inne urządzenia zabezpieczające zostaną wyłączone za pomocą tych poleceń.

To polecenie wymaga tych atrybutów:
{
  "supportsEnablingGuestNetwork": true,
  "supportsDisablingGuestNetwork": true
}

Parametry

Parametry Typ Opis
enable Wartość logiczna

Wymagane.

Wartość „true” włącza sieć dla gości, a wartość „false” ją wyłącza.

Przykłady

Włącz sieć dla gości.

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

action.devices.commands.EnableDisableNetworkProfile

Włączanie i wyłączanie profilu sieciowego. Musi być używana dodatkowa weryfikacja użytkownika za pomocą kodu PIN. Bezpieczeństwo domu użytkownika może być zagrożone, jeśli inne urządzenia zabezpieczające zostaną wyłączone za pomocą tych poleceń.

To polecenie wymaga tych atrybutów:
{
  "supportsEnablingNetworkProfile": true,
  "supportsDisablingNetworkProfile": true
}

Parametry

Parametry Typ Opis
profile String

Wymagane.

Nazwa profilu z atrybutu networkProfiles.

enable Wartość logiczna

Wymagane.

Wartość „true” (prawda) włącza profil, a wartość „false” (fałsz) go wyłącza.

Przykłady

Wyłącz internet dla dzieci.

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

Podczas próby sterowania danym profilem sieci wystąpił błąd.

Obsługiwane wartości:

networkProfileNotRecognized

action.devices.commands.GetGuestNetworkPassword

Uzyskiwanie hasła do sieci dla gości. Musi być użyta dodatkowa weryfikacja użytkownika za pomocą kodu PIN. Bezpieczeństwo domu użytkownika może być zagrożone, jeśli inne urządzenia zabezpieczające zostaną wyłączone za pomocą tych poleceń.

To polecenie wymaga tych atrybutów:
{
  "supportsGettingGuestNetworkPassword": true
}

Parametry

Parametry Typ Opis

Brak właściwości

Przykłady

Pokaż hasło do Wi-Fi dla gości.

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

Wyniki

Wyniki Typ Opis
guestNetworkPassword String

Wymagane.

Hasło do sieci dla gości.

Przykłady

Pokaż hasło do Wi-Fi dla gości.

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

Sprawdź szybkość pobierania i wysyłania danych w sieci.

To polecenie wymaga tych atrybutów:
{
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true
}

Parametry

Parametry Typ Opis
testDownloadSpeed Wartość logiczna

Wymagane.

Wskazuje, czy należy przetestować szybkość pobierania.

testUploadSpeed Wartość logiczna

Wymagane.

Wskazuje, czy należy przetestować szybkość przesyłania.

followUpToken String

Wymagane.

Token dostarczony przez Google na potrzeby odpowiedzi uzupełniającej.

Przykłady

Jaka jest prędkość Wi-Fi?

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

Podczas próby przesłania prośby o przeprowadzenie testu szybkości wystąpił błąd.

Obsługiwane wartości:

networkSpeedTestInProgress

Odpowiedzi uzupełniające

Urządzenia z tą cechą mogą zwracać ten ładunek odpowiedzi uzupełniającej w ramach operacji EXECUTE. Więcej informacji o wdrażaniu odpowiedzi uzupełniających znajdziesz w artykule Powiadomienia dotyczące działań związanych z inteligentnym domem.

Ładunek zawiera jeden z tych elementów:

Success: networkDownloadSpeedMbps

Pola Typ Opis
followUpToken String

Wymagane.

Token podany w pierwotnym żądaniu EXECUTE.

status String

Wymagane.

Wynik żądania.

Obsługiwane wartości:

SUCCESS
networkDownloadSpeedMbps Number

Wymagane.

Szybkość pobierania danych z sieci mierzona w megabitach na sekundę.

Success: networkUploadSpeedMbps

Pola Typ Opis
followUpToken String

Wymagane.

Token podany w pierwotnym żądaniu EXECUTE.

status String

Wymagane.

Wynik żądania.

Obsługiwane wartości:

SUCCESS
networkUploadSpeedMbps Number

Wymagane.

Szybkość wysyłania w sieci mierzona w megabitach na sekundę.

Sukces: networkDownloadSpeedMbps i networkUploadSpeedMbps

Pola Typ Opis
followUpToken String

Wymagane.

Token podany w pierwotnym żądaniu EXECUTE.

status String

Wymagane.

Wynik żądania.

Obsługiwane wartości:

SUCCESS
networkDownloadSpeedMbps Number

Wymagane.

Szybkość pobierania danych z sieci mierzona w megabitach na sekundę.

networkUploadSpeedMbps Number

Wymagane.

Szybkość wysyłania w sieci mierzona w megabitach na sekundę.

Niepowodzenie

Pola Typ Opis
followUpToken String

Wymagane.

Token podany w pierwotnym żądaniu EXECUTE.

status String

Wymagane.

Wynik żądania.

Obsługiwane wartości:

FAILURE
errorCode String

Wymagane.

Wartość może być dowolnym kodem błędu dla tej cechy, np. transientError.

Przykłady

Jaka jest prędkość Wi-Fi? (odpowiedź uzupełniająca)

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

Jaka jest prędkość Wi-Fi? (odpowiedź uzupełniająca z informacją o niepowodzeniu)

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

BŁĘDY urządzenia

Zobacz pełną listę błędów i wyjątków.

Podczas próby sterowania danym profilem sieci wystąpił błąd.

Obsługiwane wartości:

networkProfileNotRecognized

Podczas próby przesłania prośby o przeprowadzenie testu szybkości wystąpił błąd.

Obsługiwane wartości:

networkSpeedTestInProgress