All Products
Search
Document Center

IoT Platform:Format data

Last Updated:Jun 04, 2026

Platform IoT memproses dan mengirimkan data melalui penerusan data dan langganan sisi server berdasarkan format data topik. Topik terbagi menjadi tiga kategori: topik kustom, topik komunikasi dasar, dan topik komunikasi Thing Specification Language (TSL). Anda menentukan format data untuk topik kustom. Dokumen ini mencakup format data topik komunikasi dasar dan TSL setelah penerusan pesan.

Topik untuk penerusan pesan dan komunikasi perangkat mentah

Untuk definisi, penggunaan, dan klasifikasi topik komunikasi, lihat Apa itu topik?.

Saat mengembangkan perangkat, tentukan format data mentah. Perhatikan hal berikut:

  • Data topik komunikasi dasar dan TSL harus mematuhi Protokol Alink. Lihat dokumen terkait dalam direktori Protokol Alink.

    Setelah data perangkat mentah diteruskan, format datanya dikonversi. Bagian berikut menjelaskan setiap format yang telah dikonversi.

  • Anda dapat menentukan format data untuk topik kustom.

    Setelah data perangkat mentah diteruskan, format datanya tetap tidak berubah dan sesuai dengan format topik kustom.

Tabel berikut mencantumkan topik penerusan dan topik komunikasi perangkat mentah yang sesuai.

Tabel 1. Deskripsi topik

Topik

Deskripsi

Referensi

Custom

Topik untuk meneruskan pesan dalam format data kustom mengikuti format yang sama dengan topik kustom: /${productKey}/${deviceName}/user/${TopicShortName}.

${TopicShortName} menentukan kategori topik kustom, yaitu akhiran dari topik kustom.

Nilainya dapat berisi karakter wildcard, termasuk tanda plus (+) dan tanda pagar (#).

  • Semua perangkat (+): menunjukkan semua perangkat dari produk tertentu.

  • /user/#: Semua topik kustom untuk perangkat tertentu.

Gunakan topik kustom untuk komunikasi

Device Status Change Notification

Topik yang digunakan untuk meneruskan notifikasi ketika status perangkat berubah antara online dan offline. Format: /as/mqtt/status/${productKey}/${deviceName}.

Status online dan offline perangkat

TSL Data Reporting

Mencakup:

  • Perangkat melaporkan data properti ke topik berikut: /${productKey}/${deviceName}/thing/event/property/post.

  • Data event yang dilaporkan oleh perangkat diteruskan ke topik /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post.

  • Topik untuk meneruskan data properti batch dari perangkat adalah /${productKey}/${deviceName}/thing/property/batch/post.

  • Topik untuk meneruskan data event batch dari perangkat adalah /${productKey}/${deviceName}/thing/event/batch/post.

  • Perangkat mengirim pesan respons untuk perintah cloud ke topik berikut: /${productKey}/${deviceName}/thing/downlink/reply/message.

Topik berikut digunakan untuk mengirim data perangkat mentah:

  • /sys/${productKey}/${deviceName}/thing/event/property/post: Topik ini digunakan untuk mengirim properti perangkat.

  • /sys/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post dan /sys/${productKey}/${deviceName}/thing/event/${tsl.functionBlockId}:{tsl.event.identifier}/post: Topik ini digunakan untuk mengirim event perangkat.

  • /sys/${productKey}/${deviceName}/thing/event/property/batch/post: Topik ini digunakan untuk mengirim properti dan event perangkat secara batch.

Device Changes Throughout Lifecycle

Topik yang digunakan untuk meneruskan pesan ketika perangkat dibuat, dihapus, dinonaktifkan, atau diaktifkan. Format: /${productKey}/${deviceName}/thing/lifecycle.

Perubahan siklus hidup perangkat

Sub-Device Data Report Detected by Gateway

Topik /${productKey}/${deviceName}/thing/list/found digunakan oleh perangkat gateway untuk melaporkan informasi tentang sub-perangkat yang ditemukan ke Platform IoT.

Penemuan sub-perangkat oleh gateway

Device Topological Relation Changes

Topik yang digunakan untuk meneruskan notifikasi ketika hubungan topologis antara sub-perangkat dan gateway dibuat atau dihapus. Topik ini khusus untuk gateway. Format: /${productKey}/${deviceName}/thing/topo/lifecycle.

Perubahan Relasi Topologi Perangkat

Perangkat menggunakan topik /sys/${productKey}/${deviceName}/thing/topo/change untuk melaporkan data mentah.

Beritahu gateway tentang perubahan hubungan topologis

Device tag change

Topik untuk meneruskan pembaruan tag perangkat adalah /${productKey}/${deviceName}/thing/deviceinfo/update.

Perubahan tag perangkat

Perangkat menggunakan topik berikut untuk melaporkan data mentah: /sys/${productKey}/${deviceName}/thing/deviceinfo/update.

Kirim tag

TSL Historical Data Reporting

Mencakup:

  • /${productKey}/${deviceName}/thing/event/property/history/post: Topik ini digunakan untuk meneruskan properti historis.

  • /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post: Topik ini digunakan untuk meneruskan event historis.

/sys/${productKey}/${deviceName}/thing/event/property/history/post: Topik ini digunakan untuk mengirim data TSL historis.

Cara melaporkan data historis untuk model Thing Specification Language

Device Status Notification for OTA Updates

Mencakup:

  • Topik untuk meneruskan hasil pembaruan OTA dari perangkat adalah /${productKey}/${deviceName}/ota/upgrade.

  • Perangkat melaporkan progres pembaruan OTA ke topik /${productKey}/${deviceName}/ota/progress/post.

Perangkat melaporkan progres peningkatannya ke topik berikut: /ota/device/progress/${productKey}/${deviceName}.

Melaporkan progres peningkatan perangkat

Submit a module version number

Topik untuk melaporkan versi modul Over-the-Air (OTA) yang diperbarui: /${productKey}/${deviceName}/ota/version/post.

Pemberitahuan Perubahan Versi Modul OTA

Perangkat menggunakan topik berikut untuk melaporkan versi modul OTA-nya: /ota/device/inform/${productKey}/${deviceName}.

Perangkat melaporkan versi modul OTA

Batch status notification

Platform IoT menerbitkan notifikasi perubahan status untuk batch pembaruan OTA ke topik berikut: /${productKey}/${packageId}/${jobId}/ota/job/status.

Notifikasi Status untuk Batch Pembaruan OTA

Job Event

Mencakup topik berikut:

  • Notifikasi status tugas perangkat: /sys/uid/${uid}/job/${jobId}/lifecycle.

  • Notifikasi status tugas migrasi instans: /sys/uid/${uid}/distribution/${jobId}/lifecycle.

    Catatan

    Nama produk yang akan dimigrasikan digunakan sebagai nama tugas migrasi instans.

Status online dan offline perangkat

Topik: /as/mqtt/status/${productKey}/${deviceName}

Dapatkan status online atau offline perangkat melalui topik ini.

Format data ketika perangkat online:

{
    "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 data ketika perangkat offline:

{
    "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"
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

status

String

Status perangkat.

  • online: Online.

  • offline: Offline.

iotId

String

Pengidentifikasi unik perangkat di Platform IoT.

offlineReasonCode

Integer

Kode kesalahan yang dikembalikan ketika perangkat offline. Lihat Kode kesalahan perilaku perangkat.

productKey

String

Pengidentifikasi unik produk tempat perangkat tersebut berada.

deviceName

String

Nama perangkat.

lastTime

String

Usang. Tidak digunakan lagi.

utcLastTime

String

time

String

Waktu ketika perangkat online atau offline.

Pesan tidak diurutkan berdasarkan waktu online/offline. Urutkan berdasarkan nilai time.

Sebagai contoh, Anda menerima tiga pesan berikut secara berurutan:

  1. Online: 2018-08-31 10:02:28.195.

  2. Offline: 2018-08-31 10:01:28.195.

  3. Offline: 2018-08-31 10:03:28.195.

Tiga pesan ini menunjukkan bahwa perangkat offline, lalu online, lalu offline lagi.

utcTime

String

Waktu UTC ketika perangkat online atau offline.

clientIp

String

Alamat IP publik perangkat.

Kirim properti perangkat

Topik: /${productKey}/${deviceName}/thing/event/property/post

Gunakan topik ini untuk mendapatkan properti yang dikirimkan oleh perangkat.

Format data:

{
    "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"
        }
    }
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

iotId

String

Pengidentifikasi unik perangkat di Platform IoT.

requestId

String

Id dari pesan perangkat mentah. String numerik dalam rentang 0 hingga 4294967295. Harus unik per perangkat.

productKey

String

Pengidentifikasi unik produk tempat perangkat tersebut berada.

deviceName

String

Nama perangkat.

gmtCreate

Long

Waktu saat pesan penerusan data dihasilkan.

deviceType

String

Kategori perangkat.

Kategori yang dipilih saat membuat produk. Lihat Buat produk atau CreateProduct.

items

Object

Data perangkat.

Power

String

Pengidentifikasi properti. Untuk nama properti, lihat deskripsi TSL produk.

Jika properti adalah properti modul kustom, pengidentifikasi properti berada dalam format ${ModuleIdentifier}:${PropertyIdentifier} (titik dua : digunakan sebagai pemisah). Sebagai contoh, jika pengidentifikasi modul model TSL kustom adalah test, format datanya adalah:

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

Position

attribute_8

checkFailedData

Object

Data yang gagal validasi data model TSL.

value

Ditetapkan oleh TSL

Nilai properti.

time

Long

Waktu saat properti dilaporkan. Default ke waktu saat Platform IoT menghasilkan data jika tidak dilaporkan oleh perangkat.

code

Integer

Kode kesalahan yang dikembalikan ketika data gagal validasi model TSL. Lihat Kode kesalahan untuk perangkat.

message

String

Pesan kesalahan yang dikembalikan ketika data gagal validasi model TSL, termasuk penyebab kegagalan dan parameter yang tidak valid.

Kirim event perangkat

Topik: /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post

Gunakan topik ini untuk mendapatkan informasi event yang dikirimkan oleh perangkat.

Format data:

{
    "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
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

identifier

String

Pengidentifikasi event.

Jika event adalah event modul kustom, pengidentifikasi event berada dalam format ${ModuleIdentifier}:${EventIdentifier} (titik dua : digunakan sebagai pemisah). Sebagai contoh, jika pengidentifikasi modul model TSL kustom adalah test, format datanya adalah:

"test:identifier":"BrokenInfo",

name

String

Nama event.

type

String

Tipe event. Untuk tipe event, lihat deskripsi TSL produk.

iotId

String

Pengidentifikasi unik perangkat di Platform IoT.

requestId

String

Id dari pesan perangkat mentah. String numerik dalam rentang 0 hingga 4294967295. Harus unik per perangkat.

productKey

String

Pengidentifikasi unik produk tempat perangkat tersebut berada.

deviceName

String

Nama perangkat.

gmtCreate

Long

Waktu saat pesan penerusan data dihasilkan.

value

Object

Informasi parameter output event. Contoh menunjukkan informasi tentang dua parameter Power dan Position.

{
    "Power":"on",
    "Position":{
        "latitude":39.9,
        "longitude":116.38
    }
}
Penting
  • Hanya ketika semua parameter output event lolos validasi, semua parameter output ditampilkan dalam parameter value. Dalam kasus ini, parameter checkFailedData kosong.

  • Jika ada parameter output event yang gagal validasi, semua parameter output ditampilkan dalam parameter checkFailedData. Dalam kasus ini, parameter value kosong.

checkFailedData

Object

Data yang gagal validasi data model TSL.

Jika parameter output event gagal validasi, parameter checkFailedData adalah:

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

Di mana:

  • value: Object. Informasi parameter output event.

  • time: Long. Timestamp saat event dihasilkan.

  • code: Integer. Kode kesalahan yang dikembalikan ketika data gagal validasi model TSL. Lihat Kode kesalahan untuk perangkat.

  • message: String. Pesan kesalahan yang dikembalikan ketika data gagal validasi model TSL, termasuk penyebab kegagalan dan parameter yang tidak valid.

time

Long

Waktu saat event dilaporkan. Default ke waktu saat Platform IoT menghasilkan data jika tidak dilaporkan oleh perangkat.

Kirim properti perangkat secara batch

Topik: /${productKey}/${deviceName}/thing/property/batch/post

Gunakan topik ini untuk mendapatkan properti yang dikirimkan oleh perangkat secara batch.

Format data:

{
    "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
            }
        ]
    }
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

productKey

String

Pengidentifikasi unik produk tempat perangkat tersebut berada.

deviceName

String

Nama perangkat.

instanceId

String

ID instans tempat perangkat tersebut berada.

requestId

String

Id dari pesan perangkat mentah. String numerik dalam rentang 0 hingga 4294967295. Harus unik per perangkat.

items

Object

Data perangkat.

Power

String

Pengidentifikasi properti. Untuk nama properti, lihat deskripsi TSL produk.

Jika properti adalah properti modul kustom, pengidentifikasi properti berada dalam format ${ModuleIdentifier}:${PropertyIdentifier} (titik dua : digunakan sebagai pemisah). Sebagai contoh, jika pengidentifikasi modul model TSL kustom adalah test, format datanya adalah:

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

WF

value

Ditetapkan oleh TSL

Nilai properti.

time

Long

Waktu saat properti dilaporkan. Default ke waktu saat Platform IoT menghasilkan data jika tidak dilaporkan oleh perangkat.

Kirim event perangkat secara batch

Topik: /${productKey}/${deviceName}/thing/event/batch/post

Gunakan topik ini untuk mendapatkan event yang dikirimkan oleh perangkat secara batch.

Format data:

{
    "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
            }
        ]
    }
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

productKey

String

Pengidentifikasi unik produk tempat perangkat tersebut berada.

deviceName

String

Nama perangkat.

instanceId

String

ID instans tempat perangkat tersebut berada.

requestId

String

Id dari pesan perangkat mentah. String numerik dalam rentang 0 hingga 4294967295. Harus unik per perangkat.

items

Object

Data perangkat.

alarmEvent

List

Pengidentifikasi event.

value

Object

Parameter event.

Pada contoh sebelumnya, Power dan WF adalah nama parameter event.

time

Long

Waktu saat event dilaporkan. Default ke waktu saat Platform IoT menghasilkan data jika tidak dilaporkan oleh perangkat.

Perubahan siklus hidup perangkat

Topik: /${productKey}/${deviceName}/thing/lifecycle

Gunakan topik ini untuk menerima pesan yang dihasilkan saat perangkat dibuat, dihapus, diaktifkan, atau dinonaktifkan.

Format data:

{
    "action": "create|delete|enable|disable",
    "iotId": "4z819VQHk6VSLmmBJfrf00107e****",
    "productKey": "al5eCzh****",
    "deviceName": "5gJtxDVeGAkaEztpisjX",
    "deviceSecret": "wsde***", 
    "messageCreateTime": 1510292739881 
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

action

String

  • create: Perangkat dibuat.

  • delete: Perangkat dihapus.

  • enable: Perangkat diaktifkan.

  • disable: Perangkat dinonaktifkan.

iotId

String

Pengidentifikasi unik perangkat di Platform IoT.

productKey

String

Pengidentifikasi unik produk.

deviceName

String

Nama perangkat.

deviceSecret

String

Rahasia perangkat. Parameter ini hanya disertakan jika parameter action diatur ke create.

messageCreateTime

Integer

Timestamp saat pesan dihasilkan. Satuan: milidetik.

Perubahan topologi perangkat

Topik: /${productKey}/${deviceName}/thing/topo/lifecycle

Gunakan topik ini untuk menerima informasi tentang pembuatan dan penghapusan hubungan topologis antara sub-perangkat dan gateway.

Format data:

{
    "action" : "create|delete|enable|disable",
    "gwIotId": "dfaejVQHk6VSLmmBJfrf00107e****",
    "gwProductKey": "al5eCzh****",
    "gwDeviceName": "deviceName1234",
    "devices": [
        {
            "iotId": "4z819VQHk6VSLmmBJfrf00107e****",
            "productKey": "ala4Czh****",
            "deviceName": "deviceName1234"
        }
    ],
    "messageCreateTime": 1510292739881
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

action

String

  • create: Hubungan topologis ditambahkan.

  • delete: Hubungan topologis dihapus.

  • enable: Hubungan topologis diaktifkan.

  • disable: Hubungan topologis dinonaktifkan.

gwIotId

String

Pengidentifikasi unik perangkat gateway di Platform IoT.

gwProductKey

String

Pengidentifikasi unik produk gateway.

gwDeviceName

String

Nama perangkat gateway.

devices

Object

Daftar sub-perangkat yang berubah.

iotId

String

Pengidentifikasi unik sub-perangkat di Platform IoT.

productKey

String

Pengidentifikasi unik produk sub-perangkat.

deviceName

String

Nama sub-perangkat.

messageCreateTime

Integer

Timestamp saat pesan dihasilkan. Satuan: milidetik.

Gateway menemukan sub-perangkat

Topik: /${productKey}/${deviceName}/thing/list/found

Dalam beberapa skenario, gateway dapat mendeteksi sub-perangkat dan melaporkan informasinya. Anda dapat menggunakan topik ini untuk mendapatkan informasi yang dilaporkan.

Format data:

{
    "gwIotId":"dfaew9VQHk6VSLmmBJfrf00107e****",
    "gwProductKey":"al12345****",
    "gwDeviceName":"deviceName1234",
    "devices":[
        {
            "iotId":"4z819VQHk6VSLmmBJfrf00107e****",
            "productKey":"alr56g9****",
            "deviceName":"deviceName1234"
        }
    ]
}

Deskripsi parameter:

Parameter

Jenis

Deskripsi

gwIotId

String

Pengidentifikasi unik perangkat gateway di Platform IoT.

gwProductKey

String

Pengidentifikasi unik produk gateway.

gwDeviceName

String

Nama perangkat gateway.

devices

Object

Daftar sub-perangkat yang ditemukan.

iotId

String

Pengidentifikasi unik sub-perangkat di Platform IoT.

productKey

String

Pengidentifikasi unik produk tempat sub-perangkat tersebut berada.

deviceName

String

Nama sub-perangkat.

Hasil perintah downstream

Topik: /${productKey}/${deviceName}/thing/downlink/reply/message

Dapatkan hasil yang dikembalikan setelah perangkat memproses perintah pengaturan properti asinkron dan pemanggilan layanan. Jika terjadi kesalahan saat mengirim perintah, topik ini juga mengembalikan pesan kesalahan.

Format data:

{
    "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"
    }
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

gmtCreate

Long

Timestamp UTC.

iotId

String

Pengidentifikasi unik perangkat di Platform IoT.

productKey

String

Pengidentifikasi unik produk tempat perangkat tersebut berada.

deviceName

String

Nama perangkat.

requestId

String

Id dari pesan perangkat mentah. String numerik dalam rentang 0 hingga 4294967295. Harus unik per perangkat.

code

Integer

Kode hasil yang dikembalikan oleh perangkat. Lihat tabel Kode hasil di bawah ini.

message

String

Informasi kode hasil yang dikembalikan oleh perangkat.

topic

String

Informasi tentang topik yang digunakan untuk mengirim perintah ke perangkat.

data

Object

Hasil yang dikembalikan oleh perangkat. Untuk data format Alink, hasil pemrosesan perangkat dikembalikan langsung. Untuk data format transmisi langsung, data harus ditransformasi oleh skrip.

checkFailedData

Object

Data yang gagal validasi data model TSL.

value

Ditetapkan oleh TSL

Nilai properti atau nilai parameter layanan yang gagal validasi data model TSL.

Pada contoh sebelumnya, PicID adalah nama parameter yang gagal validasi.

code

Integer

Kode kesalahan yang dikembalikan ketika data gagal validasi model TSL. Lihat Kode kesalahan untuk perangkat.

message

String

Pesan kesalahan yang dikembalikan ketika data gagal validasi model TSL, termasuk penyebab kegagalan dan parameter yang tidak valid.

Tabel 1. Kode hasil

kode

pesan

Deskripsi

200

success

Permintaan berhasil.

400

request error

Terjadi kesalahan layanan internal selama pemrosesan.

460

request parameter error

Parameter permintaan tidak valid. Perangkat gagal memvalidasi parameter input.

429

too many requests

Permintaan terlalu sering.

9200

device not actived

Perangkat belum diaktifkan.

9201

device offline

Perangkat offline.

403

request forbidden

Permintaan dilarang karena pembayaran tertunda.

Untuk mengatasi kesalahan ini, lihat Kode kesalahan untuk perangkat.

Kirim properti historis

Topik: /${productKey}/${deviceName}/thing/event/property/history/post

Gunakan topik ini untuk mendapatkan data properti model TSL historis yang dikirimkan oleh perangkat.

Format data:

{
    "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"
        }
    }
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

iotId

String

Pengidentifikasi unik perangkat di Platform IoT.

requestId

String

Id dari pesan perangkat mentah. String numerik dalam rentang 0 hingga 4294967295. Harus unik per perangkat.

productKey

String

Pengidentifikasi unik produk tempat perangkat tersebut berada.

deviceName

String

Nama perangkat.

gmtCreate

Long

Waktu saat pesan penerusan data dihasilkan.

deviceType

String

Kategori perangkat.

Kategori yang dipilih saat membuat produk. Lihat Buat produk atau CreateProduct.

items

Object

Data perangkat.

Power

String

Pengidentifikasi properti. Untuk nama properti, lihat deskripsi TSL produk.

Jika properti adalah properti modul kustom, pengidentifikasi properti berada dalam format ${ModuleIdentifier}:${PropertyIdentifier} (titik dua : digunakan sebagai pemisah). Sebagai contoh, jika pengidentifikasi modul model TSL kustom adalah test, format datanya adalah:

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

Position

attribute_8

checkFailedData

Object

Data yang gagal validasi data model TSL.

value

Ditetapkan oleh TSL

Nilai properti.

time

Long

Waktu saat properti dilaporkan. Default ke waktu saat Platform IoT menghasilkan data jika tidak dilaporkan oleh perangkat.

code

Integer

Kode kesalahan yang dikembalikan ketika data gagal validasi model TSL. Lihat Kode kesalahan untuk perangkat.

message

String

Pesan kesalahan yang dikembalikan ketika data gagal validasi model TSL, termasuk penyebab kegagalan dan parameter yang tidak valid.

Kirim event historis

Topik: /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post

Gunakan topik ini untuk mendapatkan data event historis yang dikirimkan oleh perangkat.

Format data:

{
    "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
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

identifier

String

Pengidentifikasi event.

Jika event adalah event modul kustom, pengidentifikasi event berada dalam format ${ModuleIdentifier}:${EventIdentifier} (titik dua : digunakan sebagai pemisah). Sebagai contoh, jika pengidentifikasi modul model TSL kustom adalah test, format datanya adalah:

"test:identifier":"BrokenInfo",

name

String

Nama event.

type

String

Tipe event. Untuk tipe event, lihat deskripsi TSL produk.

iotId

String

Pengidentifikasi unik perangkat di Platform IoT.

requestId

String

Id dari pesan perangkat mentah. String numerik dalam rentang 0 hingga 4294967295. Harus unik per perangkat.

productKey

String

Pengidentifikasi unik produk tempat perangkat tersebut berada.

deviceName

String

Nama perangkat.

gmtCreate

Long

Waktu saat pesan penerusan data dihasilkan.

value

Object

Informasi parameter output event. Contoh menunjukkan informasi tentang dua parameter Power dan Position.

{
    "Power":"on",
    "Position":{
        "latitude":39.9,
        "longitude":116.38
    }
}
Penting
  • Hanya ketika semua parameter output event lolos validasi, semua parameter output ditampilkan dalam parameter value. Dalam kasus ini, parameter checkFailedData kosong.

  • Jika ada parameter output event yang gagal validasi, semua parameter output ditampilkan dalam parameter checkFailedData. Dalam kasus ini, parameter value kosong.

checkFailedData

Object

Data yang gagal validasi data model TSL.

Jika parameter output event gagal validasi, parameter checkFailedData adalah:

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

Di mana:

  • value: Object. Informasi parameter output event.

  • time: Long. Timestamp saat event dihasilkan.

  • code: Integer. Kode kesalahan yang dikembalikan ketika data gagal validasi model TSL. Lihat Kode kesalahan untuk perangkat.

  • message: String. Pesan kesalahan yang dikembalikan ketika data gagal validasi model TSL, termasuk penyebab kegagalan dan parameter yang tidak valid.

time

Long

Waktu saat event dilaporkan. Default ke waktu saat Platform IoT menghasilkan data jika tidak dilaporkan oleh perangkat.

Notifikasi status pembaruan OTA

Topik: /${productKey}/${deviceName}/ota/upgrade

Terima pesan status pembaruan OTA yang menunjukkan apakah pembaruan perangkat berhasil atau gagal.

Catatan

Jika perangkat memiliki tugas pembaruan yang belum selesai dan Anda memulai pembaruan batch, pembaruan batch tersebut gagal. Platform IoT tidak meneruskan pesan kegagalan dalam kasus ini.

Format data:

{
    "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****"
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

iotId

String

Pengidentifikasi unik perangkat.

productKey

String

Pengidentifikasi unik produk tempat perangkat tersebut berada.

deviceName

String

Nama perangkat.

moduleName

String

Nama modul OTA.

status

String

Status pembaruan.

  • SUCCEEDED: Pembaruan berhasil.

  • FAILED: Pembaruan gagal.

  • CANCELED: Pembaruan dibatalkan.

messageCreateTime

Long

Timestamp saat pesan dihasilkan. Satuan: milidetik.

srcVersion

String

Versi sebelum pembaruan.

destVersion

String

Versi tujuan pembaruan.

desc

String

Deskripsi status pembaruan.

jobId

String

ID batch pembaruan. Secara unik mengidentifikasi batch pembaruan.

taskId

String

Pengidentifikasi unik catatan pembaruan perangkat.

Notifikasi progres pembaruan OTA

Topik: /${productKey}/${deviceName}/ota/progress/post

Gunakan topik ini untuk mendapatkan pesan progres pembaruan OTA.

Format data:

{
    "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****"
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

iotId

String

Pengidentifikasi unik perangkat.

productKey

String

Pengidentifikasi unik produk tempat perangkat tersebut berada.

deviceName

String

Nama perangkat.

moduleName

String

Nama modul OTA.

status

String

Status pembaruan. Nilainya tetap IN_PROGRESS (sedang berlangsung).

step

Integer

Progres pembaruan yang dilaporkan oleh perangkat.

messageCreateTime

Long

Timestamp saat pesan dihasilkan. Satuan: milidetik.

srcVersion

String

Versi sebelum pembaruan.

destVersion

String

Versi tujuan pembaruan.

desc

String

Deskripsi status pembaruan.

jobId

String

ID batch pembaruan. Secara unik mengidentifikasi batch pembaruan.

taskId

String

Pengidentifikasi unik catatan pembaruan perangkat.

Notifikasi perubahan versi modul OTA

Topik: /${productKey}/${deviceName}/ota/version/post

Gunakan topik ini untuk mendapatkan nomor versi modul OTA yang dilaporkan oleh perangkat. Pesan diteruskan ketika perangkat melaporkan nomor versi modul OTA baru.

Format data:

{
    "iotId": "4z819VQHk6VSLmmBJfrf00107e****",
    "deviceName": "deviceName1234",
    "productKey": "X5eCzh6****",
    "moduleName": "BarcodeScanner",
    "moduleVersion": "1.0.3",
    "messageCreateTime": 1571323748000
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

iotId

String

Pengidentifikasi unik perangkat.

productKey

String

Pengidentifikasi unik produk tempat perangkat tersebut berada.

deviceName

String

Nama perangkat.

moduleName

String

Nama modul.

moduleVersion

String

Nomor versi modul.

messageCreateTime

Long

Timestamp saat pesan dihasilkan. Satuan: milidetik.

Notifikasi status batch pembaruan OTA

Topik: /${productKey}/${packageId}/${jobId}/ota/job/status

Gunakan topik ini untuk mendapatkan pesan perubahan status batch pembaruan OTA.

Format data:

{
    "productKey": "X5eCzh6****",
    "moduleName": "BarcodeScanner",
    "packageId": "wahVIzGkCMuAUE2***",
    "jobId": "wahVIzGkCMuAUE2gDERM02****",
    "state": "IN_PROGRESS",
    "messageCreateTime": 1571323748000
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

productKey

String

Pengidentifikasi unik produk tempat perangkat tersebut berada.

moduleName

String

Nama modul.

packageId

String

ID paket pembaruan. Nilai parameter ini sama dengan nilai parameter FirmwareId yang dikembalikan saat Anda memanggil operasi CreateOTAFirmware untuk membuat paket pembaruan.

jobId

String

ID batch pembaruan. Secara unik mengidentifikasi batch pembaruan.

state

String

Status batch pembaruan. Nilai yang valid:

  • PLANNED: Pembaruan belum dimulai.

  • IN_PROGRESS: Pembaruan sedang berlangsung.

  • COMPLETED: Pembaruan selesai.

  • CANCELED: Tugas telah dibatalkan.

  • UNFINISH: Belum selesai.

    Jika instans Perusahaan memiliki jumlah peningkatan yang tersedia tidak mencukupi, status batch pembaruan adalah UNFINISH.

messageCreateTime

Long

Timestamp saat pesan dihasilkan. Satuan: milidetik.

Perubahan tag perangkat

Topik: /${productKey}/${deviceName}/thing/deviceinfo/update

Gunakan topik ini untuk mendapatkan informasi tentang perubahan tag perangkat.

Format data:

{
    "action": "UPDATE|DELETE|DELETEALL"
    "iotId": "4z819VQHk6VSLmmBJfrf00107e****",
    "productKey": "X5eCzh6****",
    "deviceName": "deviceName1234",
    "deletedAttrKeyList": ["abc", "def", "rng"],
    "value": [
        {
            "attrKey": "tagKey",
            "attrValue": "tagValue"
        }
    ],
    "messageCreateTime": 1510799670074
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

action

String

Jenis perubahan tag. Nilai yang valid:

  • UPDATE: Tag diperbarui atau ditambahkan.

  • DELETE: Tag tertentu dihapus.

  • DELETEALL: Semua tag dihapus.

iotId

String

Pengidentifikasi unik perangkat.

productKey

String

Pengidentifikasi unik produk tempat perangkat tersebut berada.

deviceName

String

Nama perangkat.

deletedAttrKeyList

List

Daftar kunci tag yang dihapus.

Parameter ini ditampilkan hanya ketika parameter action diatur ke DELETE.

value

List

Data tag.

attrKey

String

Kunci tag.

attrValue

String

Nilai tag.

messageCreateTime

Long

Timestamp saat pesan dihasilkan. Satuan: milidetik.

Notifikasi status tugas perangkat

Topik: /sys/uid/${uid}/job/${jobId}/lifecycle

Gunakan topik ini untuk menerima pesan perubahan status tugas perangkat. Tugas perangkat mencakup tugas pengaturan properti batch, tugas pemanggilan layanan batch, dan tugas kustom.

Dalam topik, ${uid} adalah ID akun Alibaba Cloud Anda. Untuk melihat ID tersebut, login ke Konsol Platform IoT, klik gambar profil Anda, lalu navigasi ke halaman Security Settings.

Format data:

{
    "jobId": "4z819VQHk6VSLmm***ee200",
    "jobType": "CUSTOM_JOB",
    "status": "INITIALIZING",
    "messageCreateTime": 1510292739881
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

jobId

String

ID tugas. Pengidentifikasi unik global tugas.

jobType

String

Jenis tugas.

  • SET_PROPERTY: tugas untuk mengatur properti perangkat secara batch.

  • INVOKE_SERVICE: tugas untuk memanggil layanan perangkat secara batch.

  • CUSTOM_JOB: tugas kustom.

status

String

Status tugas. Nilai yang valid:

  • INITIALIZING: Tugas sedang diinisialisasi.

  • WAITING: Tugas menunggu penjadwalan.

  • IN_PROGRESS: Tugas sedang berlangsung.

  • COMPLETED: Tugas selesai.

  • CANCELLING: Tugas sedang dibatalkan.

  • CANCELLED: Dibatalkan.

  • REMOVING: Tugas sedang dihapus.

messageCreateTime

Long

Timestamp saat pesan dihasilkan. Satuan: milidetik.

Notifikasi status tugas migrasi instans

Topik: /sys/uid/{uid}/distribution/{jobId}/lifecycle

Gunakan topik ini untuk mendapatkan pesan perubahan status tugas migrasi instans.

Dalam topik, ${uid} adalah ID akun Alibaba Cloud Anda. Untuk menemukan ID akun Anda, login ke Konsol Platform IoT, arahkan kursor mouse ke gambar profil Anda, lalu lihat Account ID.

Format data:

{
    "jobId": "4z819VQHk6VSLmmxxxxxxxxxxee200",
    "status": "GRAY_EXECUTING",
    "messageCreateTime": 1510292739881,
    "type":"INSTANCE_UPGRADE",
    "sourceInstance":"iotx-oxssharez200",
    "targetInstance":"iot-es5v4***",
    "successDevices":[
        {
            "productKey":"al12***",
            "deviceName":"deviceName1",
            "iotId":"4z81frf00107e***"
        }
    ]
}

Deskripsi parameter:

Parameter

Tipe

Deskripsi

jobId

String

ID tugas. Pengidentifikasi unik global tugas.

status

String

Status tugas. Nilai yang valid:

  • GRAY_EXECUTING: Migrasi grayscale sedang berlangsung.

  • GRAY_FINISHED: Migrasi grayscale selesai.

  • ALL_EXECUTING: Migrasi penuh sedang berlangsung.

  • ALL_FINISHED: Migrasi penuh selesai.

  • ALL_PAUSE: Migrasi dijeda.

  • ROLL_BACK_EXECUTING: Rollback sedang berlangsung.

  • BATCH_ROLL_BACK_EXECUTING: Rollback batch sedang berlangsung.

  • ROLL_BACK_PAUSE: Rollback dijeda.

messageCreateTime

Long

Timestamp saat pesan dihasilkan. Satuan: milidetik.

type

String

Jenis tugas. Nilainya tetap INSTANCE_UPGRADE.

sourceInstance

String

ID instans publik sumber untuk migrasi instans. ID instans publik versi sebelumnya adalah iotx-oxssharez200.

Untuk detail tentang instans, lihat Ikhtisar instans.

targetInstance

String

ID instans Perusahaan tujuan untuk migrasi instans.

successDevices

List

Informasi tentang perangkat yang berhasil dimigrasikan:

  • Saat status adalah GRAY_EXECUTING atau ALL_EXECUTING, parameter ini menunjukkan perangkat yang berhasil dimigrasikan dari instans publik sumber ke instans Perusahaan tujuan.

  • Saat status adalah ROLL_BACK_EXECUTING atau BATCH_ROLL_BACK_EXECUTING, parameter ini menunjukkan perangkat yang berhasil dimigrasikan dari instans Perusahaan kembali ke instans publik.

Parameter successDevices mungkin kosong selama proses migrasi. Ini menunjukkan bahwa status tugas telah berubah dan tugas telah dimulai, tetapi belum ada perangkat yang dimigrasikan.

productKey

String

Pengidentifikasi unik produk tempat perangkat tersebut berada.

deviceName

String

Nama perangkat.

iotId

String

Pengidentifikasi unik perangkat di Platform IoT.