Leitfaden für Smart-Home-Router

action.devices.types.ROUTER: Router können neu starten, ihre Software aktualisieren, Modi zur Verarbeitung der Dienstqualitätskontrollen und Jugendschutzeinstellungen haben und netzwerkspezifische Vorgänge ausführen, z. B. das Gastnetzwerk aktivieren und netzwerkspezifische Informationen wie die aktuellen Internetdurchsatzraten melden.

Dieser Typ gibt an, dass das Gerät das Router-Symbol 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: Einfacher Router

Dieser Abschnitt enthält Beispiele für Intent-Nutzlasten, die einen gemeinsamen "Router" 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.ROUTER",
        "traits": [
          "action.devices.traits.Reboot",
          "action.devices.traits.NetworkControl"
        ],
        "name": {
          "name": "Simple router"
        },
        "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"
        },
        "numConnectedDevices": 4,
        "networkUsageMB": 100.8
      }
    }
  }
}

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.