Schéma du trait Smart Home NetworkControl

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

ATTRIBUTS de l'appareil

Les appareils dotés de ce trait peuvent signaler les attributs suivants dans le cadre de l'opération SYNC. Pour en savoir plus sur la gestion des intents SYNC, consultez Fulfillment d'intent.

Attributs Type Description
supportsEnablingGuestNetwork Valeur booléenne

(Par défaut : false)

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

supportsDisablingGuestNetwork Valeur booléenne

(Par défaut : false)

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

supportsGettingGuestNetworkPassword Valeur booléenne

(Par défaut : false)

Définissez 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 sur "true" si les profils réseau peuvent être activés.

supportsDisablingNetworkProfile Valeur booléenne

(Par défaut : "false")

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

supportsNetworkDownloadSpeedTest Valeur booléenne

(Par défaut : false)

Défini sur "true" si un test de débit descendant peut être effectué.

supportsNetworkUploadSpeedTest Valeur booléenne

(Par défaut : false)

Défini 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"
  ]
}

ÉTATS des appareils

Les entités dotées de ce trait peuvent signaler les états suivants dans le cadre de l'opération QUERY. Pour en savoir plus sur la gestion des intents QUERY, consultez Fulfillment d'intent.

États Type Description
networkEnabled Valeur booléenne

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

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

networkUsageLimitMB Number

Limite d'utilisation du réseau en Mo (mégaoctets). La limite d'utilisation du réseau est valable pour 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

Contient 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) de la dernière exécution du test de débit descendant du 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

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

unixTimestampSec Entier

Code temporel Unix (nombre de secondes écoulées depuis l'epoch Unix) de la dernière exécution du 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 en cours d'exécution.

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 doit être l'état correspondant 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é ou 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
}

Un appareil avec un réseau actif et des résultats de tests 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 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 profil réseau "enfants" 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 ce trait 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 Fulfillment d'intent.

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 dispositifs 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 dispositifs 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 à partir de l'attribut networkProfiles.

enable Valeur booléenne

Obligatoire.

True pour activer le profil, False pour le désactiver.

Exemples

Désactive 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 dispositifs 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

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 le débit descendant et le débit 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 débit.

Valeurs acceptées :

networkSpeedTestInProgress

Réponses complémentaires

Les appareils dotés de ce trait 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 des réponses de suivi, consultez Notifications pour les actions de maison connectée.

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

Succès : networkDownloadSpeedMbps

Champs Type Description
followUpToken String

Obligatoire.

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

status String

Obligatoire.

Résultat de la demande.

Valeurs acceptées :

SUCCESS
networkDownloadSpeedMbps Number

Obligatoire.

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

Succès : networkUploadSpeedMbps

Champs Type Description
followUpToken String

Obligatoire.

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

status String

Obligatoire.

Résultat de la demande.

Valeurs acceptées :

SUCCESS
networkUploadSpeedMbps Number

Obligatoire.

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

Succès : 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 demande.

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 demande.

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 ? (réponse de suivi avec échec)

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

ERREURS liées à 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 débit.

Valeurs acceptées :

networkSpeedTestInProgress