Schéma NetworkControl Trait de la maison connectée

action.devices.traits.NetworkControl : cette caractéristique appartient aux appareils qui permettent de créer des rapports sur les données du réseau et d'effectuer des opérations spécifiques au réseau.

Attributs d'appareil

Les appareils dotés de cette caractéristique peuvent signaler les attributs suivants dans le cadre de l'opération SYNC. Pour en savoir plus sur la gestion des intents SYNC, consultez la section Traitement des intents.

Attributs Type Description
supportsEnablingGuestNetwork Booléen

(Par défaut : false)

Définissez cette valeur sur "true" si le réseau invité peut être activé.

supportsDisablingGuestNetwork Booléen

(Par défaut : false)

Définissez cette valeur sur "true" si le réseau invité peut être désactivé.

supportsGettingGuestNetworkPassword Booléen

(Par défaut : false)

Définissez cette valeur sur "true" si le mot de passe du réseau invité peut être obtenu via la commande GetGuestNetworkPassword.

networkProfiles Array

Indique les noms de profils réseau compatibles.

[item, ...] String

Nom d'un profil réseau représentant un groupe d'appareils associés.

supportsEnablingNetworkProfile Booléen

(Par défaut : "false")

Défini sur "true" si les profils réseau peuvent être activés.

supportsDisablingNetworkProfile Booléen

(Par défaut : "false")

Défini sur "true" si les profils réseau peuvent être désactivés.

supportsNetworkDownloadSpeedTest Booléen

(Par défaut : false)

Définissez cette valeur sur "true" si un test de la vitesse de téléchargement peut être exécuté.

supportsNetworkUploadSpeedTest Booléen

(Par défaut : false)

Définissez cette valeur sur "true" si un test du débit ascendant peut être exécuté.

Exemples

Appareil réseau compatible avec le réseau invité, les profils et le test de débit.

{
  "supportsEnablingGuestNetwork": true,
  "supportsDisablingGuestNetwork": true,
  "supportsEnablingNetworkProfile": true,
  "supportsDisablingNetworkProfile": true,
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true,
  "supportsGettingGuestNetworkPassword": true,
  "networkProfiles": [
    "Kids"
  ]
}

Device STATES

Les entités dotées de cette caractéristique peuvent signaler les états suivants dans le cadre de l'opération QUERY. Pour en savoir plus sur la gestion des intents QUERY, consultez la section Traitement des intents.

États Type Description
networkEnabled Booléen

Indique si le réseau principal est activé.

networkSettings Objet

Contient le SSID du réseau principal.

ssid String

Obligatoire.

SSID du réseau.

guestNetworkEnabled Booléen

Indique si le réseau invité est activé.

guestNetworkSettings Objet

Contient le SSID du réseau invité.

ssid String

Obligatoire.

SSID du réseau.

numConnectedDevices Entier

Nombre d'appareils connectés au réseau.

networkUsageMB Number

Utilisation du réseau en Mo (mégaoctets). L'utilisation du réseau a lieu au cours de la période de facturation en cours. Il peut être utile de surveiller la limite d'utilisation du réseau au cours de cette période.

networkUsageLimitMB Number

Limite d'utilisation du réseau en Mo (mégaoctets). La limite d'utilisation du réseau est comprise dans la période de facturation en cours.

networkUsageUnlimited Booléen

Indique si l'utilisation du réseau est illimitée. La valeur networkUsageLimitMB de l'état de l'appareil est ignorée si la valeur est définie sur "true".

lastNetworkDownloadSpeedTest Objet

Contient les résultats du dernier test de débit de téléchargement du réseau.

downloadSpeedMbps Number

Débit descendant en Mbit/s (mégabits par seconde) du dernier test de débit réseau.

unixTimestampSec Entier

Horodatage Unix (nombre de secondes écoulées depuis l'epoch Unix) correspondant au moment où le dernier test de vitesse de téléchargement réseau a été exécuté.

status String

Indique si le dernier test de débit de téléchargement sur le réseau a réussi ou échoué.

Valeurs acceptées :

SUCCESS
FAILURE
lastNetworkUploadSpeedTest Objet

Contient les résultats du dernier test de débit ascendant sur le réseau.

uploadSpeedMbps Number

Débit ascendant en Mbit/s (mégabits par seconde) lors du dernier test de débit réseau.

unixTimestampSec Entier

Horodatage Unix (nombre de secondes depuis l'epoch Unix) correspondant au moment où le dernier test de débit d'importation réseau a été exécuté.

status String

Indique si le dernier test de débit d'importation sur le réseau a réussi ou échoué.

Valeurs acceptées :

SUCCESS
FAILURE
networkSpeedTestInProgress Booléen

(Par défaut : false)

Indique si un test de débit est en cours.

networkProfilesState Objet

État des profils réseau. Cet objet de niveau supérieur doit contenir des paires clé/valeur, où la clé est le nom de l'un des profils réseau répertoriés dans l'attribut networkProfiles et où la valeur doit correspondre à l'état correspondant à ce profil.

<string> Objet

Objet stockant l'état d'un profil réseau individuel. La valeur de la clé doit correspondre au nom de l'un des profils réseau définis dans l'attribut networkProfiles.

enabled Booléen

État actuel activé/désactivé du profil réseau.

Exemples

Appareil avec un réseau actif

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

Appareil avec un réseau actif et des résultats du test de débit.

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

Appareil avec un test de réseau et de débit actif en cours.

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

Appareil sur lequel le profil réseau "enfants" est désactivé.

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

COMMANDS d'appareil

Les appareils dotés de cette caractéristique peuvent répondre aux commandes suivantes dans le cadre de l'opération EXECUTE. Pour en savoir plus sur la gestion des intents EXECUTE, consultez la section Traitement des intents.

action.devices.commands.EnableDisableGuestNetwork

Activez ou désactivez le réseau invité. Vous devez utiliser la validation secondaire de l'utilisateur par code. La sécurité de la maison d'un utilisateur peut être considérée comme affectée si d'autres appareils de sécurité sont désactivés via ces commandes.

Cette commande nécessite les attributs suivants :
{
  "supportsEnablingGuestNetwork": true,
  "supportsDisablingGuestNetwork": true
}

Paramètres

Paramètres Type Description
enable Booléen

Obligatoire.

"True" pour activer le réseau invité, "false" pour désactiver le réseau invité.

Exemples

Activez le réseau invité.

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

action.devices.commands.EnableDisableNetworkProfile

Activez ou désactivez un profil réseau. Vous devez utiliser la validation secondaire de l'utilisateur par code. La sécurité de la maison d'un utilisateur peut être considérée comme affectée si d'autres appareils de sécurité sont désactivés via ces commandes.

Cette commande nécessite les attributs suivants :
{
  "supportsEnablingNetworkProfile": true,
  "supportsDisablingNetworkProfile": true
}

Paramètres

Paramètres Type Description
profile String

Obligatoire.

Nom de profil de l'attribut networkProfiles.

enable Booléen

Obligatoire.

"True" pour activer le profil, "false" pour désactiver le profil.

Exemples

Désactivez Internet pour vos enfants.

{
  "command": "action.devices.commands.EnableDisableNetworkProfile",
  "params": {
    "profile": "Kids",
    "enable": false
  }
}

Une erreur s'est produite lors de la tentative de contrôle du profil réseau donné.

Valeurs acceptées :

networkProfileNotRecognized

action.devices.commands.GetGuestNetworkPassword

Obtenez le mot de passe du réseau invité. Vous devez utiliser la validation secondaire de l'utilisateur par code. La sécurité de la maison d'un utilisateur peut être considérée comme affectée si d'autres appareils de sécurité sont désactivés via ces commandes.

Cette commande nécessite les attributs suivants :
{
  "supportsGettingGuestNetworkPassword": true
}

Paramètres

Paramètres Type Description

Aucune propriété

Exemples

Montre-moi le mot de passe de mon réseau Wi-Fi invité.

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

Résultats

Résultats Type Description
guestNetworkPassword String

Obligatoire.

Mot de passe du réseau invité.

Exemples

Montre-moi le mot de passe de mon réseau Wi-Fi invité.

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

Testez la vitesse de téléchargement et d'importation sur le réseau.

Cette commande nécessite les attributs suivants :
{
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true
}

Paramètres

Paramètres Type Description
testDownloadSpeed Booléen

Obligatoire.

Indique si la vitesse de téléchargement doit être testée.

testUploadSpeed Booléen

Obligatoire.

Indique si la vitesse d'importation doit être testée.

followUpToken String

Obligatoire.

Jeton fourni par Google pour la réponse de suivi.

Exemples

Quel est le débit Wi-Fi ?

{
  "command": "action.devices.commands.TestNetworkSpeed",
  "params": {
    "testDownloadSpeed": true,
    "testUploadSpeed": true,
    "followUpToken": "123"
  }
}

Une erreur s'est produite lors de la demande de test de débit.

Valeurs acceptées :

networkSpeedTestInProgress

Réponses de suivi

Les appareils dotés de cette caractéristique peuvent renvoyer la charge utile de réponse de suivi suivante dans le cadre de l'opération EXECUTE. Pour en savoir plus sur la mise en œuvre des réponses de suivi, consultez Notifications pour les actions de maison connectée.

La charge utile contient l'un des éléments suivants:

Opération réussie: networkDownloadSpeedMbit/s

Champs Type Description
followUpToken String

Obligatoire.

Jeton fourni dans la requête EXECUTE initiale.

status String

Obligatoire.

Résultat de la requête.

Valeurs acceptées :

SUCCESS
networkDownloadSpeedMbps Number

Obligatoire.

Vitesse de téléchargement du réseau mesurée en mégabits par seconde.

Opération réussie: networkUploadSpeedMbit/s

Champs Type Description
followUpToken String

Obligatoire.

Jeton fourni dans la requête EXECUTE initiale.

status String

Obligatoire.

Résultat de la requête.

Valeurs acceptées :

SUCCESS
networkUploadSpeedMbps Number

Obligatoire.

Vitesse de transfert réseau mesurée en mégabits par seconde.

Opération réussie: networkDownloadSpeedMbps et networkUploadSpeedMbps

Champs Type Description
followUpToken String

Obligatoire.

Jeton fourni dans la requête EXECUTE initiale.

status String

Obligatoire.

Résultat de la requête.

Valeurs acceptées :

SUCCESS
networkDownloadSpeedMbps Number

Obligatoire.

Vitesse de téléchargement du réseau mesurée en mégabits par seconde.

networkUploadSpeedMbps Number

Obligatoire.

Vitesse de transfert réseau mesurée en mégabits par seconde.

Échec

Champs Type Description
followUpToken String

Obligatoire.

Jeton fourni dans la requête EXECUTE initiale.

status String

Obligatoire.

Résultat de la requête.

Valeurs acceptées :

FAILURE
errorCode String

Obligatoire.

La valeur peut être n'importe quel code d'erreur pour cette caractéristique, par exemple transientError.

Exemples

Quel est le débit Wi-Fi ? (réponse de suivi)

{
  "NetworkControl": {
    "priority": 0,
    "followUpResponse": {
      "status": "SUCCESS",
      "networkDownloadSpeedMbps": 23.3,
      "networkUploadSpeedMbps": 10.2,
      "followUpToken": "1234"
    }
  }
}

Quel est le débit Wi-Fi ? (réponse de suivi avec échec)

{
  "NetworkControl": {
    "priority": 0,
    "followUpResponse": {
      "status": "FAILURE",
      "errorCode": "transientError",
      "followUpToken": "1234"
    }
  }
}

ERREURS sur l'appareil

Consultez la liste complète des erreurs et exceptions.

Une erreur s'est produite lors de la tentative de contrôle du profil réseau donné.

Valeurs acceptées :

networkProfileNotRecognized

Une erreur s'est produite lors de la demande de test de débit.

Valeurs acceptées :

networkSpeedTestInProgress