Schéma de trait NetworkControl pour la maison connectée

action.devices.traits.NetworkControl : cette caractéristique appartient aux appareils compatibles avec la création de rapports sur les données réseau et l'exécution d'opérations spécifiques au réseau.

ATTRIBUTS de l'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 Valeur booléenne

(Par défaut : false)

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

supportsDisablingGuestNetwork Valeur booléenne

(Par défaut : false)

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

supportsGettingGuestNetworkPassword Valeur booléenne

(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 Valeur booléenne

(Par défaut : "false")

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

supportsDisablingNetworkProfile Valeur booléenne

(Par défaut : "false")

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

supportsNetworkDownloadSpeedTest Valeur booléenne

(Par défaut : false)

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

supportsNetworkUploadSpeedTest Valeur booléenne

(Par défaut : false)

Définissez cette valeur sur "True" si un test de débit montant 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"
  ]
}

ÉTATS DE L'APPAREIL

Les entités avec 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 Valeur booléenne

Indique si le réseau principal est activé.

networkSettings Objet

Inclut le SSID du réseau principal.

ssid String

Obligatoire.

SSID du réseau.

guestNetworkEnabled Valeur booléenne

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

guestNetworkSettings Objet

Inclut 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 se situe dans la période de facturation en cours, ce qui peut être utile pour la surveiller par rapport à la limite d'utilisation du réseau pour la période de facturation.

networkUsageLimitMB Number

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

networkUsageUnlimited Valeur booléenne

Indique si l'utilisation du réseau est illimitée. L'état de l'appareil networkUsageLimitMB sera ignoré si cette valeur est définie sur "True".

lastNetworkDownloadSpeedTest Objet

Inclut les résultats du dernier test de débit descendant du réseau.

downloadSpeedMbps Number

Vitesse de téléchargement en Mbit/s (mégabits par seconde) du dernier test de vitesse du réseau.

unixTimestampSec Entier

Code temporel Unix (nombre de secondes écoulées depuis l'epoch Unix) au moment de l'exécution du dernier test de vitesse de téléchargement sur le réseau.

status String

Indique si le dernier test de débit descendant du réseau a réussi ou échoué.

Valeurs acceptées :

SUCCESS
FAILURE
lastNetworkUploadSpeedTest Objet

Contient les résultats du dernier test de débit montant du réseau.

uploadSpeedMbps Number

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

unixTimestampSec Entier

Code temporel Unix (nombre de secondes écoulées depuis l'epoch Unix) du dernier test de débit montant du réseau.

status String

Indique si le dernier test de débit montant du réseau a réussi ou échoué.

Valeurs acceptées :

SUCCESS
FAILURE
networkSpeedTestInProgress Valeur booléenne

(Par défaut : false)

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

networkProfilesState Objet

État des profils réseau. Cet objet de premier niveau doit contenir des paires clé-valeur, où la clé est le nom de l'un des profils réseau listés dans l'attribut networkProfiles et la valeur correspond à l'état de 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 de l'attribut networkProfiles.

enabled Valeur booléenne

É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 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 réseau actif et test de débit en cours.

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

Appareil dont le networkProfile "kids" est désactivé.

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

COMMANDES DE L'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é. La validation secondaire de l'utilisateur avec un code doit être utilisée. 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 à l'aide de ces commandes.

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

Paramètres

Paramètres Type Description
enable Valeur booléenne

Obligatoire.

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

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. La validation secondaire de l'utilisateur avec un code doit être utilisée. 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 à l'aide de ces commandes.

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

Paramètres

Paramètres Type Description
profile String

Obligatoire.

Nom du profil de l'attribut networkProfiles.

enable Valeur booléenne

Obligatoire.

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

Exemples

Désactiver l'accès à Internet pour les 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é. La validation secondaire de l'utilisateur avec un code doit être utilisée. 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 à l'aide de ces commandes.

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

Paramètres

Paramètres Type Description

Aucune propriété

Exemples

Afficher mon mot de passe du 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

Afficher mon mot de passe du réseau Wi-Fi invité

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

Testez le débit descendant et ascendant du réseau.

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

Paramètres

Paramètres Type Description
testDownloadSpeed Valeur booléenne

Obligatoire.

Indique si le débit descendant doit être testé.

testUploadSpeed Valeur booléenne

Obligatoire.

Indique si le débit montant doit être testé.

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 tentative de demande d'un test de vitesse.

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 l'implémentation de réponses de suivi, consultez la section Notifications pour les actions de la maison connectée.

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

Opération réussie: networkDownloadSpeedMbps

Champs Type Description
followUpToken String

Obligatoire.

Jeton fourni dans la requête EXECUTE d'origine.

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

Champs Type Description
followUpToken String

Obligatoire.

Jeton fourni dans la requête EXECUTE d'origine.

status String

Obligatoire.

Résultat de la requête.

Valeurs acceptées :

SUCCESS
networkUploadSpeedMbps Number

Obligatoire.

Vitesse d'importation du réseau mesurée en mégabits par seconde.

Réussite: networkDownloadSpeedMbps et networkUploadSpeedMbps

Champs Type Description
followUpToken String

Obligatoire.

Jeton fourni dans la requête EXECUTE d'origine.

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 d'importation du réseau mesurée en mégabits par seconde.

Échec

Champs Type Description
followUpToken String

Obligatoire.

Jeton fourni dans la requête EXECUTE d'origine.

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 ce trait, 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 ? (follow-up response with failure)

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

ERREURS de 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 tentative de demande d'un test de vitesse.

Valeurs acceptées :

networkSpeedTestInProgress