Schemat trait NetworkControl inteligentnego domu

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

Urządzenie ATTRIBUTES

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

Atrybuty Typ Opis
supportsEnablingGuestNetwork Wartość logiczna

(Domyślnie: false)

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

supportsDisablingGuestNetwork Wartość logiczna

(Domyślnie: false)

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

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 obsługiwane nazwy profili sieciowych.

[item, ...] String

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

supportsEnablingNetworkProfile Wartość logiczna

(Domyślnie: "false")

Ustaw wartość „true”, jeśli profile sieci można włączyć.

supportsDisablingNetworkProfile Wartość logiczna

(Domyślnie: "false")

Ustaw na „prawda”, jeśli profile sieci można wyłączyć.

supportsNetworkDownloadSpeedTest Wartość logiczna

(Domyślnie: false)

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

supportsNetworkUploadSpeedTest Wartość logiczna

(Domyślnie: false)

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

Przykłady

Urządzenie sieciowe, które obsługuje 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"
  ]
}

Urządzenie STATES

Encje z tą cechą mogą zgłaszać poniższe stany w ramach operacji QUERY. Więcej informacji o obsłudze intencji QUERY znajdziesz w artykule o realizacji intencji.

Stany Typ Opis
networkEnabled Wartość logiczna

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

networkSettings Obiekt

Zawiera identyfikator SSID sieci głównej.

ssid String

Wymagane.

Identyfikator SSID sieci.

guestNetworkEnabled Wartość logiczna

Określa, 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). Wykorzystanie sieci w bieżącym okresie rozliczeniowym może być przydatne do monitorowania limitu wykorzystania sieci w tym okresie.

networkUsageLimitMB Number

Limit użycia sieci w MB (megabajtach). Limit użycia sieci mieści się w bieżącym okresie rozliczeniowym.

networkUsageUnlimited Wartość logiczna

Określa, czy użycie sieci jest nieograniczone. Jeśli zasada ma wartość Prawda, stan urządzenia networkUsageLimitMB jest ignorowany.

lastNetworkDownloadSpeedTest Obiekt

Zawiera wyniki najnowszego testu szybkości pobierania w sieci.

downloadSpeedMbps Number

Szybkość pobierania w Mb/s (megabity na sekundę) w ostatnim teście szybkości sieci.

unixTimestampSec Liczba całkowita

Sygnatura czasowa uniksowej (liczba sekund od czasu uniksowego) czasu przeprowadzenia ostatniego testu szybkości pobierania w sieci.

status String

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

Obsługiwane wartości:

SUCCESS
FAILURE
lastNetworkUploadSpeedTest Obiekt

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

uploadSpeedMbps Number

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

unixTimestampSec Liczba całkowita

Sygnatura czasowa uniksowej (liczba sekund od czasu uniksowego) czasu przeprowadzenia ostatniego testu szybkości przesyłania w sieci.

status String

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

Obsługiwane wartości:

SUCCESS
FAILURE
networkSpeedTestInProgress Wartość logiczna

(Domyślnie: false)

Określa, czy obecnie trwa test szybkości.

networkProfilesState Obiekt

Stan profili sieci. Ten obiekt najwyższego poziomu powinien zawierać pary klucz-wartość, gdzie klucz to nazwa jednego z profili sieci wymienionych w atrybucie networkProfiles, a wartość powinna być odpowiednim stanem tego profilu.

<string> Obiekt

Obiekt przechowujący stan pojedynczego profilu sieci. Wartość klucza powinna być nazwą jednego z profili sieci w atrybucie networkProfiles.

enabled Wartość logiczna

Bieżący stan włączenia/wyłączenia profilu sieciowego.

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 wyniki 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 trwa test 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 „dla dzieci”.

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

CommandS na urządzeniu

Urządzenia z tą cechą mogą reagować na podane niżej polecenia w ramach operacji EXECUTE. Więcej informacji o obsłudze intencji EXECUTE znajdziesz w artykule o realizacji intencji.

action.devices.commands.EnableDisableGuestNetwork

Włącz lub wyłącz sieć dla gości. Należy użyć dodatkowej weryfikacji użytkownika za pomocą kodu PIN. Wyłączenie innych urządzeń zabezpieczających za pomocą tych poleceń może mieć wpływ na bezpieczeństwo domu użytkownika.

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

Parametry

Parametry Typ Opis
enable Wartość logiczna

Wymagane.

Prawda, aby włączyć sieć dla gości, false, aby wyłączyć sieć dla gości.

Przykłady

Włącz sieć dla gości.

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

action.devices.commands.EnableDisableNetworkProfile

Włącz lub wyłącz profil sieci. Należy użyć dodatkowej weryfikacji użytkownika za pomocą kodu PIN. Wyłączenie innych urządzeń zabezpieczających za pomocą tych poleceń może mieć wpływ na bezpieczeństwo domu użytkownika.

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.

Prawda, aby włączyć profil, false , aby go wyłączyć.

Przykłady

Wyłącz internet dla dzieci.

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

Podczas próby kontrolowania danego profilu sieci wystąpił błąd.

Obsługiwane wartości:

networkProfileNotRecognized

action.devices.commands.GetGuestNetworkPassword

Uzyskaj hasło do sieci dla gości. Należy użyć dodatkowej weryfikacji użytkownika za pomocą kodu PIN. Wyłączenie innych urządzeń zabezpieczających za pomocą tych poleceń może mieć wpływ na bezpieczeństwo domu użytkownika.

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

Parametry

Parametry Typ Opis

Brak właściwości

Przykłady

Pokaż moje 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ż moje hasło do Wi-Fi dla gości.

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

Sprawdź szybkość pobierania i przesyłania 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 odpowiedzi udostępniany przez Google.

Przykłady

Jaka jest prędkość Wi-Fi?

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

Podczas wysyłania prośby o test szybkości wystąpił błąd.

Obsługiwane wartości:

networkSpeedTestInProgress

Dalsze odpowiedzi

Urządzenia z tą cechą mogą zwracać następujący ładunek odpowiedzi w ramach operacji EXECUTE. Więcej informacji o implementowaniu dalszych odpowiedzi znajdziesz w artykule Powiadomienia o działaniach inteligentnego domu.

Ładunek zawiera jeden z tych elementów:

Udało się: networkDownloadSpeedMb/s

Pola Typ Opis
followUpToken String

Wymagane.

Token podany w pierwotnym żądaniu EXECUTE.

status String

Wymagane.

Rezultat żądania.

Obsługiwane wartości:

SUCCESS
networkDownloadSpeedMbps Number

Wymagane.

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

Udało się: networkUploadSpeedMb/s

Pola Typ Opis
followUpToken String

Wymagane.

Token podany w pierwotnym żądaniu EXECUTE.

status String

Wymagane.

Rezultat żądania.

Obsługiwane wartości:

SUCCESS
networkUploadSpeedMbps Number

Wymagane.

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

Udało się: networkDownloadSpeedMb/s i networkUploadSpeedMb/s

Pola Typ Opis
followUpToken String

Wymagane.

Token podany w pierwotnym żądaniu EXECUTE.

status String

Wymagane.

Rezultat żądania.

Obsługiwane wartości:

SUCCESS
networkDownloadSpeedMbps Number

Wymagane.

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

networkUploadSpeedMbps Number

Wymagane.

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

Niepowodzenie

Pola Typ Opis
followUpToken String

Wymagane.

Token podany w pierwotnym żądaniu EXECUTE.

status String

Wymagane.

Rezultat żądania.

Obsługiwane wartości:

FAILURE
errorCode String

Wymagane.

Wartością może być dowolny kod błędu dla tej cechy, np. transientError.

Przykłady

Jaka jest prędkość Wi-Fi? (dalsza odpowiedź)

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

Jaka jest prędkość Wi-Fi? (dalsza odpowiedź z niepowodzeniem)

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

Urządzenie ERRORS

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

Podczas próby kontrolowania danego profilu sieci wystąpił błąd.

Obsługiwane wartości:

networkProfileNotRecognized

Podczas wysyłania prośby o test szybkości wystąpił błąd.

Obsługiwane wartości:

networkSpeedTestInProgress