Guide du routeur pour maison connectée

action.devices.types.ROUTER : les routeurs peuvent redémarrer, mettre à jour leur logiciel, disposer de modes de gestion de la qualité de service (QoS) et des restrictions parentales, et effectuer des opérations spécifiques sur le réseau (activation du réseau invité et création de rapports sur des informations spécifiques au réseau, comme les débits Internet actuels).

Ce type indique que l'appareil obtient l'icône de routeur, ainsi que des synonymes et alias associés.

Fonctionnalités de l'appareil

Consultez la documentation sur les caractéristiques correspondantes pour obtenir des détails sur l'implémentation, tels que les attributs et les états que votre service doit accepter, et pour découvrir comment créer des réponses EXECUTE et QUERY.

Caractéristiques obligatoires

Ces caractéristiques et commandes sont nécessaires, le cas échéant. Si votre appareil n'est pas compatible avec ces caractéristiques, saisissez le code d'erreur functionNotSupported dans une réponse QUERY ou EXECUTE. Pour en savoir plus, consultez Erreurs et exceptions.

Ces caractéristiques sont recommandées, le cas échéant. Cependant, vous êtes libre de combiner toutes les caractéristiques disponibles pour correspondre au mieux aux fonctionnalités existantes de votre produit.

Exigences de qualité

  • Latence:doit être inférieure ou égale à 300 ms.
  • Fiabilité:doit être supérieure ou égale à 97%.

Exemple d'appareil: routeur simple

Cette section contient des exemples de charges utiles d'intent représentant un "routeur" commun basé sur le type d'appareil et les caractéristiques ci-dessus. Si vous ajoutez ou supprimez des caractéristiques dans votre mise en œuvre, modifiez vos réponses en conséquence.

Exemple de réponse SYNC

Demande
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Réponse
{
  "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"
        }
      }
    ]
  }
}

Exemple de réponse QUERY

Demande
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "networkEnabled": true,
        "networkSettings": {
          "ssid": "home-network-123"
        },
        "numConnectedDevices": 4,
        "networkUsageMB": 100.8
      }
    }
  }
}

Exemples de commandes EXECUTE

Redémarrer

Pour en savoir plus sur les paramètres de commande, consultez la documentation de référence sur action.devices.traits.Reboot.

Demande
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.Reboot"
              }
            ]
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true
        }
      }
    ]
  }
}

Activer le réseau

Pour en savoir plus sur les paramètres de commande, consultez la documentation de référence sur action.devices.traits.NetworkControl.

Demande
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.EnableDisableNetworkProfile",
                "params": {
                  "profile": "kids",
                  "enable": false
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "networkEnabled": true,
          "networkSettings": {
            "ssid": "home-network-123"
          }
        }
      }
    ]
  }
}

Vitesse du réseau de test

Pour en savoir plus sur les paramètres de commande, consultez la documentation de référence sur action.devices.traits.NetworkControl.

Demande
{
  "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"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true
        }
      }
    ]
  }
}

ERREURS sur l'appareil

Consultez la liste complète des erreurs et exceptions.