Netzwerkanleitung für Smart-Home-Geräte

action.devices.types.NETWORK: Steht für eine Gruppe von Routerknoten oder ein Mesh-Netzwerk, das als eine Einheit und nicht als einzelne Geräte gesteuert wird. Das Netzwerkgerät kann neu gestartet werden, seine Software aktualisieren und Modi zur Verarbeitung von Qualitätskontrollen (QoS) und Jugendschutzeinstellungen haben. Das Gerät kann Vorgänge wie das Aktivieren des Gastnetzwerks und das Melden netzwerkspezifischer Informationen wie der aktuellen Internetdurchsatzrate ausführen.

Dieser Typ gibt an, dass das Gerät das Netzwerksymbol und zugehörige Synonyme und Aliasse.

Gerätefunktionen

Weitere Informationen finden Sie in der entsprechenden Dokumentation Implementierungsdetails wie Attribute und Angaben, die Ihr Dienst unterstützen soll, und wie Sie EXECUTE- und QUERY-Antworten erstellen.

Erforderliche Merkmale

Diese Traits und Befehle sind erforderlich, sofern auf Ihre . Wenn dein Gerät diese Traits nicht unterstützt, gib den Fehlercode ein: functionNotSupported in einer QUERY- oder EXECUTE-Antwort. Weitere Informationen finden Sie unter Fehler und Ausnahmen.

Diese Traits werden empfohlen, sofern sie für Ihr Gerät relevant sind. Du kannst jedoch alle verfügbaren Merkmale beliebig kombinieren, um deine vorhandenen Merkmale bestmöglich anzupassen. Produktfunktionen.

Qualitätsanforderungen

  • Latenz:muss kleiner oder gleich 300 ms sein.
  • Zuverlässigkeit:Muss größer oder gleich 97% sein.

Beispielgerät: Einfaches Netzwerk

Dieser Abschnitt enthält Beispiele für Intent-Nutzlasten, die ein gemeinsames „Netzwerk“ darstellen basierend auf dem Gerätetyp und den oben genannten Merkmalen. Wenn Sie in Ihrer Implementierung Tragen hinzufügen oder entfernen, und passen Sie Ihre Antworten entsprechend an.

Beispiel für SYNC-Antwort

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.NETWORK",
        "traits": [
          "action.devices.traits.Reboot",
          "action.devices.traits.NetworkControl"
        ],
        "name": {
          "name": "Simple network"
        },
        "willReportState": true,
        "attributes": {
          "supportsEnablingNetworkProfile": true,
          "supportsDisablingNetworkProfile": true,
          "supportsNetworkDownloadSpeedTest": true,
          "supportsNetworkUploadSpeedTest": true,
          "networkProfiles": [
            "kids"
          ]
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

Beispiel für eine QUERY-Antwort

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "networkEnabled": true,
        "networkSettings": {
          "ssid": "home-network-123"
        }
      }
    }
  }
}

Beispiele für EXECUTE-Befehle

Neu starten

Weitere Informationen zu den Befehlsparametern Siehe action.devices.traits.Reboot. Referenz.

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.Reboot"
              }
            ]
          }
        ]
      }
    }
  ]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true
        }
      }
    ]
  }
}

EnableDisableNetworkProfile

Weitere Informationen zu den Befehlsparametern Siehe action.devices.traits.NetworkControl. Referenz.

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.EnableDisableNetworkProfile",
                "params": {
                  "profile": "kids",
                  "enable": false
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "networkEnabled": true,
          "networkSettings": {
            "ssid": "home-network-123"
          }
        }
      }
    ]
  }
}

TestNetworkSpeed

Weitere Informationen zu den Befehlsparametern Siehe action.devices.traits.NetworkControl. Referenz.

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Anfrage
{
  "requestId": "6894439706274654520",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TestNetworkSpeed",
                "params": {
                  "testDownloadSpeed": true,
                  "testUploadSpeed": true,
                  "followUpToken": "123"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
<ph type="x-smartling-placeholder">
</ph>
Antwort
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true
        }
      }
    ]
  }
}

Gerätefehler

Vollständige Liste der Fehler und Ausnahmen.