Schéma Trait de contrôle de 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 disposant de cette caractéristique peuvent signaler les attributs suivants lors de l'opération SYNC. Pour en savoir plus sur la gestion des intents SYNC, consultez Traitement des intents.

Attributs Type Description
supportsEnablingGuestNetwork Booléen

(Par défaut : false)

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

supportsDisablingGuestNetwork Booléen

(Par défaut : false)

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

supportsGettingGuestNetworkPassword Booléen

(Par défaut : false)

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

networkProfiles Array

Indique les noms de profil de 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éfini sur "true" si un test de vitesse de téléchargement peut être exécuté.

supportsNetworkUploadSpeedTest Booléen

(Par défaut : false)

Défini sur "true" si un test de vitesse d'importation 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"
  ]
}

Appareil 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 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 se situe dans la période de facturation en cours, ce qui peut être utile pour surveiller une limite d'utilisation réseau définie au cours de 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 comprise dans la période de facturation en cours.

networkUsageUnlimited Booléen

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

lastNetworkDownloadSpeedTest Objet

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

downloadSpeedMbps Number

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

unixTimestampSec Entier

Horodatage Unix (nombre de secondes depuis l'époque Unix) correspondant au moment du dernier test de vitesse de téléchargement du réseau.

status String

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

Valeurs acceptées :

SUCCESS
FAILURE
lastNetworkUploadSpeedTest Objet

Contient les résultats du test de débit d'importation du réseau le plus récent.

uploadSpeedMbps Number

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

unixTimestampSec Entier

Horodatage Unix (nombre de secondes depuis l'époque Unix) correspondant au moment du dernier test de vitesse d'importation du réseau.

status String

Indique si le dernier test de débit 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 d'exécution.

networkProfilesState Objet

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

enabled Booléen

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

Exemples

Appareil disposant d'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 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 un 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 profil de réseau "kids" (Enfants) est désactivé.

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

Appareil COMMANDS

Les appareils disposant 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 Traitement des intents.

action.devices.commands.EnableDisableGuestNetwork

Activez ou désactivez le réseau invité. Vous devez utiliser la validation secondaire de l'utilisateur avec un code. La sécurité du domicile 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.

Vrai pour activer le réseau invité, faux 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 avec un code. La sécurité du domicile 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 du profil provenant de l'attribut networkProfiles.

enable Booléen

Obligatoire.

Vrai pour activer le profil, faux pour désactiver le profil.

Exemples

Désactiver 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é. Vous devez utiliser la validation secondaire de l'utilisateur avec un code. La sécurité du domicile 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

Afficher 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

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

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 requête.

Valeurs acceptées :

SUCCESS
networkDownloadSpeedMbps Number

Obligatoire.

Débit de réseau réseau mesuré 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 requête.

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 requête.

Valeurs acceptées :

SUCCESS
networkDownloadSpeedMbps Number

Obligatoire.

Débit de réseau réseau mesuré 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 correspondre à 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 en cas d'é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