全部产品
Search
文档中心

IoT Platform:Format data

更新时间:Jul 06, 2025

IoT Platform menyediakan fitur penerusan data dan langganan sisi server. Anda dapat menggunakan fitur ini untuk memproses dan meneruskan data berdasarkan format data dari topik-topik yang tersedia. Topik dikategorikan ke dalam topik kustom, topik komunikasi dasar, dan topik komunikasi Thing Specification Language (TSL). Anda dapat menentukan format data untuk topik kustom sesuai dengan kebutuhan bisnis Anda. Bagian ini menjelaskan format konversi data oleh mesin aturan dari topik komunikasi dasar dan TSL.

Topik yang terkait dengan mesin aturan dan komunikasi perangkat

Untuk informasi lebih lanjut tentang definisi, penggunaan, dan klasifikasi topik komunikasi, lihat Topik.

Saat mengembangkan perangkat, Anda harus menentukan format data mentah yang dikirimkan oleh perangkat. Perhatikan hal-hal berikut:

  • Data dari topik komunikasi dasar dan TSL harus sesuai dengan protokol Alink yang didukung oleh IoT Platform. Untuk informasi lebih lanjut, lihat sub-topik terkait dalam Protokol Alink.

    Setelah mesin aturan meneruskan data mentah yang dikirimkan oleh perangkat, format data tersebut dikonversi. Untuk detail lebih lanjut tentang format data, lihat deskripsi dalam bagian ini.

  • Anda dapat menentukan format data untuk topik kustom.

    Setelah mesin aturan meneruskan data mentah yang dikirimkan oleh perangkat, format data tersebut tidak dikonversi.

Tabel berikut menjelaskan pemetaan antara topik yang digunakan oleh mesin aturan untuk meneruskan data dan topik ke mana perangkat mengirimkan data.

Tabel 1. Topik

Topik

Deskripsi

Referensi

Custom

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

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

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

  • Semua perangkat (+): Menunjukkan semua perangkat dari produk yang ditentukan.

  • /user/#: Menunjukkan semua topik dari perangkat yang ditentukan.

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

Kirim Status Perangkat

TSL Data Reporting

Topik berikut disediakan:

  • /${productKey}/${deviceName}/thing/event/property/post: Digunakan untuk meneruskan properti perangkat.

  • /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post: Digunakan untuk meneruskan peristiwa perangkat.

  • /${productKey}/${deviceName}/thing/property/batch/post: Digunakan untuk meneruskan properti perangkat secara batch.

  • /${productKey}/${deviceName}/thing/event/batch/post: Digunakan untuk meneruskan peristiwa perangkat secara batch.

  • /${productKey}/${deviceName}/thing/downlink/reply/message: Digunakan untuk meneruskan pesan yang dikembalikan oleh perangkat sebagai respons terhadap perintah IoT Platform.

Topik berikut digunakan untuk mengirimkan data mentah perangkat:

  • /sys/${productKey}/${deviceName}/thing/event/property/post: Digunakan untuk mengirimkan properti perangkat.

  • /sys/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post dan /sys/${productKey}/${deviceName}/thing/event/${tsl.functionBlockId}:{tsl.event.identifier}/post: Digunakan untuk mengirimkan peristiwa perangkat.

  • /sys/${productKey}/${deviceName}/thing/event/property/batch/post: Digunakan untuk mengirimkan properti dan peristiwa 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.

Kirim Perubahan Siklus Hidup

Sub-Device Data Report Detected by Gateway

Topik yang digunakan untuk mengirimkan dan meneruskan informasi tentang sub-perangkat baru ketika gateway mendeteksi sub-perangkat. Topik ini spesifik untuk gateway. Format: /${productKey}/${deviceName}/thing/list/found

Kirim Informasi tentang Sub-Perangkat yang Terdeteksi

Device Topological Relation Changes

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

Perubahan Hubungan Topologi Perangkat

/sys/${productKey}/${deviceName}/thing/topo/change: Digunakan untuk mengirimkan data perangkat.

Beritahu Gateway tentang Perubahan Hubungan Topologi

Device tag change

Topik yang digunakan untuk meneruskan pesan ketika tag perangkat diubah. Format: /${productKey}/${deviceName}/thing/deviceinfo/update.

Kirim Perubahan Tag Perangkat

/sys/${productKey}/${deviceName}/thing/deviceinfo/update: Digunakan untuk mengirimkan data perangkat.

Kirim Tag

TSL Historical Data Reporting

Topik berikut disediakan:

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

  • /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post: Digunakan untuk meneruskan peristiwa historis.

/sys/${productKey}/${deviceName}/thing/event/property/history/post: Digunakan untuk mengirimkan data historis TSL.

Properti, Peristiwa, dan Layanan Perangkat

Device status notification

Topik berikut disediakan:

  • /${productKey}/${deviceName}/ota/upgrade: Digunakan untuk meneruskan hasil pembaruan over-the-air (OTA).

  • /${productKey}/${deviceName}/ota/progress/post: Digunakan untuk meneruskan kemajuan pembaruan.

Topik sebelumnya sesuai dengan topik berikut: /ota/device/progress/${productKey}/${deviceName}. Digunakan untuk mengirimkan kemajuan pembaruan.

Kirim Kemajuan Pembaruan ke IoT Platform

Submit a module version number

Topik yang digunakan untuk meneruskan pesan ketika nomor versi modul OTA untuk perangkat diubah. Format: /${productKey}/${deviceName}/ota/version/post.

Kirim Versi Modul OTA

Topik sebelumnya sesuai dengan topik berikut: /ota/device/inform/${productKey}/${deviceName}. Digunakan untuk mengirimkan nomor versi modul OTA.

Kirim Versi Modul OTA ke IoT Platform

Batch status notification

Topik ke mana IoT Platform mengirimkan pesan ketika status batch pembaruan OTA berubah. Format: /${productKey}/${packageId}/${jobId}/ota/job/status.

Kirim Data Status Batch Pembaruan OTA

Job Event

/sys/uid/${uid}/distribution/${jobId}/lifecycle: Digunakan untuk meneruskan notifikasi ketika status pekerjaan perangkat berubah.

Catatan

Nama tugas migrasi instans sama dengan nama produk yang ingin Anda migrasikan datanya.

Kirim Data Status Tugas Migrasi Data untuk Instans

Kirim status perangkat

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

Anda dapat menggunakan topik ini untuk mendapatkan status online atau offline perangkat.

Format data yang dikirimkan oleh perangkat saat 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 yang dikirimkan oleh perangkat saat 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"
}

Parameter:

Parameter

Tipe

Deskripsi

status

String

Status perangkat. Nilai yang valid:

  • offline

iotId

String

Pengenal unik perangkat di IoT Platform.

offlineReasonCode

Integer

Kode kesalahan yang dikembalikan ketika perangkat offline. Untuk informasi lebih lanjut, lihat Kode kesalahan terkait perilaku perangkat.

productKey

String

Pengenal unik produk tempat perangkat berasal.

deviceName

String

Nama Perangkat dari perangkat tersebut.

lastTime

String

Parameter ini tidak lagi valid.

utcLastTime

String

time

String

Waktu ketika perangkat online atau offline.

Pesan yang dikembalikan tidak disortir berdasarkan waktu. Anda perlu mengurutkan pesan secara manual.

Sebagai contoh, Anda menerima pesan berikut secara berurutan:

  1. Waktu online: 2018-08-31 10:02:28.195

  2. Waktu offline: 2018-08-31 10:01:28.195

  3. Waktu offline: 2018-08-31 10:03:28.195

Pesan sebelumnya menunjukkan bahwa perangkat terputus, tersambung kembali, lalu terputus lagi.

utcTime

String

Waktu ketika perangkat online atau offline dalam format UTC.

clientIp

String

Alamat IP publik perangkat.

Kirim properti perangkat

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

Anda dapat menggunakan 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"
        }
    }
}

Parameter:

Parameter

Tipe

Deskripsi

iotId

String

Pengenal unik perangkat di IoT Platform.

requestId

String

ID dari pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat tersebut.

productKey

String

Pengenal unik produk tempat perangkat berasal.

deviceName

String

Nama Perangkat dari perangkat tersebut.

gmtCreate

Long

Waktu ketika pesan dibuat.

deviceType

String

Kategori produk dari perangkat.

Anda dapat menentukan kategori produk saat membuat produk di IoT Platform. Untuk informasi lebih lanjut, lihat Buat produk atau CreateProduct.

items

Object

Data yang dikirimkan oleh perangkat.

Power

String

Pengenal properti. Untuk informasi lebih lanjut tentang properti, lihat model TSL produk.

Jika Anda menggunakan properti modul kustom, pengenal setiap properti dalam format ${Module identifier}:${Property identifier}. Titik dua (:) digunakan untuk menghubungkan dua bagian ekspresi. Contoh berikut menunjukkan format data untuk modul kustom dengan pengenal test:

{
    "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 diverifikasi.

value

Tergantung pada definisi TSL

Nilai properti.

time

Long

Waktu ketika properti dikirimkan. Jika perangkat tidak mengirimkan timestamp, timestamp yang menunjukkan kapan IoT Platform menerima pesan akan digunakan.

code

Integer

Kode kesalahan yang dikembalikan jika data gagal diverifikasi. Untuk informasi lebih lanjut, lihat Kode kesalahan untuk perangkat.

message

String

Pesan kesalahan yang dikembalikan jika data gagal diverifikasi. Pesan tersebut mencakup penyebab kegagalan dan informasi tentang parameter yang tidak valid.

Kirim peristiwa perangkat

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

Anda dapat menggunakan topik ini untuk mendapatkan peristiwa yang dikirimkan oleh perangkat.

Format data:

{
    "identifier":"BrokenInfo",
    "name":"Pelaporan laju kerusakan",
    "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
}

Parameter:

Parameter

Tipe

Deskripsi

identifier

String

Pengenal peristiwa.

Pengenal peristiwa modul kustom dalam format ${Module identifier}:${Event identifier}. Titik dua (:) digunakan untuk menghubungkan dua bagian ekspresi. Contoh berikut menunjukkan format data modul kustom dengan pengenal test:

"test:identifier":"BrokenInfo",

name

String

Nama peristiwa.

type

String

Tipe peristiwa. Untuk informasi tentang tipe peristiwa yang didukung, lihat model TSL produk.

iotId

String

Pengenal unik perangkat di IoT Platform.

requestId

String

ID dari pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat tersebut.

productKey

String

Pengenal unik produk tempat perangkat berasal.

deviceName

String

Nama Perangkat dari perangkat tersebut.

gmtCreate

Long

Waktu ketika pesan dibuat.

value

Object

Parameter keluaran peristiwa. Contoh: Power dan Position.

{
    "Power":"on",
    "Position":{
        "latitude":39.9,
        "longitude":116.38
    }
}
Penting
  • Hanya parameter keluaran yang lolos verifikasi yang termasuk dalam parameter value. Dalam hal ini, parameter checkFailedData kosong.

  • Hanya parameter keluaran yang gagal diverifikasi yang termasuk dalam parameter checkFailedData. Dalam hal ini, parameter value kosong.

checkFailedData

Object

Data yang gagal diverifikasi.

Jika parameter keluaran gagal diverifikasi, parameter checkFailedData mencakup parameter berikut:

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

Perhatikan hal-hal berikut:

  • value: Tipe Object. Parameter keluaran peristiwa.

  • time: Tipe Long. Timestamp yang menunjukkan kapan peristiwa dibuat.

  • code: Tipe Integer. Kode kesalahan yang dikembalikan jika data gagal diverifikasi. Untuk informasi lebih lanjut, lihat Kode kesalahan untuk perangkat.

  • message: Tipe String. Pesan kesalahan yang dikembalikan jika data gagal diverifikasi. Pesan tersebut mencakup penyebab kegagalan dan informasi tentang parameter yang tidak valid.

time

Long

Waktu ketika peristiwa dikirimkan. Jika perangkat tidak mengirimkan timestamp, timestamp yang menunjukkan kapan IoT Platform menerima pesan akan digunakan.

Kirim properti perangkat secara batch

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

Anda dapat menggunakan 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
            }
        ]
    }
}

Parameter:

Parameter

Tipe

Deskripsi

productKey

String

Pengenal unik produk tempat perangkat berasal.

deviceName

String

Nama Perangkat dari perangkat tersebut.

instanceId

String

ID instans tempat perangkat berasal.

requestId

String

ID dari pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat tersebut.

items

Object

Data yang dikirimkan oleh perangkat.

Power

String

Pengenal properti. Untuk informasi lebih lanjut tentang properti, lihat model TSL produk.

Jika Anda menggunakan properti modul kustom, pengenal setiap properti dalam format ${Module identifier}:${Property identifier}. Titik dua (:) digunakan untuk menghubungkan dua bagian ekspresi. Contoh berikut menunjukkan format data untuk modul kustom dengan pengenal test:

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

WF

value

Tergantung pada definisi TSL

Nilai properti.

time

Long

Waktu ketika properti dikirimkan. Jika perangkat tidak mengirimkan timestamp, timestamp yang menunjukkan kapan IoT Platform menerima pesan akan digunakan.

Kirim peristiwa perangkat secara batch

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

Anda dapat menggunakan topik ini untuk mendapatkan peristiwa 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
            }
        ]
    }
}

Parameter:

Parameter

Tipe

Deskripsi

productKey

String

Pengenal unik produk tempat perangkat berasal.

deviceName

String

Nama Perangkat dari perangkat tersebut.

instanceId

String

ID instans tempat perangkat berasal.

requestId

String

ID dari pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat tersebut.

items

Object

Data yang dikirimkan oleh perangkat.

alarmEvent

List

Pengenal peristiwa.

value

Object

Parameter peristiwa.

Contoh: Power dan WF.

time

Long

Waktu ketika peristiwa dikirimkan. Jika perangkat tidak mengirimkan timestamp, timestamp yang menunjukkan kapan IoT Platform menerima pesan akan digunakan.

Kirim perubahan siklus hidup

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

Anda dapat menggunakan 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 
}

Parameter:

Parameter

Tipe

Deskripsi

action

String

  • create: membuat perangkat.

  • delete: menghapus perangkat.

  • enable: mengaktifkan perangkat.

  • disable: menonaktifkan perangkat.

iotId

String

Pengenal unik perangkat di IoT Platform.

productKey

String

Pengenal unik produk tempat perangkat berasal.

deviceName

String

Nama Perangkat dari perangkat tersebut.

deviceSecret

String

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

messageCreateTime

Integer

Timestamp yang menunjukkan kapan pesan dibuat. Satuan: milidetik.

Kirim perubahan hubungan topologi

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

Anda dapat menggunakan topik ini untuk menerima pesan yang dihasilkan ketika hubungan topologi antara sub-perangkat dan gateway dibuat atau dihapus.

Format data:

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

Parameter:

Parameter

Tipe

Deskripsi

action

String

  • create: membuat hubungan topologi.

  • delete: menghapus hubungan topologi.

  • enable: mengaktifkan hubungan topologi.

  • disable: menonaktifkan hubungan topologi.

gwIotId

String

Pengenal unik gateway di IoT Platform.

gwProductKey

String

Pengenal unik produk tempat gateway berasal.

gwDeviceName

String

Nama gateway.

devices

Object

Sub-perangkat yang hubungan topologinya berubah.

iotId

String

Pengenal unik sub-perangkat di IoT Platform.

productKey

String

Pengenal unik produk tempat sub-perangkat berasal.

deviceName

String

Nama sub-perangkat.

messageCreateTime

Integer

Timestamp ketika pesan dibuat. Satuan: milidetik.

Kirim informasi tentang sub-perangkat yang terdeteksi

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

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

Format data:

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

Parameter:

Parameter

Tipe

Deskripsi

gwIotId

String

Pengenal unik gateway di IoT Platform.

gwProductKey

String

Pengenal unik produk tempat gateway berasal.

gwDeviceName

String

Nama gateway.

devices

Object

Sub-perangkat yang dideteksi oleh gateway.

iotId

String

Pengenal unik sub-perangkat di IoT Platform.

productKey

String

Pengenal unik produk tempat sub-perangkat berasal.

deviceName

String

Nama sub-perangkat.

Kirim respons terhadap permintaan downstream

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

Anda dapat menggunakan topik ini untuk mendapatkan hasil yang dikembalikan setelah perangkat memproses permintaan downstream. IoT Platform mengirimkan permintaan downstream ke perangkat secara asinkron. Jika terjadi kesalahan saat IoT Platform mengirimkan permintaan downstream, Anda dapat menggunakan topik ini untuk mendapatkan 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"
    }
}

Parameter:

Parameter

Tipe

Deskripsi

gmtCreate

Long

Timestamp dalam format UTC.

iotId

String

Pengenal unik perangkat di IoT Platform.

productKey

String

Pengenal unik produk tempat perangkat berasal.

deviceName

String

Nama Perangkat dari perangkat tersebut.

requestId

String

ID dari pesan. Nilai yang valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat tersebut.

code

Integer

Kode respons yang dikembalikan oleh perangkat. Untuk informasi lebih lanjut, lihat tabel Kode Respons.

message

String

Pesan yang dikembalikan oleh perangkat.

topic

String

Informasi tentang topik yang digunakan untuk mengirim permintaan downstream.

data

Object

Data yang dikembalikan oleh perangkat. Jika perangkat mengembalikan data Alink, Anda tidak perlu mem-parsing data tersebut. Jika perangkat mengembalikan data pass-through, Anda harus mem-parsing data menggunakan skrip.

checkFailedData

Object

Data yang gagal diverifikasi.

value

Tergantung pada definisi TSL

Properti atau parameter layanan yang nilainya gagal diverifikasi.

Contoh: PicID.

code

Integer

Kode kesalahan yang dikembalikan jika data gagal diverifikasi. Untuk informasi lebih lanjut, lihat Kode kesalahan untuk perangkat.

message

String

Pesan kesalahan yang dikembalikan jika data gagal diverifikasi. Pesan tersebut mencakup penyebab kegagalan dan informasi tentang parameter yang tidak valid.

Tabel 1. Kode Respons

code

message

Deskripsi

200

success

Permintaan berhasil.

400

request error

Terjadi kesalahan internal.

460

request parameter error

Parameter permintaan tidak valid dan perangkat gagal memverifikasi parameter tersebut.

429

too many requests

Jumlah maksimum permintaan dalam periode tertentu telah tercapai.

9200

device not actived

Perangkat belum diaktifkan.

9201

device offline

Perangkat terputus dari IoT Platform.

403

request forbidden

Permintaan ditolak karena pembayaran tertunda.

Untuk informasi tentang cara menyelesaikan masalah, lihat Kode Kesalahan untuk Perangkat.

Kirim properti historis

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

Anda dapat menggunakan topik ini untuk mendapatkan properti 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"
        }
    }
}

Parameter:

Parameter

Tipe

Deskripsi

iotId

String

Pengenal unik perangkat di IoT Platform.

requestId

String

ID dari pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat tersebut.

productKey

String

Pengenal unik produk tempat perangkat berasal.

deviceName

String

Nama Perangkat dari perangkat tersebut.

gmtCreate

Long

Waktu ketika pesan dibuat.

deviceType

String

Kategori produk perangkat.

Anda dapat menentukan kategori produk saat membuat produk di IoT Platform. Untuk informasi lebih lanjut, lihat Buat produk atau CreateProduct.

items

Object

Data yang dikirimkan oleh perangkat.

Power

String

Pengenal properti. Untuk informasi lebih lanjut tentang properti, lihat model TSL produk.

Jika Anda menggunakan properti modul kustom, pengenal setiap properti dalam format ${Module identifier}:${Property identifier}. Titik dua (:) digunakan untuk menghubungkan dua bagian ekspresi. Contoh berikut menunjukkan format data untuk modul kustom dengan pengenal test:

{
    "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 diverifikasi.

value

Tergantung pada definisi TSL

Nilai properti.

time

Long

Waktu ketika properti dikirimkan. Jika perangkat tidak mengirimkan timestamp, timestamp yang menunjukkan kapan IoT Platform menerima pesan akan digunakan.

code

Integer

Kode kesalahan yang dikembalikan jika data gagal diverifikasi. Untuk informasi lebih lanjut, lihat Kode kesalahan untuk perangkat.

message

String

Pesan kesalahan yang dikembalikan jika data gagal diverifikasi. Pesan tersebut mencakup penyebab kegagalan dan informasi tentang parameter yang tidak valid.

Kirim peristiwa historis

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

Anda dapat menggunakan topik ini untuk mendapatkan peristiwa historis yang dikirimkan oleh perangkat.

Format data:

{
    "identifier":"BrokenInfo",
    "name":"Pelaporan laju kerusakan",
    "type":"info",
    "iotId":"4z819VQHk6VSLmmBJfrf00107e***",
    "requestId":"2",
    "productKey":"X5eCzh6***",
    "deviceName":"5gJtxDVeGAkaEztpisjX",
    "value":{
        "Power":"on",
        "Position":{
            "latitude":39.9,
            "longitude":116.38
        }
    },
    "checkFailedData":{},
    "time":1510799670074
}

Parameter:

Parameter

Tipe

Deskripsi

identifier

String

Pengenal peristiwa.

Pengenal peristiwa modul kustom dalam format ${Module identifier}:${Event identifier}. Titik dua (:) digunakan untuk menghubungkan dua bagian ekspresi. Contoh berikut menunjukkan format data untuk modul kustom dengan pengenal test:

"test:identifier":"BrokenInfo",

name

String

Nama peristiwa.

type

String

Tipe peristiwa. Untuk informasi tentang tipe peristiwa yang didukung, lihat model TSL produk.

iotId

String

Pengenal unik perangkat di IoT Platform.

requestId

String

ID dari pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat tersebut.

productKey

String

Pengenal unik produk tempat perangkat berasal.

deviceName

String

Nama Perangkat dari perangkat tersebut.

gmtCreate

Long

Waktu ketika pesan dibuat.

value

Object

Parameter keluaran peristiwa. Contoh: Power dan Position.

{
    "Power":"on",
    "Position":{
        "latitude":39.9,
        "longitude":116.38
    }
}
Penting
  • Hanya parameter output yang lolos verifikasi yang disertakan dalam parameter value. Dalam hal ini, parameter checkFailedData kosong.

  • Hanya parameter output yang gagal diverifikasi yang disertakan dalam parameter checkFailedData. Dalam hal ini, parameter value kosong.

checkFailedData

Object

Data yang gagal diverifikasi.

Jika parameter output gagal diverifikasi, parameter checkFailedData mencakup parameter berikut:

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

Perhatikan hal-hal berikut:

  • value: Tipe Object. Parameter output dari event.

  • time: Tipe Long. Timestamp yang menunjukkan kapan event dihasilkan.

  • code: Tipe Integer. Kode kesalahan yang dikembalikan jika data gagal diverifikasi. Untuk informasi lebih lanjut, lihat Kode kesalahan untuk perangkat.

  • message: Tipe String. Pesan kesalahan yang dikembalikan jika data gagal diverifikasi. Pesan tersebut mencakup penyebab kegagalan dan informasi tentang parameter yang tidak valid.

time

Panjang

Waktu ketika peristiwa dikirimkan. Jika perangkat tidak mengirimkan cap waktu, maka cap waktu yang menunjukkan kapan IoT Platform menerima pesan tersebut yang digunakan.

Kirimkan data status pembaruan over-the-air (OTA)

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

Anda dapat menggunakan topik ini untuk menerima pesan yang dihasilkan ketika pembaruan OTA berhasil atau gagal.

Catatan

Jika tugas pembaruan pada perangkat berada dalam keadaan tertunda dan Anda memulai tugas pembaruan batch lain pada perangkat, tugas pembaruan terbaru akan gagal. Dalam hal ini, pesan yang dihasilkan ketika tugas pembaruan terbaru gagal tidak dikirim ke IoT Platform.

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

Parameter:

Parameter

Tipe

Deskripsi

iotId

String

Pengenal unik perangkat di IoT Platform.

productKey

String

Pengenal unik produk tempat perangkat tersebut termasuk.

deviceName

String

Nama Perangkat dari perangkat tersebut.

moduleName

String

Nama modul OTA.

status

String

Status pembaruan.

  • SUCCEEDED: Tugas pembaruan berhasil.

  • FAILED: Tugas pembaruan gagal.

  • : Tugas pembaruan dibatalkan.

messageCreateTime

Long

Cap waktu ketika pesan dihasilkan. Satuan: milidetik.

srcVersion

String

Versi firmware sebelum pembaruan.

destVersion

String

Versi firmware setelah pembaruan.

desc

String

Deskripsi pembaruan.

jobId

String

ID batch pembaruan. Parameter ini digunakan untuk mengidentifikasi secara unik batch pembaruan.

taskId

String

Pengenal unik catatan pembaruan perangkat.

Kirim data kemajuan pembaruan OTA

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

Anda dapat menggunakan topik ini untuk mendapatkan data kemajuan 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****"
}

Parameter:

Parameter

Tipe

Deskripsi

iotId

String

Pengenal unik perangkat di IoT Platform.

productKey

String

Pengenal unik produk tempat perangkat berasal.

deviceName

String

Nama Perangkat dari perangkat tersebut.

moduleName

String

Nama modul OTA.

status

String

Status pembaruan. Nilai tetap IN_PROGRESS.

step

Integer

Kemajuan pembaruan.

messageCreateTime

Long

Timestamp yang dihasilkan untuk pesan. Satuan: milidetik.

srcVersion

String

Versi firmware sebelum pembaruan.

destVersion

String

Versi firmware setelah pembaruan.

desc

String

Deskripsi pembaruan.

jobId

String

ID batch pembaruan. Parameter ini digunakan untuk mengidentifikasi secara unik batch pembaruan.

taskId

String

Pengenal unik catatan pembaruan perangkat.

Kirim versi modul OTA

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

Anda dapat menggunakan topik ini untuk mendapatkan versi modul OTA yang dikirimkan oleh perangkat. Pesan diteruskan ketika versi yang dikirimkan oleh perangkat berbeda dari versi sebelumnya.

Format data:

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

Parameter:

Parameter

Tipe

Deskripsi

iotId

String

Pengenal unik perangkat di IoT Platform.

productKey

String

Pengenal unik produk tempat perangkat berasal.

deviceName

String

Nama Perangkat dari perangkat tersebut.

moduleName

String

Nama modul OTA.

moduleVersion

String

Nomor versi modul.

messageCreateTime

Long

Timestamp yang dihasilkan untuk pesan. Satuan: milidetik.

Kirim data status batch pembaruan OTA

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

Anda dapat menggunakan topik ini untuk mendapatkan data status batch pembaruan OTA.

Format data:

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

Parameter:

Parameter

Tipe

Deskripsi

productKey

String

Pengenal unik produk tempat perangkat berasal.

moduleName

String

Nama modul OTA.

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. Parameter ini digunakan untuk mengidentifikasi secara unik batch pembaruan.

state

String

Status batch pembaruan. Nilai valid:

  • PLANNED: Pembaruan belum dimulai.

  • IN_PROGRESS: Pembaruan sedang berjalan.

  • COMPLETED: Pembaruan selesai.

  • CANCELED: Pembaruan dibatalkan.

  • UNFINISH: Pembaruan belum selesai.

    Jika jumlah percobaan pembaruan mencapai batas maksimum untuk instans Enterprise Edition, batch pembaruan berada dalam status UNFINISH.

messageCreateTime

Long

Timestamp yang dihasilkan untuk pesan. Satuan: milidetik.

Kirim perubahan tag perangkat

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

Anda dapat menggunakan topik ini untuk menerima pesan yang dihasilkan ketika tag perangkat diubah.

Format data:

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

Parameter:

Parameter

Tipe

Deskripsi

action

String

Jenis perubahan tag. Nilai valid:

  • UPDATE: Tag diperbarui atau tag baru dibuat.

  • DELETE: Tag dihapus.

  • DELETEALL: Semua tag dihapus.

iotId

String

Pengenal unik perangkat di IoT Platform.

productKey

String

Pengenal unik produk tempat perangkat berasal.

deviceName

String

Nama Perangkat dari perangkat tersebut.

deletedAttrKeyList

List

Kunci tag yang dihapus.

Parameter ini tersedia hanya jika parameter action diatur ke DELETE.

value

List

Data tag.

attrKey

String

Kunci tag.

attrValue

String

Nilai tag.

messageCreateTime

Long

Timestamp yang dihasilkan untuk pesan. Satuan: milidetik.

Kirim data status tugas migrasi instans

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

Anda dapat menggunakan topik ini untuk mendapatkan perubahan status tugas migrasi instans.

Ganti ${uid} dengan ID akun Alibaba Cloud Anda. Untuk mendapatkan ID akun Anda, masuk ke IoT Platform dan arahkan kursor ke foto profil untuk melihat account ID.

Format data:

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

Parameter:

Parameter

Tipe

Deskripsi

jobId

String

ID dari tugas.

status

String

Status tugas. Nilai yang valid:

  • GRAY_EXECUTING: Sebagian data sedang dimigrasikan.

  • GRAY_FINISHED: Sebagian data telah dimigrasikan.

  • ALL_EXECUTING: Tugas sedang dijalankan.

  • ALL_FINISHED: Tugas telah selesai.

  • ALL_PAUSE: Tugas dijeda.

  • ROLL_BACK_EXECUTING: Tugas sedang dibatalkan.

  • ROLL_BACK_PAUSE: Pembatalan dijeda.

messageCreateTime

Panjang

Cap waktu yang dihasilkan untuk pesan tersebut. Satuan: milidetik.

type

String

Jenis tugas. Nilainya tetap INSTANCE_UPGRADE.

sourceInstance

String

ID dari instance publik tempat data dimigrasikan. Jika instance publik merupakan versi sebelumnya, nilainya adalah iotx-oxssharez200.

Untuk informasi lebih lanjut tentang instance IoT Platform, lihat Ikhtisar.

targetInstance

String

ID dari instance Enterprise Edition tempat data dipindahkan.

successDevices

Daftar

Informasi tentang perangkat yang dimigrasikan.

  • Jika Anda melakukan tugas migrasi data bertahap atau tugas migrasi data skala penuh, nilai parameter tersebut berisi informasi tentang perangkat yang dimigrasikan dari instans publik ke instans Enterprise Edition.

  • Jika Anda menggulir balik tugas migrasi data, nilai parameter tersebut berisi informasi tentang perangkat yang dimigrasikan dari instans Enterprise Edition ke instans publik.

productKey

String

Pengidentifikasi unik dari produk tempat perangkat tersebut termasuk.

deviceName

String

DeviceName dari perangkat.

iotId

String

Pengidentifikasi unik perangkat di IoT Platform.