Schema der Smart-Home-Netzwerksteuerung

action.devices.traits.NetworkControl: Diese Eigenschaft gehört zu Geräten, mit denen Netzwerkdaten gemeldet und netzwerkspezifische Vorgänge ausgeführt werden können.

Geräte-ATTRIBUTE

Geräte mit dieser Eigenschaft melden möglicherweise die folgenden Attribute im Rahmen des SYNC-Vorgangs. Weitere Informationen zum Umgang mit SYNC-Intents finden Sie unter Intent-Auftragsausführung.

Attribute Typ Beschreibung
supportsEnablingGuestNetwork Boolesch

(Standard: false)

Setzen Sie den Wert auf „true“, wenn das Gastnetzwerk aktiviert werden kann.

supportsDisablingGuestNetwork Boolesch

(Standard: false)

Setzen Sie den Wert auf „true“, wenn das Gastnetzwerk deaktiviert werden kann.

supportsGettingGuestNetworkPassword Boolesch

(Standard: false)

Setzen Sie den Wert auf „true“, wenn das Passwort für das Gastnetzwerk über den Befehl GetGuestNetworkPassword abgerufen werden kann.

networkProfiles Array

Gibt die unterstützten Netzwerkprofilnamen an.

[item, ...] String

Name eines Netzwerkprofils, das eine Gruppe zusammengehöriger Geräte darstellt.

supportsEnablingNetworkProfile Boolesch

(Standard: "false")

Setzen Sie diesen Wert auf „true“, wenn Netzwerkprofile aktiviert werden können.

supportsDisablingNetworkProfile Boolesch

(Standard: "false")

Setzen Sie den Wert auf „true“, wenn Netzwerkprofile deaktiviert werden können.

supportsNetworkDownloadSpeedTest Boolesch

(Standard: false)

Geben Sie „true“ an, wenn ein Test der Downloadgeschwindigkeit ausgeführt werden kann.

supportsNetworkUploadSpeedTest Boolesch

(Standard: false)

Setzen Sie diesen Wert auf „true“, wenn ein Test der Uploadgeschwindigkeit durchgefü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ät STATES

Entitäten mit diesem Trait können die folgenden Status im Rahmen des QUERY-Vorgangs melden. Weitere Informationen zum Umgang mit QUERY-Intents finden Sie unter Intent-Auftragsausführung.

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 Netzwerkauslastung in MB (Megabyte). Die Netzwerknutzung liegt innerhalb des aktuellen Abrechnungszeitraums, was nützlich sein kann, wenn es um die Netzwerknutzungsgrenze im Abrechnungszeitraum geht.

networkUsageLimitMB Number

Das Limit für die Netzwerkauslastung in MB (Megabyte). Das Limit für die Netzwerknutzung liegt im aktuellen Abrechnungszeitraum.

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) beim letzten Test der Netzwerkgeschwindigkeit.

unixTimestampSec Ganzzahl

Der Unix-Zeitstempel (Anzahl der Sekunden seit der Unix-Epoche) für den Zeitpunkt, zu dem der letzte Test der Netzwerk-Downloadgeschwindigkeit ausgeführt wurde.

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) beim letzten Test der Netzwerkgeschwindigkeit.

unixTimestampSec Ganzzahl

Der Unix-Zeitstempel (Anzahl der Sekunden seit der Unix-Epoche) für den Zeitpunkt, zu dem der letzte Test der Netzwerk-Uploadgeschwindigkeit ausgeführt wurde.

status String

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

Unterstützte Werte:

SUCCESS
FAILURE
networkSpeedTestInProgress Boolesch

(Standard: false)

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

networkProfilesState Objekt

Status für Netzwerkprofile. Dieses Objekt auf oberster 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 ist.

<string> Objekt

Ein Objekt, das den Status eines einzelnen Netzwerkprofils speichert. Der Wert des -Schlüssels sollte der Name eines der Netzwerkprofile im Attribut networkProfiles sein.

enabled Boolesch

Der aktuelle Aktivierungs-/Deaktivierungsstatus 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 einem Geschwindigkeitstest.

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

Gerät mit deaktiviertem networkProfile „Kinder“.

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

BEFEHLUNGEN auf dem Gerät

Geräte mit dieser Eigenschaft können im Rahmen des EXECUTE-Vorgangs auf die folgenden Befehle reagieren. Weitere Informationen zum Umgang mit EXECUTE-Intents finden Sie unter Intent-Auftragsausführung.

action.devices.commands.EnableDisableGuestNetwork

Aktivieren oder deaktivieren Sie das Gastnetzwerk. Es muss eine sekundäre Nutzerbestätigung mit PIN verwendet werden. Die Sicherheit zu Hause eines Nutzers gilt als beeinträchtigt, 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

Aktiviere das Gastnetzwerk.

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

action.devices.commands.EnableDisableNetworkProfile

Aktivieren oder deaktivieren Sie ein Netzwerkprofil. Es muss eine sekundäre Nutzerbestätigung mit PIN verwendet werden. Die Sicherheit zu Hause eines Nutzers gilt als beeinträchtigt, 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

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

Erfrage das Passwort für das Gastnetzwerk. Es muss eine sekundäre Nutzerbestätigung mit PIN verwendet werden. Die Sicherheit zu Hause eines Nutzers gilt als beeinträchtigt, 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 das Passwort für mein Gast-WLAN an.

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

Ergebnisse

Ergebnisse Typ Beschreibung
guestNetworkPassword String

Erforderlich.

Das Passwort für das Gastnetzwerk.

Beispiele

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

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

Teste die Download- und Uploadgeschwindigkeit 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 Folgeantwort.

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 dieser Eigenschaft können als Teil des EXECUTE-Vorgangs die folgende Nutzlast der Folgeantwort zurückgeben. Weitere Informationen zum Implementieren von Folgeantworten findest du unter Benachrichtigungen für Smart-Home-Aktionen.

Die Nutzlast enthält eines der folgenden Elemente:

Erfolg: networkDownloadSpeedMbit/s

Felder Typ Beschreibung
followUpToken String

Erforderlich.

Token, das in der ursprünglichen EXECUTE-Anfrage angegeben wurde.

status String

Erforderlich.

Ergebnis der Anfrage.

Unterstützte Werte:

SUCCESS
networkDownloadSpeedMbps Number

Erforderlich.

Die Netzwerk-Downloadgeschwindigkeit in Megabit pro Sekunde.

Erfolg: networkUploadSpeed Mbit/s

Felder Typ Beschreibung
followUpToken String

Erforderlich.

Token, das in der ursprünglichen EXECUTE-Anfrage angegeben wurde.

status String

Erforderlich.

Ergebnis der Anfrage.

Unterstützte Werte:

SUCCESS
networkUploadSpeedMbps Number

Erforderlich.

Die Netzwerk-Uploadgeschwindigkeit in Megabit pro Sekunde.

Erfolg: networkDownloadSpeed Mbit/s und networkUploadSpeed Mbit/s

Felder Typ Beschreibung
followUpToken String

Erforderlich.

Token, das in der ursprünglichen EXECUTE-Anfrage angegeben wurde.

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.

Token, das in der ursprünglichen EXECUTE-Anfrage angegeben wurde.

status String

Erforderlich.

Ergebnis der Anfrage.

Unterstützte Werte:

FAILURE
errorCode String

Erforderlich.

Der Wert kann ein beliebiger Fehlercode für diese Eigenschaft 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ät ERRORS

Sehen Sie sich die vollständige Liste der Fehler und Ausnahmen an.

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