Smart-Home-Netzwerksteuerung – Attributschema

action.devices.traits.NetworkControl: Diese Eigenschaft bezieht sich auf Geräte, 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 zum Umgang mit SYNC-Intents finden Sie unter Intent-Ausführung.

Attribute Typ Beschreibung
supportsEnablingGuestNetwork Boolesch

(Standardeinstellung: false)

Legen Sie „true“ fest, wenn das Gastnetzwerk aktiviert werden kann.

supportsDisablingGuestNetwork Boolesch

(Standardeinstellung: false)

Legen Sie „true“ fest, wenn das Gastnetzwerk deaktiviert werden kann.

supportsGettingGuestNetworkPassword Boolesch

(Standardeinstellung: false)

Legen Sie „true“ fest, 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 ähnlicher Geräte darstellt.

supportsEnablingNetworkProfile Boolesch

(Standardeinstellung: "false")

Legen Sie „true“ fest, wenn Netzwerkprofile aktiviert werden können.

supportsDisablingNetworkProfile Boolesch

(Standardeinstellung: "false")

Legen Sie „true“ fest, wenn Netzwerkprofile deaktiviert werden können.

supportsNetworkDownloadSpeedTest Boolesch

(Standardeinstellung: false)

Legen Sie „true“ fest, wenn ein Test der Downloadgeschwindigkeit durchgeführt werden kann.

supportsNetworkUploadSpeedTest Boolesch

(Standardeinstellung: false)

Setze den Wert auf „wahr“, 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ÄTESTATUS

Entitäten mit diesem Attribut können im Rahmen des Vorgangs QUERY die folgenden Status melden. Weitere Informationen zum Umgang mit QUERY-Intents finden Sie unter Intent-Ausfü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

Ob das Gastnetzwerk aktiviert ist.

guestNetworkSettings Objekt

Enthält die SSID des Gastnetzwerks.

ssid String

Erforderlich.

Netzwerk-SSID.

numConnectedDevices Ganzzahl

Die Anzahl der mit dem Netzwerk verbundenen Geräte.

networkUsageMB Number

Die Netzwerknutzung in MB (Megabyte). Die Netzwerknutzung bezieht sich auf den aktuellen Abrechnungszeitraum. Das kann nützlich sein, um die Netzwerknutzung im Vergleich zum Limit für den Abrechnungszeitraum zu beobachten.

networkUsageLimitMB Number

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

networkUsageUnlimited Boolesch

Ob die Netzwerknutzung unbegrenzt ist. Der Gerätestatus „networkUsageLimitMB“ wird ignoriert, wenn diese Option 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 Netzwerk-Uploadgeschwindigkeitstests.

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 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 Status des Netzwerkprofils (aktiviert/deaktiviert).

Beispiele

Gerät mit aktivem 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 Geschwindigkeitstestergebnissen

{
  "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 aktivem Netzwerk und laufendem 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 dieser Eigenschaft können im Rahmen des Vorgangs EXECUTE auf die folgenden Befehle reagieren. Weitere Informationen zum Umgang mit EXECUTE-Intents finden Sie unter Intent-Ausführung.

action.devices.commands.EnableDisableGuestNetwork

Aktivieren oder deaktivieren Sie das Gastnetzwerk. Die sekundäre Nutzerbestätigung mit PIN muss verwendet werden. Die Sicherheit des Zuhauses eines Nutzers kann als beeinträchtigt betrachtet 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 es zu deaktivieren.

Beispiele

Aktivieren Sie das Gastnetzwerk.

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

action.devices.commands.EnableDisableNetworkProfile

Aktivieren oder deaktivieren Sie ein Netzwerkprofil. Die sekundäre Nutzerbestätigung mit PIN muss verwendet werden. Die Sicherheit des Zuhauses eines Nutzers kann als beeinträchtigt betrachtet 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 es zu deaktivieren.

Beispiele

Deaktivieren Sie das Internet für die Kinder.

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

Rufen Sie das Passwort für das Gastnetzwerk ab. Die sekundäre Nutzerbestätigung mit PIN muss verwendet werden. Die Sicherheit des Zuhauses eines Nutzers kann als beeinträchtigt betrachtet 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 Gast-WLAN-Passwort.

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

Ergebnisse

Ergebnisse Typ Beschreibung
guestNetworkPassword String

Erforderlich.

Das Passwort für das Gastnetzwerk.

Beispiele

Zeig mir mein Gast-WLAN-Passwort.

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

Testen Sie 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 Antwort auf ein Folgeersuchen.

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 im Rahmen des EXECUTE-Vorgangs die folgende Nutzlast für die Folgeantwort zurückgeben. Weitere Informationen zur Implementierung von Folgeantworten finden Sie unter Benachrichtigungen für Smart-Home-Aktionen.

Die Nutzlast enthält Folgendes:

Erfolg: networkDownloadSpeedMbps

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 Netzwerkdownloadgeschwindigkeit in Megabit pro Sekunde.

Erfolg: networkUploadSpeedMbps

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: networkDownloadSpeedMbps und networkUploadSpeedMbps

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 Netzwerkdownloadgeschwindigkeit 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 dieses Merkmal 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

Eine 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