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 : Définissez cette valeur sur "true" si le réseau invité peut être activé. |
supportsDisablingGuestNetwork |
Valeur booléenne |
(Par défaut : Définissez cette valeur sur "true" si le réseau invité peut être désactivé. |
supportsGettingGuestNetworkPassword |
Valeur booléenne |
(Par défaut : Définissez cette valeur sur "true" si le mot de passe du réseau invité peut être obtenu via la commande |
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 : Définissez cette valeur sur "true" si les profils réseau peuvent être activés. |
supportsDisablingNetworkProfile |
Valeur booléenne |
(Par défaut : Définissez cette valeur sur "true" si les profils réseau peuvent être désactivés. |
supportsNetworkDownloadSpeedTest |
Valeur booléenne |
(Par défaut : Définissez cette valeur sur "true" si un test de débit descendant peut être exécuté. |
supportsNetworkUploadSpeedTest |
Valeur booléenne |
(Par défaut : 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 :
|
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 :
|
networkSpeedTestInProgress |
Valeur booléenne |
(Par défaut : 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 |
<string> |
Objet |
Objet stockant l'état d'un profil réseau individuel. La valeur de la clé |
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 |
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 } }
Erreurs associées
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" } }
Erreurs associées
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 :
|
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 :
|
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 :
|
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 :
|
errorCode |
String |
Obligatoire. La valeur peut être n'importe quel code d'erreur pour ce trait, par exemple |
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