Smart Home NetworkControl Trait-Schema

action.devices.traits.NetworkControl – Dieses Attribut gehört zu Geräten, die das Melden von Netzwerkdaten und die Ausführung netzwerkspezifischer Vorgänge unterstützen.

Geräteattribute

Geräte mit diesem Merkmal können die folgenden Attribute im Rahmen des Vorgangs SYNC melden. Weitere Informationen zur Verarbeitung von SYNC-Intents finden Sie unter Intent-Ausführung.

Attribute Typ Beschreibung
supportsEnablingGuestNetwork Boolesch

(Standardeinstellung: false)

Wird auf „true“ gesetzt, wenn das Gastnetzwerk aktiviert werden kann.

supportsDisablingGuestNetwork Boolesch

(Standardeinstellung: false)

Wird auf „true“ gesetzt, wenn das Gastnetzwerk deaktiviert werden kann.

supportsGettingGuestNetworkPassword Boolesch

(Standardeinstellung: false)

Auf „true“ setzen, wenn das Passwort für das Gastnetzwerk über den Befehl GetGuestNetworkPassword abgerufen werden kann.

networkProfiles Array

Gibt die unterstützten Namen von Netzwerkprofilen an.

[item, ...] String

Name eines Netzwerkprofils, das eine Gruppe verwandter Geräte darstellt.

supportsEnablingNetworkProfile Boolesch

(Standardeinstellung: "false")

Auf „true“ setzen, wenn Netzwerkprofile aktiviert werden können.

supportsDisablingNetworkProfile Boolesch

(Standardeinstellung: "false")

Wird auf „true“ gesetzt, wenn Netzwerkprofile deaktiviert werden können.

supportsNetworkDownloadSpeedTest Boolesch

(Standardeinstellung: false)

Wird auf „true“ gesetzt, wenn ein Test der Downloadgeschwindigkeit ausgeführt werden kann.

supportsNetworkUploadSpeedTest Boolesch

(Standardeinstellung: false)

Wird auf „true“ gesetzt, wenn ein Test der Uploadgeschwindigkeit ausgeführt werden kann.

Beispiele

Netzwerkgerät, das Gastnetzwerke, Profile und Geschwindigkeitstests unterstützt.

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

Gerätestatus

Für Entitäten mit diesem Merkmal können im Rahmen des Vorgangs QUERY die folgenden Status gemeldet werden. Weitere Informationen zum Umgang mit QUERY-Intents finden Sie unter Intent-Fulfillment.

Bundesstaaten Typ Beschreibung
networkEnabled Boolesch

Gibt an, ob das Hauptnetzwerk aktiviert ist.

networkSettings Objekt

Enthält die SSID des Hauptnetzwerks.

ssid String

Erforderlich.

Netzwerk-SSID.

guestNetworkEnabled Boolesch

Gibt an, ob das Gastnetzwerk aktiviert ist.

guestNetworkSettings Objekt

Enthält die SSID des Gastnetzwerks.

ssid String

Erforderlich.

Netzwerk-SSID.

numConnectedDevices Ganzzahl

Die Anzahl der Geräte, die mit dem Netzwerk verbunden sind.

networkUsageMB Number

Die Netzwerknutzung in MB (Megabyte). Die Netzwerknutzung liegt innerhalb des aktuellen Abrechnungszeitraums. Das kann nützlich sein, um die Netzwerknutzung im Hinblick auf ein Limit für den Abrechnungszeitraum zu überwachen.

networkUsageLimitMB Number

Das Limit für die Netzwerkauslastung in MB (Megabyte). Das Limit für die Netzwerkauslastung liegt innerhalb des aktuellen Abrechnungszeitraums.

networkUsageUnlimited Boolesch

Gibt an, ob die Netzwerknutzung unbegrenzt ist. Der Gerätestatus „networkUsageLimitMB“ wird ignoriert, wenn dieser Wert auf „true“ gesetzt ist.

lastNetworkDownloadSpeedTest Objekt

Enthält die Ergebnisse des letzten Tests der Netzwerk-Downloadgeschwindigkeit.

downloadSpeedMbps Number

Die Downloadgeschwindigkeit in Mbit/s (Megabit pro Sekunde) des letzten Netzwerkgeschwindigkeitstests.

unixTimestampSec Ganzzahl

Der Unix-Zeitstempel (Anzahl der Sekunden seit der Unix-Epoche) des letzten Tests der Netzwerk-Downloadgeschwindigkeit.

status String

Gibt an, ob der letzte Test der Netzwerk-Downloadgeschwindigkeit erfolgreich war oder fehlgeschlagen ist.

Unterstützte Werte:

SUCCESS
FAILURE
lastNetworkUploadSpeedTest Objekt

Enthält die Ergebnisse des letzten Tests der Netzwerk-Uploadgeschwindigkeit.

uploadSpeedMbps Number

Die Uploadgeschwindigkeit in Mbit/s (Megabit pro Sekunde) des letzten Netzwerkgeschwindigkeitstests.

unixTimestampSec Ganzzahl

Der Unix-Zeitstempel (Anzahl der Sekunden seit der Unix-Epoche) des letzten Tests der Netzwerk-Uploadgeschwindigkeit.

status String

Gibt an, ob der letzte Test der Netzwerk-Uploadgeschwindigkeit erfolgreich war oder fehlgeschlagen ist.

Unterstützte Werte:

SUCCESS
FAILURE
networkSpeedTestInProgress Boolesch

(Standardeinstellung: false)

Gibt an, ob derzeit ein Geschwindigkeitstest ausgeführt wird.

networkProfilesState Objekt

Status für Netzwerkprofile. Dieses Objekt der obersten Ebene sollte Schlüssel/Wert-Paare enthalten, wobei der Schlüssel der Name eines der im Attribut networkProfiles aufgeführten Netzwerkprofile und der Wert der entsprechende Status dieses Profils sein sollte.

<string> Objekt

Ein Objekt, in dem der Status eines einzelnen Netzwerkprofils gespeichert wird. Der Wert des -Schlüssels sollte der Name eines der Netzwerkprofile im Attribut networkProfiles sein.

enabled Boolesch

Der aktuelle aktivierte/deaktivierte Status des Netzwerkprofils.

Beispiele

Gerät mit einem aktiven Netzwerk

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

Gerät mit aktivem Netzwerk und Ergebnissen des Geschwindigkeitstests

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

Gerät mit einem aktiven Netzwerk- und Geschwindigkeitstest.

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

Gerät, auf dem das Netzwerkprofil „Kinder“ deaktiviert ist.

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

GERÄTEBEFEHLE

Geräte mit diesem Merkmal reagieren möglicherweise auf die folgenden Befehle im Rahmen des Vorgangs EXECUTE. Weitere Informationen zur Verarbeitung von EXECUTE-Intents finden Sie unter Intent-Ausführung.

action.devices.commands.EnableDisableGuestNetwork

Das Gastnetzwerk kann aktiviert oder deaktiviert werden. Dazu ist eine sekundäre Nutzerbestätigung mit PIN erforderlich. Die Sicherheit des Zuhauses eines Nutzers kann beeinträchtigt werden, wenn andere Sicherheitsgeräte über diese Befehle deaktiviert werden.

Für diesen Befehl sind die folgenden Attribute erforderlich:
{
  "supportsEnablingGuestNetwork": true,
  "supportsDisablingGuestNetwork": true
}

Parameter

Parameter Typ Beschreibung
enable Boolesch

Erforderlich.

„True“, um das Gastnetzwerk zu aktivieren, „false“, um das Gastnetzwerk zu deaktivieren.

Beispiele

Aktivieren Sie das Gastnetzwerk.

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

action.devices.commands.EnableDisableNetworkProfile

Ein Netzwerkprofil aktivieren oder deaktivieren. Die sekundäre Nutzerbestätigung mit PIN muss verwendet werden. Die Sicherheit des Zuhauses eines Nutzers kann als beeinträchtigt angesehen werden, wenn andere Sicherheitsgeräte über diese Befehle deaktiviert werden.

Für diesen Befehl sind die folgenden Attribute erforderlich:
{
  "supportsEnablingNetworkProfile": true,
  "supportsDisablingNetworkProfile": true
}

Parameter

Parameter Typ Beschreibung
profile String

Erforderlich.

Der Profilname aus dem Attribut networkProfiles.

enable Boolesch

Erforderlich.

„True“, um das Profil zu aktivieren, „false“, um das Profil zu deaktivieren.

Beispiele

Das Internet für die Kinder deaktivieren:

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

Beim Versuch, das angegebene Netzwerkprofil zu steuern, ist ein Fehler aufgetreten.

Unterstützte Werte:

networkProfileNotRecognized

action.devices.commands.GetGuestNetworkPassword

Das Passwort für das Gastnetzwerk abrufen Die sekundäre Nutzerbestätigung mit PIN muss verwendet werden. Die Sicherheit eines Nutzers kann als beeinträchtigt angesehen werden, wenn andere Sicherheitsgeräte über diese Befehle deaktiviert werden.

Für diesen Befehl sind die folgenden Attribute erforderlich:
{
  "supportsGettingGuestNetworkPassword": true
}

Parameter

Parameter Typ Beschreibung

Keine Attribute

Beispiele

Zeig mir mein Passwort für das Gast-WLAN.

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

Ergebnisse

Ergebnisse Typ Beschreibung
guestNetworkPassword String

Erforderlich.

Das Passwort für das Gastnetzwerk.

Beispiele

Zeig mir mein Passwort für das Gast-WLAN.

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

Testen Sie die Download- und Upload-Geschwindigkeit des Netzwerks.

Für diesen Befehl sind die folgenden Attribute erforderlich:
{
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true
}

Parameter

Parameter Typ Beschreibung
testDownloadSpeed Boolesch

Erforderlich.

Gibt an, ob die Downloadgeschwindigkeit getestet werden soll.

testUploadSpeed Boolesch

Erforderlich.

Gibt an, ob die Uploadgeschwindigkeit getestet werden soll.

followUpToken String

Erforderlich.

Von Google bereitgestelltes Token für die Follow-up-Antwort.

Beispiele

Wie hoch ist die WLAN-Geschwindigkeit?

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

Beim Anfordern eines Geschwindigkeitstests ist ein Fehler aufgetreten.

Unterstützte Werte:

networkSpeedTestInProgress

Folgeantworten

Geräte mit diesem Merkmal können die folgende Nutzlast für die Folgeantwort als Teil des EXECUTE-Vorgangs zurückgeben. Weitere Informationen zum Implementieren von Folgeantworten finden Sie unter Benachrichtigungen für Smart-Home-Aktionen.

Die Nutzlast enthält eines der folgenden Elemente:

Erfolg: networkDownloadSpeedMbps

Felder Typ Beschreibung
followUpToken String

Erforderlich.

Das in der ursprünglichen EXECUTE-Anfrage bereitgestellte Token.

status String

Erforderlich.

Ergebnis der Anfrage.

Unterstützte Werte:

SUCCESS
networkDownloadSpeedMbps Number

Erforderlich.

Die Netzwerk-Downloadgeschwindigkeit in Megabit pro Sekunde.

Erfolg: networkUploadSpeedMbps

Felder Typ Beschreibung
followUpToken String

Erforderlich.

Das in der ursprünglichen EXECUTE-Anfrage bereitgestellte Token.

status String

Erforderlich.

Ergebnis der Anfrage.

Unterstützte Werte:

SUCCESS
networkUploadSpeedMbps Number

Erforderlich.

Die Netzwerk-Uploadgeschwindigkeit in Megabit pro Sekunde.

Erfolg: networkDownloadSpeedMbps und networkUploadSpeedMbps

Felder Typ Beschreibung
followUpToken String

Erforderlich.

Das in der ursprünglichen EXECUTE-Anfrage bereitgestellte Token.

status String

Erforderlich.

Ergebnis der Anfrage.

Unterstützte Werte:

SUCCESS
networkDownloadSpeedMbps Number

Erforderlich.

Die Netzwerk-Downloadgeschwindigkeit in Megabit pro Sekunde.

networkUploadSpeedMbps Number

Erforderlich.

Die Netzwerk-Uploadgeschwindigkeit in Megabit pro Sekunde.

Fehler

Felder Typ Beschreibung
followUpToken String

Erforderlich.

Das in der ursprünglichen EXECUTE-Anfrage bereitgestellte Token.

status String

Erforderlich.

Ergebnis der Anfrage.

Unterstützte Werte:

FAILURE
errorCode String

Erforderlich.

Der Wert kann ein beliebiger Fehlercode für dieses Attribut sein, z. B. transientError.

Beispiele

Wie hoch ist die WLAN-Geschwindigkeit? (Folgeantwort)

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

Wie hoch ist die WLAN-Geschwindigkeit? (Folgeantwort mit Fehler)

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

GERÄTEFEHLER

Vollständige Liste der Fehler und Ausnahmen

Beim Versuch, das angegebene Netzwerkprofil zu steuern, ist ein Fehler aufgetreten.

Unterstützte Werte:

networkProfileNotRecognized

Beim Anfordern eines Geschwindigkeitstests ist ein Fehler aufgetreten.

Unterstützte Werte:

networkSpeedTestInProgress