Interroge l’état de plusieurs appareils en un seul appel.
Description
Vous pouvez utiliser cette opération des manières suivantes :
Spécifiez le paramètre ProductKey et plusieurs valeurs DeviceName pour interroger les appareils d’un même produit.
Spécifiez plusieurs valeurs IotId pour interroger des appareils de produits différents.
Vous pouvez interroger l’état d’un maximum de 50 appareils par appel.
Limites QPS
Chaque compte Alibaba Cloud peut exécuter jusqu’à 50 requêtes par seconde (QPS).
Les utilisateurs RAM partagent le quota du compte Alibaba Cloud.
Débogage
Paramètres de requête
| Parameter | Type | Required | Example | Description |
| Action | String | Yes | BatchGetDeviceState |
L’opération à effectuer. Définissez la valeur sur BatchGetDeviceState. |
| DeviceName.N | RepeatList | No | light |
Les noms des appareils. Important Ce paramètre nécessite ProductKey. |
| IotInstanceId | String | No | iot_instc_pu****_c*-v64******** |
L’ID de l’instance. Vous pouvez le consulter sur la page Overview de la console IoT Platform. Important
|
| ProductKey | String | No | a1BwAGV**** |
Le ProductKey du produit auquel l’appareil appartient. Important Ce paramètre nécessite DeviceName. |
| IotId.N | RepeatList | No | Q7uOhVRdZRRlDnTLv****00100 |
Les ID des appareils. Important IotId est un GUID correspondant à une combinaison de ProductKey et de DeviceName. Si vous spécifiez IotId, vous n’avez pas besoin de spécifier ProductKey ni DeviceName. Si les trois sont spécifiés, IotId est prioritaire. |
Cette opération nécessite également les Paramètres communs.
Paramètres de réponse
| Parameter | Type | Example | Description |
| Code | String | iot.system.SystemException |
Le code d’erreur renvoyé en cas d’échec de l’appel. Codes d’erreur |
| DeviceStatusList | Array of DeviceStatus |
La liste des états des appareils renvoyée en cas de succès. Contient les paramètres DeviceStatus listés ci-dessous. |
|
| DeviceStatus | |||
| AsAddress | String | 192.0.2.1 |
L’adresse IP de l’appareil. |
| DeviceId | String | dwnS41bhNxjslDAI**** |
L’ID de l’appareil (obsolète). Remarque Obsolète. Utilisez plutôt IotId ou une ProductKey et la combinaison DeviceName. |
| DeviceName | String | light |
Le DeviceName de l’appareil. |
| IotId | String | dwnS41bhNxjslDAI****000100 |
L’identifiant unique attribué par IoT Platform à l’appareil. |
| LastOnlineTime | String | 2020-01-17 16:19:11 |
La dernière fois que l’appareil était en ligne. |
| Status | String | OFFLINE |
L’état de l’appareil. Valeurs valides :
|
| ErrorMessage | String | A system exception occurred. |
Le message d’erreur renvoyé en cas d’échec de l’appel. |
| RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 |
L’ID de la requête. |
| Success | Boolean | true |
Indique si l’appel a réussi. Valeurs valides :
|
Exemples
Exemple de requête
https://iot.cn-shanghai.aliyuncs.com/?Action=BatchGetDeviceState
&productKey=a1BwAGV****
&DeviceName.1=device1
&DeviceName.2=device2
&<Common request parameters>
Exemple de réponse en cas de succès
XML format
<BatchGetDeviceStateResponse>
<DeviceStatusList>
<DeviceStatus>
<Status>OFFLINE</Status>
<DeviceId>dwnS41bhNxjslDAI****</DeviceId>
<DeviceName>Humidity</DeviceName>
<AsAddress>192.0.2.1</AsAddress>
<LastOnlineTime>2020-01-17 16:19:11</LastOnlineTime>
<IotId>dwnS41bhNxjslDAI****000100</IotId>
</DeviceStatus>
</DeviceStatusList>
<RequestId>3258D872-EDC5-4039-B564-C27ED7176741</RequestId>
<Success>true</Success>
</BatchGetDeviceStateResponse>
JSON format
{
"DeviceStatusList": {
"DeviceStatus": [
{
"Status": "OFFLINE",
"DeviceId": "dwnS41bhNxjslDAI****",
"DeviceName": "Humidity",
"AsAddress": "192.0.2.1",
"LastOnlineTime": "2020-01-17 16:19:11",
"IotId": "dwnS41bhNxjslDAI****000100"
}
]
},
"RequestId": "3258D872-EDC5-4039-B564-C27ED7176741",
"Success": true
}
Codes d’erreur
Des codes d’erreur supplémentaires sont disponibles dans les Codes d’erreur de service.