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 : Définissez sur "true" si le réseau invité peut être activé. |
supportsDisablingGuestNetwork |
Valeur booléenne |
(Par défaut : Définissez sur "true" si le réseau invité peut être désactivé. |
supportsGettingGuestNetworkPassword |
Valeur booléenne |
(Par défaut : Définissez 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 sur "true" si les profils réseau peuvent être activés. |
supportsDisablingNetworkProfile |
Valeur booléenne |
(Par défaut : Définissez cette option sur "true" si les profils réseau peuvent être désactivés. |
supportsNetworkDownloadSpeedTest |
Valeur booléenne |
(Par défaut : Défini sur "true" si un test de débit descendant peut être effectué. |
supportsNetworkUploadSpeedTest |
Valeur booléenne |
(Par défaut : 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 :
|
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 :
|
networkSpeedTestInProgress |
Valeur booléenne |
(Par défaut : 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 |
<string> |
Objet |
Objet stockant l'état d'un profil réseau individuel. La valeur de la clé |
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 |
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
}
}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 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" } }
Erreurs associées
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 :
|
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 :
|
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 :
|
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 :
|
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 ? (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