IoT Platform transfère et s'abonne aux données en fonction des formats de topic. Les formats de topic personnalisés sont définis par l'utilisateur. Les formats de topic de communication de base et TSL sont convertis lors du transfert des messages. Cette rubrique documente chaque format converti.
Topics de transfert de messages et de communication avec les appareils
Les définitions et classifications des topics de communication sont détaillées dans Qu'est-ce qu'un topic ?.
Spécifiez le format de données brutes lors du développement de l'appareil :
-
Les données des topics de communication de base et TSL doivent respecter le protocole Alink, comme décrit dans les documents associés du répertoire du protocole Alink.
Après le transfert, le format des données est converti. Chaque format converti est décrit ci-dessous.
-
Vous définissez le format des données pour les topics personnalisés.
Après le transfert, les données des topics personnalisés restent inchangées.
Le tableau suivant associe les topics de transfert aux topics de communication avec les appareils correspondants.
Tableau 1. Description des topics
Topic | Description | Références |
Custom | Un topic permettant de transférer des messages dans un format de données personnalisé suit le même format qu'un topic personnalisé : ${TopicShortName} désigne une catégorie de topic personnalisé, correspondant au suffixe du topic personnalisé. La valeur peut contenir des caractères génériques, notamment des signes plus (+) et des dièses (#).
| |
Device Status Change Notification | Topic utilisé pour transférer les notifications lorsque l'état d'un appareil passe d'en ligne à hors ligne, ou inversement. Format : /as/mqtt/status/${productKey}/${deviceName}. | |
TSL Data Reporting | Comprend :
| |
Les topics suivants servent à soumettre des données brutes d'appareil :
| ||
Device Changes Throughout Lifecycle | Topic utilisé pour transférer les messages lorsqu'un appareil est créé, supprimé, désactivé ou activé. Format : | |
Sub-Device Data Report Detected by Gateway | Le topic | |
Device Topological Relation Changes | Topic utilisé pour transférer les notifications lors de la création ou de la suppression de relations topologiques entre les sous-appareils et la passerelle. Ce topic est spécifique aux passerelles. Format : /${productKey}/${deviceName}/thing/topo/lifecycle. | |
Un appareil utilise le topic | Notifier les passerelles des modifications de relations topologiques | |
Device tag change | Le topic permettant de transférer les mises à jour de tags d'appareil est | |
Un appareil utilise le topic suivant pour signaler des données brutes : | ||
TSL Historical Data Reporting | Comprend :
| |
| Signaler des données historiques pour un modèle Thing Specification Language | |
Device Status Notification for OTA Updates | Comprend :
| |
Un appareil signale sa progression de mise à niveau sur le topic suivant : | Signalement de la progression de la mise à niveau de l'appareil | |
Submit a module version number | Topic permettant de signaler une version mise à jour d'un module OTA (Over-the-Air) : | |
Un appareil utilise le topic suivant pour signaler sa version de module OTA : | ||
Batch status notification | IoT Platform publie les notifications de changement d'état pour un lot de mises à jour OTA sur le topic suivant : | |
Job Event | Comprend les topics suivants :
|
État en ligne et hors ligne de l'appareil
Topic : /as/mqtt/status/${productKey}/${deviceName}
Signale l'état en ligne ou hors ligne d'un appareil.
Format en ligne :
{
"status":"online",
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"productKey":"al12345****",
"deviceName":"deviceName1234",
"time":"2018-08-31 15:32:28.205",
"utcTime":"2018-08-31T07:32:28.205Z",
"lastTime":"2018-08-31 15:32:28.195",
"utcLastTime":"2018-08-31T07:32:28.195Z",
"clientIp":"192.0.2.1"
}
Format hors ligne :
{
"status":"offline",
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"offlineReasonCode":427,
"productKey":"al12345****",
"deviceName":"deviceName1234",
"time":"2018-08-31 15:32:28.205",
"utcTime":"2018-08-31T07:32:28.205Z",
"lastTime":"2018-08-31 15:32:28.195",
"utcLastTime":"2018-08-31T07:32:28.195Z",
"clientIp":"192.0.2.1"
}
Description des paramètres :
|
Paramètre |
Type |
Description |
|
status |
String |
État de l'appareil.
|
|
iotId |
String |
Identifiant unique de l'appareil dans IoT Platform. |
|
offlineReasonCode |
Integer |
Code d'erreur lorsque l'appareil passe hors ligne. Codes d'erreur de comportement de l'appareil. |
|
productKey |
String |
Identifiant unique du produit auquel l'appareil appartient. |
|
deviceName |
String |
Nom de l'appareil. |
|
lastTime |
String |
Obsolète. N'est plus utilisé. |
|
utcLastTime |
String |
|
|
time |
String |
Heure à laquelle l'appareil est passé en ligne ou hors ligne. Les messages ne sont pas triés par heure de mise en ligne/hors ligne. Triez-les selon la valeur time. Par exemple, vous recevez successivement les trois messages suivants :
Ces trois messages indiquent que l'appareil est passé hors ligne, puis en ligne, puis de nouveau hors ligne. |
|
utcTime |
String |
Heure UTC à laquelle l'appareil est passé en ligne ou hors ligne. |
|
clientIp |
String |
Adresse IP publique de l'appareil. |
Soumettre des propriétés d'appareil
Topic : /${productKey}/${deviceName}/thing/event/property/post
Signale les propriétés soumises par un appareil.
Format des données :
{
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"requestId":"2",
"productKey":"al12345****",
"deviceName":"deviceName1234",
"gmtCreate":1510799670074,
"deviceType":"Ammeter",
"items":{
"Power":{
"value":"on",
"time":1510799670074
},
"Position":{
"time":1510292697470,
"value":{
"latitude":39.9,
"longitude":116.38
}
}
},
"checkFailedData":{
"attribute_8":{
"time": 1510292697470,
"value": 715665571,
"code":6304,
"message":"tsl parse: params not exist -> attribute_8"
}
}
}
Description des paramètres :
|
Paramètre |
Type |
Description |
|
iotId |
String |
Identifiant unique de l'appareil dans IoT Platform. |
|
requestId |
String |
L'Id issu du message brut de l'appareil. Chaîne numérique comprise entre 0 et 4294967295. Doit être unique par appareil. |
|
productKey |
String |
Identifiant unique du produit auquel l'appareil appartient. |
|
deviceName |
String |
Nom de l'appareil. |
|
gmtCreate |
Long |
Heure de génération du message de transfert de données. |
|
deviceType |
String |
Catégorie de l'appareil. Définie lors de la création d'un produit (Créer un produit ou CreateProduct). |
|
items |
Object |
Données de l'appareil. |
|
Power |
String |
Identifiant de la propriété. Pour les noms de propriété, reportez-vous à la description TSL du produit. Si la propriété appartient à un module personnalisé, son identifiant suit le format
|
|
Position |
||
|
attribute_8 |
||
|
checkFailedData |
Object |
Données ayant échoué à la validation du modèle TSL. |
|
value |
Défini par le TSL |
Valeur de la propriété. |
|
time |
Long |
Heure de signalement de la propriété. Par défaut, il s'agit de l'heure à laquelle IoT Platform génère les données si l'appareil ne les a pas signalées. |
|
code |
Integer |
Code d'erreur en cas d'échec de validation TSL. Codes d'erreur pour les appareils. |
|
message |
String |
Message d'erreur renvoyé lorsque les données échouent à la validation du modèle TSL, incluant la cause de l'échec et les paramètres non valides. |
Soumettre des événements d'appareil
Topic : /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post
Signale les événements soumis par un appareil.
Format des données :
{
"identifier":"BrokenInfo",
"name":"Damage Rate Submission",
"type":"info",
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"requestId":"2",
"productKey":"X5eCzh6****",
"deviceName":"5gJtxDVeGAkaEztpisjX",
"gmtCreate":1510799670074,
"value":{
"Power":"on",
"Position":{
"latitude":39.9,
"longitude":116.38
}
},
"checkFailedData":{},
"time":1510799670074
}
Description des paramètres :
|
Paramètre |
Type |
Description |
|
identifier |
String |
Identifiant de l'événement. Si l'événement appartient à un module personnalisé, son identifiant suit le format
|
|
name |
String |
Nom de l'événement. |
|
type |
String |
Type d'événement. Pour les types d'événements, reportez-vous à la description TSL du produit. |
|
iotId |
String |
Identifiant unique de l'appareil dans IoT Platform. |
|
requestId |
String |
L'Id issu du message brut de l'appareil. Chaîne numérique comprise entre 0 et 4294967295. Doit être unique par appareil. |
|
productKey |
String |
Identifiant unique du produit auquel l'appareil appartient. |
|
deviceName |
String |
Nom de l'appareil. |
|
gmtCreate |
Long |
Heure de génération du message de transfert de données. |
|
value |
Object |
Informations sur les paramètres de sortie de l'événement. L'exemple présente les informations relatives aux deux paramètres Power et Position.
Important
|
|
checkFailedData |
Object |
Données ayant échoué à la validation du modèle TSL. Si les paramètres de sortie de l'événement échouent à la validation, le paramètre checkFailedData contient :
Où :
|
|
time |
Long |
Heure de signalement de l'événement. Par défaut, il s'agit de l'heure à laquelle IoT Platform génère les données si l'appareil ne les a pas signalées. |
Soumission des propriétés d'un appareil par lots
Topic : /${productKey}/${deviceName}/thing/property/batch/post
Signale les propriétés soumises par un appareil par lots.
Format des données :
{
"productKey": "al12345****",
"deviceName": "deviceName1234",
"instanceId": "iot-0***",
"requestId": "2",
"items": {
"Power": [
{
"value": "on",
"time": 1524448722000
},
{
"value": "off",
"time": 1524448722001
}
],
"WF": [
{
"value": 3,
"time": 1524448722000
},
{
"value": 4,
"time": 1524448722009
}
]
}
}
Description des paramètres :
|
Paramètre |
Type |
Description |
|
productKey |
String |
Identifiant unique du produit auquel l'appareil appartient. |
|
deviceName |
String |
Nom de l'appareil. |
|
instanceId |
String |
ID de l'instance à laquelle l'appareil appartient. |
|
requestId |
String |
Champ Id issu du message brut de l'appareil. Chaîne numérique comprise entre 0 et 4294967295. Doit être unique pour chaque appareil. |
|
items |
Object |
Données de l'appareil. |
|
Power |
String |
Identifiant de la propriété. Pour les noms de propriétés, consultez la description TSL du produit. Si la propriété appartient à un module personnalisé, son identifiant suit le format
|
|
WF |
||
|
value |
Défini par le TSL |
Valeur de la propriété. |
|
time |
Long |
Horodatage du signalement de la propriété. Si l'appareil ne fournit pas cette information, IoT Platform utilise par défaut l'heure de génération des données. |
Soumission des événements d'un appareil par lots
Topic : /${productKey}/${deviceName}/thing/event/batch/post
Signale les événements soumis par un appareil par lots.
Format des données :
{
"productKey": "al12345****",
"deviceName": "deviceName1234",
"instanceId": "iot-0***",
"requestId": "2",
"items": {
"alarmEvent": [
{
"value": {
"Power": "on",
"WF": "2"
},
"time": 1524448722000
},
{
"value": {
"Power": "on",
"WF": "2"
},
"time": 1524448723000
}
]
}
}
Description des paramètres :
|
Paramètre |
Type |
Description |
|
productKey |
String |
Identifiant unique du produit auquel l'appareil appartient. |
|
deviceName |
String |
Nom de l'appareil. |
|
instanceId |
String |
ID de l'instance à laquelle l'appareil appartient. |
|
requestId |
String |
Champ Id issu du message brut de l'appareil. Chaîne numérique comprise entre 0 et 4294967295. Doit être unique pour chaque appareil. |
|
items |
Object |
Données de l'appareil. |
|
alarmEvent |
List |
Identifiant de l'événement. |
|
value |
Object |
Paramètres de l'événement. Dans l'exemple ci-dessus, Power et WF correspondent aux noms des paramètres de l'événement. |
|
time |
Long |
Horodatage du signalement de l'événement. Si l'appareil ne fournit pas cette information, IoT Platform utilise par défaut l'heure de génération des données. |
Changements du cycle de vie de l'appareil
Topic : /${productKey}/${deviceName}/thing/lifecycle
Signale les événements de création, suppression, activation et désactivation d'un appareil.
Format des données :
{
"action": "create|delete|enable|disable",
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "al5eCzh****",
"deviceName": "5gJtxDVeGAkaEztpisjX",
"deviceSecret": "wsde***",
"messageCreateTime": 1510292739881
}
Description des paramètres :
|
Paramètre |
Type |
Description |
|
action |
String |
|
|
iotId |
String |
Identifiant unique de l'appareil dans IoT Platform. |
|
productKey |
String |
Identifiant unique du produit. |
|
deviceName |
String |
Nom de l'appareil. |
|
deviceSecret |
String |
Secret de l'appareil. Ce paramètre n'est présent que si le paramètre action a la valeur |
|
messageCreateTime |
Integer |
Horodatage de génération du message. Unité : milliseconde. |
Modifications de la topologie de l'appareil
Topic : /${productKey}/${deviceName}/thing/topo/lifecycle
Signale les changements de topologie entre un sous-appareil et une passerelle.
Format des données :
{
"action" : "create|delete|enable|disable",
"gwIotId": "dfaejVQHk6VSLmmBJfrf00107e****",
"gwProductKey": "al5eCzh****",
"gwDeviceName": "deviceName1234",
"devices": [
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "ala4Czh****",
"deviceName": "deviceName1234"
}
],
"messageCreateTime": 1510292739881
}
Description des paramètres :
|
Paramètre |
Type |
Description |
|
action |
String |
|
|
gwIotId |
String |
Identifiant unique de la passerelle dans IoT Platform. |
|
gwProductKey |
String |
Identifiant unique du produit de la passerelle. |
|
gwDeviceName |
String |
Nom de la passerelle. |
|
devices |
Object |
Liste des sous-appareils concernés par la modification. |
|
iotId |
String |
Identifiant unique du sous-appareil dans IoT Platform. |
|
productKey |
String |
Identifiant unique du produit du sous-appareil. |
|
deviceName |
String |
Nom du sous-appareil. |
|
messageCreateTime |
Integer |
Horodatage de génération du message. Unité : milliseconde. |
Découverte de sous-appareils par la passerelle
Topic : /${productKey}/${deviceName}/thing/list/found
Signale les informations relatives aux sous-appareils détectés par une passerelle.
Format des données :
{
"gwIotId":"dfaew9VQHk6VSLmmBJfrf00107e****",
"gwProductKey":"al12345****",
"gwDeviceName":"deviceName1234",
"devices":[
{
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"productKey":"alr56g9****",
"deviceName":"deviceName1234"
}
]
}
Description des paramètres :
|
Paramètre |
Type |
Description |
|
gwIotId |
String |
Identifiant unique de la passerelle dans IoT Platform. |
|
gwProductKey |
String |
Identifiant unique du produit de la passerelle. |
|
gwDeviceName |
String |
Nom de la passerelle. |
|
devices |
Object |
Liste des sous-appareils découverts. |
|
iotId |
String |
Identifiant unique du sous-appareil dans IoT Platform. |
|
productKey |
String |
Identifiant unique du produit auquel le sous-appareil appartient. |
|
deviceName |
String |
Nom du sous-appareil. |
Résultats des commandes descendantes
Topic : /${productKey}/${deviceName}/thing/downlink/reply/message
Signale les résultats des commandes asynchrones de définition de propriétés et d'invocation de services traitées par un appareil. Renvoie également les messages d'erreur en cas d'échec des commandes.
Format des données :
{
"gmtCreate":1510292739881,
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"productKey":"al12355****",
"deviceName":"deviceName1234",
"requestId":"2",
"code":200,
"message":"success",
"topic":"/sys/al12355****/deviceName1234/thing/service/property/set",
"data":{},
"checkFailedData":{
"value": {
"PicID": "15194139"
},
"code":6304,
"message":"tsl parse: params not exist -> PicID"
}
}
Description des paramètres :
|
Paramètre |
Type |
Description |
|
gmtCreate |
Long |
Horodatage UTC. |
|
iotId |
String |
Identifiant unique de l'appareil dans IoT Platform. |
|
productKey |
String |
Identifiant unique du produit auquel l'appareil appartient. |
|
deviceName |
String |
Nom de l'appareil. |
|
requestId |
String |
Champ Id issu du message brut de l'appareil. Chaîne numérique comprise entre 0 et 4294967295. Doit être unique pour chaque appareil. |
|
code |
Integer |
Code de résultat renvoyé par l'appareil. Les valeurs possibles figurent dans le tableau Codes de résultat. |
|
message |
String |
Informations sur le code de résultat renvoyées par l'appareil. |
|
topic |
String |
Informations relatives au topic utilisé pour envoyer la commande à l'appareil. |
|
data |
Object |
Résultat renvoyé par l'appareil. Pour les données au format Alink, le résultat du traitement est renvoyé directement. Pour les données au format transparent, elles doivent être transformées par un script. |
|
checkFailedData |
Object |
Données ayant échoué lors de la validation du modèle TSL. |
|
value |
Défini par le TSL |
Valeur de propriété ou paramètre de service ayant échoué lors de la validation du modèle TSL. Dans l'exemple ci-dessus, PicID correspond au nom du paramètre qui a échoué lors de la validation. |
|
code |
Integer |
Code d'erreur pour les échecs de validation TSL. Consultez la rubrique Codes d'erreur pour les appareils. |
|
message |
String |
Message d'erreur renvoyé lorsque les données échouent lors de la validation du modèle TSL, incluant la cause de l'échec et les paramètres non valides. |
|
code |
message |
Description |
|
200 |
success |
La requête a réussi. |
|
400 |
request error |
Une erreur interne du service s'est produite pendant le traitement. |
|
460 |
request parameter error |
Paramètre de requête non valide. L'appareil n'a pas pu valider le paramètre d'entrée. |
|
429 |
too many requests |
Trop de requêtes. |
|
9200 |
device not actived |
L'appareil n'est pas activé. |
|
9201 |
device offline |
L'appareil est hors ligne. |
|
403 |
request forbidden |
La requête est interdite en raison d'un retard de paiement. |
Résolvez ces erreurs en consultant la référence Codes d'erreur pour les appareils.
Soumission de propriétés historiques
Topic : /${productKey}/${deviceName}/thing/event/property/history/post
Signale les données historiques de propriétés TSL soumises par un appareil.
Format des données :
{
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"requestId":"2",
"productKey":"12345****",
"deviceName":"deviceName1234",
"gmtCreate":1510799670074,
"deviceType":"Ammeter",
"items":{
"Power":{
"value":"on",
"time":1510799670074
},
"Position":{
"time":1510292697470,
"value":{
"latitude":39.9,
"longitude":116.38
}
}
},
"checkFailedData":{
"attribute_8":{
"time": 1510292697470,
"value": 715665571,
"code":6304,
"message":"tsl parse: params not exist -> attribute_8"
}
}
}
Description des paramètres :
|
Paramètre |
Type |
Description |
|
iotId |
String |
Identifiant unique de l'appareil dans IoT Platform. |
|
requestId |
String |
Champ Id issu du message brut de l'appareil. Chaîne numérique comprise entre 0 et 4294967295. Doit être unique pour chaque appareil. |
|
productKey |
String |
Identifiant unique du produit auquel l'appareil appartient. |
|
deviceName |
String |
Nom de l'appareil. |
|
gmtCreate |
Long |
Heure de génération du message de transfert de données. |
|
deviceType |
String |
Catégorie de l'appareil. Définie lors de la création d'un produit (Créer un produit ou CreateProduct). |
|
items |
Object |
Données de l'appareil. |
|
Power |
String |
Identifiant de la propriété. Pour les noms de propriétés, consultez la description TSL du produit. Si la propriété appartient à un module personnalisé, son identifiant suit le format
|
|
Position |
||
|
attribute_8 |
||
|
checkFailedData |
Object |
Données ayant échoué lors de la validation du modèle TSL. |
|
value |
Défini par le TSL |
Valeur de la propriété. |
|
time |
Long |
Horodatage du signalement de la propriété. Si l'appareil ne fournit pas cette information, IoT Platform utilise par défaut l'heure de génération des données. |
|
code |
Integer |
Code d'erreur pour les échecs de validation TSL. Consultez la rubrique Codes d'erreur pour les appareils. |
|
message |
String |
Message d'erreur renvoyé lorsque les données échouent lors de la validation du modèle TSL, incluant la cause de l'échec et les paramètres non valides. |
Soumission d'événements historiques
Topic : /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post
Signale les données d'événements historiques transmises par un appareil.
Format des données :
{
"identifier":"BrokenInfo",
"name":"Damage Rate Submission",
"type":"info",
"iotId":"4z819VQHk6VSLmmBJfrf00107e***",
"requestId":"2",
"productKey":"X5eCzh6***",
"deviceName":"5gJtxDVeGAkaEztpisjX",
"value":{
"Power":"on",
"Position":{
"latitude":39.9,
"longitude":116.38
}
},
"checkFailedData":{},
"time":1510799670074
}
Description des paramètres :
|
Parameter |
Type |
Description |
|
identifier |
String |
Identifiant de l'événement. Pour un événement de module personnalisé, l'identifiant suit le format
|
|
name |
String |
Nom de l'événement. |
|
type |
String |
Type de l'événement. Pour plus d'informations sur les types d'événements, reportez-vous à la description TSL du produit. |
|
iotId |
String |
Identifiant unique de l'appareil dans IoT Platform. |
|
requestId |
String |
Champ Id issu du message brut de l'appareil. Chaîne numérique comprise entre 0 et 4294967295. Doit être unique pour chaque appareil. |
|
productKey |
String |
Identifiant unique du produit auquel l'appareil appartient. |
|
deviceName |
String |
Nom de l'appareil. |
|
gmtCreate |
Long |
Horodatage de génération du message de transfert de données. |
|
value |
Object |
Informations sur les paramètres de sortie de l'événement. L'exemple illustre les informations relatives aux deux paramètres Power et Position.
Important
|
|
checkFailedData |
Object |
Données ayant échoué lors de la validation du modèle TSL. En cas d'échec de validation des paramètres de sortie de l'événement, le paramètre checkFailedData contient :
Où :
|
|
time |
Long |
Heure de signalement de l'événement. Si l'appareil ne fournit pas cette information, la valeur correspond par défaut à l'heure de génération des données par IoT Platform. |
Notifications de statut de mise à jour OTA
Topic : /${productKey}/${deviceName}/ota/upgrade
Signale les résultats d'une mise à jour OTA (succès, échec ou annulation).
Si un appareil possède une tâche de mise à jour inachevée et que vous lancez une mise à jour par lot, cette dernière échoue. Dans ce scénario, IoT Platform ne transfère pas le message d'échec.
Format des données :
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "X5eCzh6****",
"deviceName": "deviceName1234",
"moduleName": "default",
"status": "SUCCEEDED|FAILED|CANCELED",
"messageCreateTime": 1571323748000,
"srcVersion": "1.0.1",
"destVersion": "1.0.2",
"desc": "success",
"jobId": "wahVIzGkCMuAUE2gDERM02****",
"taskId": "y3tOmCDNgpR8F9jnVEzC01****"
}
Description des paramètres :
|
Parameter |
Type |
Description |
|
iotId |
String |
Identifiant unique de l'appareil. |
|
productKey |
String |
Identifiant unique du produit auquel l'appareil appartient. |
|
deviceName |
String |
Nom de l'appareil. |
|
moduleName |
String |
Nom du module OTA. |
|
status |
String |
Statut de la mise à jour.
|
|
messageCreateTime |
Long |
Horodatage de génération du message. Unité : milliseconde. |
|
srcVersion |
String |
Version installée avant la mise à jour. |
|
destVersion |
String |
Version cible de la mise à jour. |
|
desc |
String |
Description du statut de mise à jour. |
|
jobId |
String |
ID du lot de mise à jour. Identifie de manière unique le lot concerné. |
|
taskId |
String |
Identifiant unique de l'enregistrement de mise à jour de l'appareil. |
Notifications de progression de mise à jour OTA
Topic : /${productKey}/${deviceName}/ota/progress/post
Signale la progression d'une mise à jour OTA.
Format des données :
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "X5eCzh6****",
"deviceName": "deviceName1234",
"moduleName":"default",
"status":"IN_PROGRESS",
"step": "90",
"messageCreateTime": 1571323748000,
"srcVersion":"1.0.1",
"destVersion":"1.0.2",
"desc": "success",
"jobId": "wahVIzGkCMuAUE2gDERM02****",
"taskId": "y3tOmCDNgpR8F9jnVEzC01****"
}
Description des paramètres :
|
Parameter |
Type |
Description |
|
iotId |
String |
Identifiant unique de l'appareil. |
|
productKey |
String |
Identifiant unique du produit auquel l'appareil appartient. |
|
deviceName |
String |
Nom de l'appareil. |
|
moduleName |
String |
Nom du module OTA. |
|
status |
String |
Statut de la mise à jour. La valeur est fixée à |
|
step |
Integer |
Progression de la mise à jour signalée par l'appareil. |
|
messageCreateTime |
Long |
Horodatage de génération du message. Unité : milliseconde. |
|
srcVersion |
String |
Version installée avant la mise à jour. |
|
destVersion |
String |
Version cible de la mise à jour. |
|
desc |
String |
Description du statut de mise à jour. |
|
jobId |
String |
ID du lot de mise à jour. Identifie de manière unique le lot concerné. |
|
taskId |
String |
Identifiant unique de l'enregistrement de mise à jour de l'appareil. |
Notifications de changement de version de module OTA
Topic : /${productKey}/${deviceName}/ota/version/post
Signale les numéros de version des modules OTA lorsqu'un appareil soumet une nouvelle version.
Format des données :
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"deviceName": "deviceName1234",
"productKey": "X5eCzh6****",
"moduleName": "BarcodeScanner",
"moduleVersion": "1.0.3",
"messageCreateTime": 1571323748000
}
Description des paramètres :
|
Parameter |
Type |
Description |
|
iotId |
String |
Identifiant unique de l'appareil. |
|
productKey |
String |
Identifiant unique du produit auquel l'appareil appartient. |
|
deviceName |
String |
Nom de l'appareil. |
|
moduleName |
String |
Nom du module. |
|
moduleVersion |
String |
Numéro de version du module. |
|
messageCreateTime |
Long |
Horodatage de génération du message. Unité : milliseconde. |
Notifications de statut de lot de mise à jour OTA
Topic : /${productKey}/${packageId}/${jobId}/ota/job/status
Signale les changements de statut d'un lot de mise à jour OTA.
Format des données :
{
"productKey": "X5eCzh6****",
"moduleName": "BarcodeScanner",
"packageId": "wahVIzGkCMuAUE2***",
"jobId": "wahVIzGkCMuAUE2gDERM02****",
"state": "IN_PROGRESS",
"messageCreateTime": 1571323748000
}
Description des paramètres :
|
Parameter |
Type |
Description |
|
productKey |
String |
Identifiant unique du produit auquel l'appareil appartient. |
|
moduleName |
String |
Nom du module. |
|
packageId |
String |
ID du package de mise à jour. Cette valeur correspond à celle du paramètre FirmwareId retourné lors de l'appel à l'opération CreateOTAFirmware pour créer un package de mise à jour. |
|
jobId |
String |
ID du lot de mise à jour. Identifie de manière unique le lot concerné. |
|
state |
String |
Statut du lot de mise à jour. Valeurs autorisées :
|
|
messageCreateTime |
Long |
Horodatage de génération du message. Unité : milliseconde. |
Modifications des tags d'appareil
Topic : /${productKey}/${deviceName}/thing/deviceinfo/update
Signale les modifications apportées aux tags d'un appareil.
Format des données :
{
"action": "UPDATE|DELETE|DELETEALL"
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "X5eCzh6****",
"deviceName": "deviceName1234",
"deletedAttrKeyList": ["abc", "def", "rng"],
"value": [
{
"attrKey": "tagKey",
"attrValue": "tagValue"
}
],
"messageCreateTime": 1510799670074
}
Description des paramètres :
|
Parameter |
Type |
Description |
|
action |
String |
Type de modification du tag. Valeurs autorisées :
|
|
iotId |
String |
Identifiant unique de l'appareil. |
|
productKey |
String |
Identifiant unique du produit auquel l'appareil appartient. |
|
deviceName |
String |
Nom de l'appareil. |
|
deletedAttrKeyList |
List |
Liste des clés des tags supprimés. Ce paramètre apparaît uniquement lorsque le paramètre action est défini sur DELETE. |
|
value |
List |
Données du tag. |
|
attrKey |
String |
Clé du tag. |
|
attrValue |
String |
Valeur du tag. |
|
messageCreateTime |
Long |
Horodatage de génération du message. Unité : milliseconde. |
Notifications de statut des tâches d'appareil
Topic : /sys/uid/${uid}/job/${jobId}/lifecycle
Signale les changements de statut des tâches d'appareil, y compris la définition de propriétés par lot, l'invocation de services par lot et les tâches personnalisées.
Dans ce topic, ${uid} correspond à votre ID de compte Alibaba Cloud. Pour consulter cet identifiant, connectez-vous à la console IoT Platform, cliquez sur votre photo de profil, puis accédez à la page Twin Node Attribute Change.
Format des données :
{
"jobId": "4z819VQHk6VSLmm***ee200",
"jobType": "CUSTOM_JOB",
"status": "INITIALIZING",
"messageCreateTime": 1510292739881
}
Description des paramètres :
|
Parameter |
Type |
Description |
|
jobId |
String |
ID de la tâche. Identifiant global unique de la tâche. |
|
jobType |
String |
Type de tâche.
|
|
status |
String |
Statut de la tâche. Valeurs autorisées :
|
|
messageCreateTime |
Long |
Horodatage de génération du message. Unité : milliseconde. |
Notifications de statut des tâches de migration d'instance
Topic : /sys/uid/{uid}/distribution/{jobId}/lifecycle
Signale les changements de statut des tâches de migration d'instance.
Dans ce topic, ${uid} correspond à votre ID de compte Alibaba Cloud. Pour obtenir cet identifiant, connectez-vous à la console IoT Platform, passez le pointeur de la souris sur votre photo de profil, puis consultez l'Security Settings.
Format des données :
{
"jobId": "4z819VQHk6VSLmmxxxxxxxxxxee200",
"status": "GRAY_EXECUTING",
"messageCreateTime": 1510292739881,
"type":"INSTANCE_UPGRADE",
"sourceInstance":"iotx-oxssharez200",
"targetInstance":"iot-es5v4***",
"successDevices":[
{
"productKey":"al12***",
"deviceName":"deviceName1",
"iotId":"4z81frf00107e***"
}
]
}
Description des paramètres :
|
Parameter |
Type |
Description |
|
jobId |
String |
ID de la tâche. Identifiant unique global de la tâche. |
|
status |
String |
Statut de la tâche. Valeurs valides :
|
|
messageCreateTime |
Long |
Horodatage de génération du message. Unité : milliseconde. |
|
type |
String |
Type de tâche. La valeur est fixée à |
|
sourceInstance |
String |
ID de l'instance publique source pour la migration d'instance. L'ID d'une instance publique de version antérieure est Les détails sur les instances sont présentés dans la rubrique Présentation des instances. |
|
targetInstance |
String |
ID de l'instance Enterprise cible pour la migration d'instance. |
|
successDevices |
List |
Informations sur les appareils migrés avec succès :
Le paramètre successDevices peut être vide pendant le processus de migration. Cela signifie que le statut de la tâche a changé et que la tâche a démarré, mais qu'aucun appareil n'a encore été migré. |
|
productKey |
String |
Identifiant unique du produit auquel l'appareil appartient. |
|
deviceName |
String |
Nom de l'appareil. |
|
iotId |
String |
Identifiant unique de l'appareil dans IoT Platform. |