Tous les produits
Search
Centre de documentation

IoT Platform:Formats de données

Dernière mise à jour :Aug 12, 2026

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é : /${productKey}/${deviceName}/user/${TopicShortName}.

${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 (#).

  • Tous les équipements (+) : indique tous les appareils du produit spécifié.

  • /user/# : Tous les topics personnalisés pour un appareil spécifié.

Utiliser des topics personnalisés pour la communication

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}.

État en ligne et hors ligne de l'appareil

TSL Data Reporting

Comprend :

  • Un appareil signale les données de propriété sur le topic suivant : /${productKey}/${deviceName}/thing/event/property/post.

  • Les données d'événement signalées par un appareil sont transférées vers le topic /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post.

  • Le topic permettant de transférer les données de propriété par lots depuis les appareils est /${productKey}/${deviceName}/thing/property/batch/post.

  • Le topic permettant de transférer les données d'événement par lots depuis les appareils est /${productKey}/${deviceName}/thing/event/batch/post.

  • Un appareil envoie des messages de réponse aux commandes cloud sur le topic suivant : /${productKey}/${deviceName}/thing/downlink/reply/message.

Les topics suivants servent à soumettre des données brutes d'appareil :

  • /sys/${productKey}/${deviceName}/thing/event/property/post : Ce topic permet de soumettre des propriétés d'appareil.

  • /sys/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post et /sys/${productKey}/${deviceName}/thing/event/${tsl.functionBlockId}:{tsl.event.identifier}/post : Ces topics permettent de soumettre des événements d'appareil.

  • /sys/${productKey}/${deviceName}/thing/event/property/batch/post : Ce topic permet de soumettre des propriétés et des événements d'appareil par lots.

Device Changes Throughout Lifecycle

Topic utilisé pour transférer les messages lorsqu'un appareil est créé, supprimé, désactivé ou activé. Format : /${productKey}/${deviceName}/thing/lifecycle.

Modifications du cycle de vie de l'appareil

Sub-Device Data Report Detected by Gateway

Le topic /${productKey}/${deviceName}/thing/list/found permet aux passerelles de signaler à IoT Platform les informations relatives aux sous-appareils découverts.

Découverte de sous-appareils par la passerelle

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.

Modifications des relations topologiques des appareils

Un appareil utilise le topic /sys/${productKey}/${deviceName}/thing/topo/change pour signaler des données brutes.

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 /${productKey}/${deviceName}/thing/deviceinfo/update.

Modifications des tags d'appareil

Un appareil utilise le topic suivant pour signaler des données brutes : /sys/${productKey}/${deviceName}/thing/deviceinfo/update.

Soumettre des tags

TSL Historical Data Reporting

Comprend :

  • /${productKey}/${deviceName}/thing/event/property/history/post : Ce topic permet de transférer les propriétés historiques.

  • /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post : Ce topic permet de transférer les événements historiques.

/sys/${productKey}/${deviceName}/thing/event/property/history/post : Ce topic permet de soumettre des données TSL historiques.

Signaler des données historiques pour un modèle Thing Specification Language

Device Status Notification for OTA Updates

Comprend :

  • Le topic permettant de transférer le résultat de la mise à jour OTA d'un appareil est /${productKey}/${deviceName}/ota/upgrade.

  • Un appareil signale la progression de la mise à jour OTA sur le topic /${productKey}/${deviceName}/ota/progress/post.

Un appareil signale sa progression de mise à niveau sur le topic suivant : /ota/device/progress/${productKey}/${deviceName}.

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) : /${productKey}/${deviceName}/ota/version/post.

Notification de modification de version de module OTA

Un appareil utilise le topic suivant pour signaler sa version de module OTA : /ota/device/inform/${productKey}/${deviceName}.

L'appareil signale la version du 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 : /${productKey}/${packageId}/${jobId}/ota/job/status.

Notifications d'état pour les lots de mises à jour OTA

Job Event

Comprend les topics suivants :

  • Notifications d'état des tâches d'appareil : /sys/uid/${uid}/job/${jobId}/lifecycle.

  • Notifications d'état des tâches de migration d'instance : /sys/uid/${uid}/distribution/${jobId}/lifecycle.

    Remarque

    Le nom du produit à migrer est utilisé comme nom de la tâche de migration d'instance.

É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.

  • online : En ligne.

  • offline : Hors ligne.

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 :

  1. En ligne : 2018-08-31 10:02:28.195.

  2. Hors ligne : 2018-08-31 10:01:28.195.

  3. Hors ligne : 2018-08-31 10:03:28.195.

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 ${ModuleIdentifier}:${PropertyIdentifier} (le deux-points : sert de séparateur). Par exemple, si l'identifiant d'un module de modèle TSL personnalisé est test, le format des données est le suivant :

{
        "items":{
            "test:Power":{
                "value":"on",
                "time":1510799670074
            },
            "test:Position":{
                "time":1510292697470,
                "value":{
                    "latitude":39.9,
                    "longitude":116.38
                }
            }
        }
    }

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 ${ModuleIdentifier}:${EventIdentifier} (le deux-points : sert de séparateur). Par exemple, si l'identifiant d'un module de modèle TSL personnalisé est test, le format des données est le suivant :

"test:identifier":"BrokenInfo",

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.

{
    "Power":"on",
    "Position":{
        "latitude":39.9,
        "longitude":116.38
    }
}
Important
  • Tous les paramètres de sortie apparaissent dans le paramètre value uniquement si tous les paramètres de sortie de l'événement réussissent la validation. Dans ce cas, le paramètre checkFailedData est vide.

  • Si un seul paramètre de sortie de l'événement échoue à la validation, tous les paramètres de sortie apparaissent dans le paramètre checkFailedData. Dans ce cas, le paramètre value est vide.

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 :

{
    "value":{
        "Power":"on",
        "Position":{
            "latitude":39.9,
            "longitude":116.38
        }
    },
    "time":1524448722000,
    "code":6304,
    "message":"tsl parse: params not exist -> type"
}

Où :

  • value : Object. Informations sur les paramètres de sortie de l'événement.

  • time : Long. Horodatage de génération de l'événement.

  • 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.

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 ${ModuleIdentifier}:${PropertyIdentifier} (le deux-points : sert de séparateur). Par exemple, si l'identifiant d'un module de modèle TSL personnalisé est test, le format des données est le suivant :

{
        "items":{
            "test:Power":[
                {
                    "value":"on",
                    "time":1510799670074
                },
                {
                    "value": "off", 
                    "time": 1524448722001
                }
            ],
            "test:WF":[
                {
                    "value": 3, 
                    "time": 1524448722000
                },
                {
                    "value": 4, 
                    "time": 1524448722009
                }
            ]
        }
    }

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

  • create : un appareil est créé.

  • delete : un appareil est supprimé.

  • enable : un appareil est activé.

  • disable : un appareil est désactivé.

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 create.

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

  • create : ajout d'une relation topologique.

  • delete : suppression d'une relation topologique.

  • enable : activation d'une relation topologique.

  • disable : désactivation d'une relation topologique.

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.

Tableau 1. Codes de résultat

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 ${ModuleIdentifier}:${PropertyIdentifier} (le deux-points : sert de séparateur). Par exemple, si l'identifiant d'un module de modèle TSL personnalisé est test, le format des données est le suivant :

{
        "items":{
            "test:Power":{
                "value":"on",
                "time":1510799670074
            },
            "test:Position":{
                "time":1510292697470,
                "value":{
                    "latitude":39.9,
                    "longitude":116.38
                }
            }
        }
    }

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 ${ModuleIdentifier}:${EventIdentifier} (le deux-points : sert de séparateur). Par exemple, si l'identifiant d'un module de modèle TSL personnalisé est test, le format des données est :

"test:identifier":"BrokenInfo",

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.

{
    "Power":"on",
    "Position":{
        "latitude":39.9,
        "longitude":116.38
    }
}
Important
  • Lorsque tous les paramètres de sortie de l'événement passent la validation avec succès, ils apparaissent intégralement dans le paramètre value. Le paramètre checkFailedData reste alors vide.

  • Si la validation échoue pour au moins un paramètre de sortie, l'ensemble des paramètres s'affiche dans le champ checkFailedData. Dans ce cas, le paramètre value est vide.

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 :

{
    "value":{
        "Power":"on",
        "Position":{
            "latitude":39.9,
            "longitude":116.38
        }
    },
    "time":1524448722000,
    "code":6304,
    "message":"tsl parse: params not exist -> type"
}

Où :

  • value : Object. Informations sur les paramètres de sortie de l'événement.

  • time : Long. Horodatage de génération de l'événement.

  • code : Integer. Code d'erreur associé aux échecs de validation TSL. Consultez la rubrique Codes d'erreur pour les appareils.

  • message : String. Message d'erreur retourné lorsque les données ne passent pas la validation du modèle TSL, incluant la cause de l'échec et les paramètres non valides.

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).

Remarque

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.

  • SUCCEEDED : Mise à jour réussie.

  • FAILED : Échec de la mise à jour.

  • CANCELED : Mise à jour annulée.

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 à IN_PROGRESS (en cours).

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 :

  • PLANNED : La mise à jour n'a pas encore démarré.

  • IN_PROGRESS : Mise à jour en cours.

  • COMPLETED : Mise à jour terminée.

  • CANCELED : Tâche annulée.

  • UNFINISH : Inachevée.

    Ce statut s'applique lorsqu'une instance Enterprise ne dispose pas d'un nombre suffisant de mises à niveau disponibles.

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 :

  • UPDATE : Un tag a été mis à jour ou ajouté.

  • DELETE : Suppression d'un tag spécifique.

  • DELETEALL : Effacement de tous les tags.

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.

  • SET_PROPERTY : tâche de définition de propriétés d'appareil par lot.

  • INVOKE_SERVICE : tâche d'invocation de service d'appareil par lot.

  • CUSTOM_JOB : tâche personnalisée.

status

String

Statut de la tâche. Valeurs autorisées :

  • INITIALIZING : Initialisation de la tâche en cours.

  • WAITING : Tâche en attente de planification.

  • IN_PROGRESS : Tâche en cours d'exécution.

  • COMPLETED : Tâche terminée.

  • CANCELLING : Annulation de la tâche en cours.

  • CANCELLED : Tâche annulée.

  • REMOVING : Suppression de la tâche en cours.

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 :

  • GRAY_EXECUTING : Migration progressive en cours.

  • GRAY_FINISHED : Migration progressive terminée.

  • ALL_EXECUTING : Migration complète en cours.

  • ALL_FINISHED : Migration complète terminée.

  • ALL_PAUSE : Migration suspendue.

  • ROLL_BACK_EXECUTING : Restauration en cours.

  • BATCH_ROLL_BACK_EXECUTING : Restauration par lots en cours.

  • ROLL_BACK_PAUSE : Restauration suspendue.

messageCreateTime

Long

Horodatage de génération du message. Unité : milliseconde.

type

String

Type de tâche. La valeur est fixée à INSTANCE_UPGRADE.

sourceInstance

String

ID de l'instance publique source pour la migration d'instance. L'ID d'une instance publique de version antérieure est iotx-oxssharez200.

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 :

  • Si le statut est GRAY_EXECUTING ou ALL_EXECUTING, ce paramètre indique les appareils migrés avec succès de l'instance publique source vers l'instance Enterprise cible.

  • Si le statut est ROLL_BACK_EXECUTING ou BATCH_ROLL_BACK_EXECUTING, ce paramètre indique les appareils migrés avec succès de l'instance Enterprise vers l'instance publique.

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.