All Products
Search
Document Center

IoT Platform:Properti, event, dan layanan perangkat

Last Updated:Jun 09, 2026

Setelah menentukan model TSL untuk suatu Produk, perangkat harus menggunakan format Alink JSON untuk melaporkan properti dan event. Sisi server juga menggunakan format Alink JSON untuk mengatur properti dan memanggil layanan. Jika perangkat menggunakan format kustom, konfigurasikan skrip penguraian data untuk mengonversinya.

Informasi latar belakang

Format data model TSL (properti, event, dan layanan) didefinisikan dalam Apa itu model TSL?.

Perangkat dapat melaporkan data dalam format standar Alink JSON (disarankan) atau dalam mode pass-through/kustom. Anda harus memilih salah satu metode ini.

  • Format data standar (Alink JSON): Perangkat menghasilkan dan melaporkan data dalam format Alink JSON yang ditentukan oleh Platform IoT. Lihat contoh format pada bagian berikut.

  • Pass-through/kustom: Perangkat melaporkan data mentah, seperti aliran data biner. Alibaba Cloud IoT Platform menjalankan skrip penguraian data yang Anda unggah di Konsol untuk mengonversi data mentah tersebut ke dalam format data standar sebelum diproses. Cloud mengembalikan data dalam format standar Alink JSON. Tanggapan tersebut kemudian diurai dan didorong ke perangkat.TSL model data pass-through

Penting
  • Jika properti model TSL didefinisikan sebagai float atau double, nilai yang dilaporkan harus mencantumkan setidaknya satu tempat desimal (misalnya, 10,0, bukan 10).

  • Perangkat hanya dapat melaporkan data properti dan event dengan nilai time dalam rentang 24 jam ke depan. Laporan di luar rentang ini akan gagal.

  • ID pesan (id) harus unik per perangkat per hari, baik untuk pesan uplink maupun downlink.

    Untuk pesan downlink, Platform IoT menggunakan id untuk mencocokkan tanggapan perangkat terhadap pesan asinkron dan memastikan keunikannya. Untuk pesan uplink, perangkat harus memastikan keunikan id.

Perangkat melaporkan properti

Diagram pelaporan properti perangkat dalam protokol Alink menggambarkan alur pelaporan properti.

Topik dan format data (mobile originated):

  • Pass-through/kustom

    Topik

    Format data

    Topik permintaan: /sys/${productKey}/${deviceName}/thing/model/up_raw

    Data permintaan adalah pesan mentah yang dilaporkan oleh perangkat.

    Catatan
    • Data yang ditransmisikan dalam mode pass-through melalui protokol Message Queuing Telemetry Transport (MQTT) berada dalam format heksadesimal.

    • Data pass-through yang diunggah harus mencakup parameter method, yang nilainya harus sesuai dengan metode permintaan yang sesuai yang didefinisikan dalam skrip penguraian data. Misalnya, dalam contoh skrip JavaScript, nilai ALINK_PROP_REPORT_METHOD adalah thing.event.property.post ketika perangkat mengunggah data properti ke cloud.

    Contoh:

    0x00002233441232013fa00000

    Topik tanggapan: /sys/${productKey}/${deviceName}/thing/model/up_raw_reply

    Cloud mengembalikan data dalam format berikut:

    • Contoh tanggapan sukses

      {
          "code": 200,
          "data": {},
          "id": "123",
          "message": "success",
          "version": "1.0"
      }
    • Contoh tanggapan gagal

      {
          "code": 6813,
          "data": {},
          "id": "123",
          "message": "topic illegal",
          "version": "1.0"
      }
  • Alink JSON

    Topik

    Format data

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

    Format data permintaan:

    {
        "id": "123",
        "version": "1.0",
        "sys":{
            "ack":0
        },
        "params": {
            "Power": {
                "value": "on",
                "time": 1524448722000
            },
            "WF": {
                "value": 23.6,
                "time": 1524448722000
            }
        },
        "method": "thing.event.property.post"
    }

    Topik tanggapan: /sys/${productKey}/${deviceName}/thing/event/property/post_reply

    Cloud mengembalikan data dalam format berikut:

    • Contoh tanggapan sukses

      {
          "code": 200,
          "data": {},
          "id": "123",
          "message": "success",
          "method": "thing.event.property.post",
          "version": "1.0"
      }
    • Contoh tanggapan gagal

      {
          "code": 6813,
          "data": {},
          "id": "123",
          "message": "The format of result is error!",
          "method": "thing.event.property.post",
          "version": "1.0"
      }

Deskripsi parameter:

Tabel 1. Parameter permintaan

Parameter

Type

Deskripsi

id

String

ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

version

String

Nomor versi protokol. Satu-satunya nilai yang valid adalah 1.0.

sys

Object

Parameter fitur tambahan.

Catatan

Jika Anda menggunakan SDK sisi perangkat tanpa mengatur fitur tambahan, parameter ini dihilangkan dan nilai default berlaku.

ack

Integer

Apakah cloud mengembalikan tanggapan. Bidang di bawah sys.

  • 1: Mengembalikan tanggapan.

  • 0: Tidak mengembalikan tanggapan.

Penting

Contoh penggunaan model Thing Specification Language.

Jika tidak dikonfigurasi, parameter ini dihilangkan dan tanggapan dikembalikan secara default.

method

String

Metode permintaan. Contohnya: thing.event.property.post.

params

Object

Data properti yang dilaporkan. Dalam contoh ini, perangkat melaporkan properti Power (catu daya) dan WF (arus operasi), masing-masing dengan nilai dan stempel waktu opsional.

Jika Anda hanya mengirimkan nilai properti, Anda tidak perlu mengunggah bidang time dan value. Berikut adalah contoh parameter params:

"params": {
    "Power": "on",
    "WF": 23.6
}

Jika merupakan properti modul kustom, format identifikatornya adalah ${moduleIdentifier}:${propertyIdentifier} (dipisahkan tanda titik dua). Contohnya:

"test:Power": {
    "value": "on",
    "time": 1524448722000
}

time

Long

Stempel waktu UNIX saat properti dilaporkan, dalam milidetik UTC.

Opsional. Sertakan stempel waktu jika urutan pesan penting.

  • Jika time disertakan, Platform IoT menggunakannya sebagai waktu pelaporan properti.

  • Jika time dihilangkan, Platform IoT menghasilkan waktu pelaporan secara otomatis.

value

Object

Nilai properti yang dilaporkan.

Jika Anda tidak menyertakan time, Anda dapat menghilangkan value dan langsung melaporkan nilai parameternya.

Tabel 2. Parameter tanggapan

Parameter

Tipe

Deskripsi

id

String

ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

code

Integer

Kode status hasil. Kode umum sisi perangkat.

Catatan

Platform IoT memvalidasi properti yang dilaporkan terhadap definisi model TSL Produk. Properti yang gagal divalidasi akan difilter dan kode kesalahan dikembalikan.

data

Object

Jika permintaan berhasil, objek kosong dikembalikan.

message

String

Pesan tanggapan. Jika permintaan berhasil, `success` dikembalikan.

method

String

Metode permintaan yang sesuai dengan tanggapan. Ini sama dengan method dalam parameter permintaan.

version

String

Nomor versi protokol. Ini sama dengan version dalam parameter permintaan.

Kode kesalahan: Kode kesalahan yang diterima perangkat.

Penerusan data: Properti yang dilaporkan dapat diteruskan ke server Anda atau produk cloud lainnya melalui langganan sisi server atau penerusan data. Topik dan format data: Pelaporan properti perangkat.

Mengatur properti perangkat

Panggil operasi API SetDeviceProperty atau SetDevicesProperty untuk mengirim instruksi ke perangkat guna mengatur propertinya. Untuk memahami cara mengatur properti perangkat, lihat Diagram pengaturan properti dalam protokol Alink.

Penting

Tanggapan sukses untuk pengaturan properti perangkat hanya menunjukkan bahwa Platform IoT telah mengirim permintaan, bukan bahwa perangkat telah mengeksekusinya. Setelah SDK perangkat merespons, perangkat harus melaporkan nilai properti baru untuk mengonfirmasi perubahan tersebut. Lihat bagian "Perangkat melaporkan properti" di atas.

Topik dan format data (mobile terminated):

Format data (mobile terminated)

Topik permintaan dan tanggapan

Pass-through/kustom

  • Topik permintaan: /sys/${productKey}/${deviceName}/thing/model/down_raw

  • Topik tanggapan: /sys/${productKey}/${deviceName}/thing/model/down_raw_reply

Alink JSON

  • Topik permintaan: /sys/${productKey}/${deviceName}/thing/service/property/set

  • Topik tanggapan: /sys/${productKey}/${deviceName}/thing/service/property/set_reply

Format data permintaan:

{
    "id": "123",
    "version": "1.0",
    "params": {
        "temperature": "30.5"
    },
    "method": "thing.service.property.set"
}

Format data tanggapan:

  • Contoh tanggapan sukses

    {
        "code": 200,
        "data": {},
        "id": "123",
        "message": "success",
        "version": "1.0"
    }
  • Contoh tanggapan gagal

    {
        "code": 9201,
        "data": {},
        "id": "123",
        "message": "device offLine",
        "version": "1.0"
    }

Deskripsi parameter:

Tabel 3. Parameter permintaan

Parameter

Tipe

Deskripsi

id

String

ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

version

String

Nomor versi protokol. Satu-satunya nilai yang valid adalah 1.0.

params

Object

Parameter pengaturan properti. Dalam contoh ini, properti diatur sebagai berikut: { "temperature": "30.5" }.

Jika merupakan properti modul kustom, format identifikatornya adalah ${moduleIdentifier}:${propertyIdentifier} (dipisahkan tanda titik dua), misalnya, { "test:temperature": "30.5" }.

method

String

Metode permintaan. Contohnya: thing.service.property.set.

Tabel 4. Parameter tanggapan

Parameter

Type

Deskripsi

id

String

ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

code

Integer

Kode status hasil. Kode umum sisi perangkat.

data

Object

Jika permintaan berhasil, objek kosong dikembalikan.

message

String

Pesan tanggapan. Jika permintaan berhasil, `success` dikembalikan.

version

String

Nomor versi protokol. Ini sama dengan version dalam parameter permintaan.

Kode kesalahan: Kode kesalahan yang diterima perangkat.

Penerusan data: Hasil pengaturan properti dapat diteruskan ke server Anda atau produk cloud lainnya melalui langganan sisi server atau penerusan data. Topik dan format data: Hasil instruksi mobile terminated perangkat.

Perangkat melaporkan event

Diagram pelaporan event perangkat dalam protokol Alink menggambarkan alur pelaporan event.

Topik dan format data (mobile originated):

  • Pass-through/kustom

    Topik

    Format data

    Topik permintaan: /sys/${productKey}/${deviceName}/thing/model/up_raw

    Data permintaan adalah pesan mentah yang dilaporkan oleh perangkat.

    Catatan

    Data pass-through harus mencakup parameter method. Nilainya harus konsisten dengan metode permintaan yang sesuai yang didefinisikan dalam skrip penguraian data. Misalnya, nilainya dapat berupa thing.event.${tsl.event.identifier}.post.

    Contoh:

    0xff0000007b00

    Topik tanggapan: /sys/${productKey}/${deviceName}/thing/model/up_raw_reply

    Cloud mengembalikan data dalam format berikut:

    • Contoh tanggapan sukses

      {
          "code": 200,
          "data": {},
          "id": "123",
          "message": "success",
          "version": "1.0"
      }
    • Contoh tanggapan gagal

      {
          "code": 6813,
          "data": {},
          "id": "123",
          "message": "topic illegal",
          "version": "1.0"
      }
  • Alink JSON

    Modul model TSL

    Topik

    Format data

    Modul default

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

    • Topik tanggapan: /sys/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post_reply

    Menggunakan modul model TSL default sebagai contoh, format data permintaan Alink adalah sebagai berikut:

    {
        "id": "123",
        "version": "1.0",
        "sys":{
            "ack":0
        },
        "params": {
            "value": {
                "Power": "on",
                "WF": "2"
            },
            "time": 1524448722000
        },
        "method": "thing.event.${tsl.event.identifier}.post"
    }

    Format data tanggapan Alink:

    {
        "code": 200,
        "data": {},
        "id": "123",
        "message": "success",
        "method": "thing.event.${tsl.event.identifier}.post",
        "version": "1.0"
    }

    Jika permintaan gagal, {} dikembalikan.

    Modul kustom

    • Topik permintaan: /sys/${productKey}/${deviceName}/thing/event/${tsl.functionBlockId}:${tsl.event.identifier}/post

    • Topik tanggapan: /sys/${productKey}/${deviceName}/thing/event/${tsl.functionBlockId}:${tsl.event.identifier}/post_reply

Deskripsi parameter:

Tabel 5. Parameter permintaan

Parameter

Tipe

Deskripsi

id

String

ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

version

String

Nomor versi protokol. Satu-satunya nilai yang valid adalah 1.0.

sys

Object

Parameter fitur tambahan.

Catatan

Jika Anda menggunakan SDK sisi perangkat tanpa mengatur fitur tambahan, parameter ini dihilangkan dan nilai default berlaku.

ack

Integer

Apakah cloud mengembalikan tanggapan. Bidang di bawah sys.

  • 1: Mengembalikan tanggapan.

  • 0: Tidak mengembalikan tanggapan.

Penting

Contoh penggunaan model Thing Specification Language.

Jika tidak dikonfigurasi, parameter ini dihilangkan dan tanggapan dikembalikan secara default.

method

String

Metode permintaan.

  • Modul default

    Nilainya adalah thing.event.${tsl.event.identifier}.post.

  • Modul kustom

    Nilainya adalah thing.event.${tsl.functionBlockId}:${tsl.event.identifier}.post.

Catatan

${tsl.event.identifier} adalah identifikasi event yang didefinisikan dalam model TSL, dan ${tsl.functionBlockId} adalah identifikasi modul kustom. Menambahkan model TSL untuk fitur tunggal.

params

Object

Parameter keluaran dari event yang dilaporkan.

value

Object

Informasi parameter keluaran event. Contoh ini menampilkan informasi untuk dua parameter: Power dan WF (arus operasi).

{
    "Power": "on",
    "WF": "2"
}

time

Long

Stempel waktu UNIX saat event dilaporkan, dalam milidetik UTC.

Ini adalah bidang opsional. Tentukan apakah akan menyertakan stempel waktu berdasarkan skenario bisnis Anda. Jika pesan sering dikirim dan Anda perlu menentukan urutan pesan berdasarkan stempel waktu, kami sarankan Anda menyertakan stempel waktu.

  • Jika Anda menyertakan time, Platform IoT menyimpan waktu yang ditentukan sebagai waktu pelaporan event.

  • Jika Anda tidak menyertakan time, Platform IoT secara otomatis menghasilkan dan menyimpan waktu pelaporan event.

Tabel 6. Parameter tanggapan

Parameter

Tipe

Deskripsi

id

String

ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

code

Integer

Kode status hasil. Kode umum sisi perangkat.

Catatan

Platform IoT memvalidasi event yang dilaporkan terhadap definisi model TSL Produk. Event yang gagal divalidasi akan difilter dan kode kesalahan dikembalikan.

data

Object

Jika permintaan berhasil, objek kosong dikembalikan.

message

String

Pesan tanggapan. Jika permintaan berhasil, `success` dikembalikan.

method

String

Metode permintaan yang sesuai dengan tanggapan. Ini sama dengan method dalam parameter permintaan.

version

String

Nomor versi protokol. Ini sama dengan version dalam parameter permintaan.

Contoh format Alink: Asumsikan sebuah event `alarm` didefinisikan dalam suatu Produk. Deskripsi TSL-nya adalah sebagai berikut. Untuk informasi lebih lanjut tentang parameter, lihat Apa itu model TSL?.

{
    "schema": "https://iot-tsl.oss-cn-shanghai.aliyuncs.com/schema.json",
    "link": "/sys/${productKey}/airCondition/thing/",
    "profile": {
        "productKey": "${productKey}",
        "deviceName": "airCondition"
    },
    "events": [
        {
            "identifier": "alarm",
            "name": "alarm",
            "desc": "Alarm kipas",
            "type": "alert",
            "required": true,
            "outputData": [
                {
                    "identifier": "errorCode",
                    "name": "Kode kesalahan",
                    "dataType": {
                        "type": "text",
                        "specs": {
                            "length": "255"
                        }
                    }
                }
            ],
            "method": "thing.event.alarm.post"
        }
    ]
}

Saat perangkat melaporkan event tersebut, format data permintaan Alink adalah sebagai berikut:

{
    "id": "123",
    "version": "1.0",
    "params": {
        "value": {
            "errorCode": "error"
        },
        "time": 1524448722000
    },
    "method": "thing.event.alarm.post"
}

Kode kesalahan: Kode kesalahan yang diterima perangkat.

Penerusan data: Event yang dilaporkan dapat diteruskan ke server Anda atau produk cloud lainnya melalui langganan sisi server atau penerusan data. Topik dan format data: Pelaporan event perangkat.

Pemanggilan layanan perangkat (asinkron)

Platform IoT mendukung pemanggilan sinkron dan asinkron. Anda harus menentukan metode pemanggilan saat menentukan layanan dalam model TSL. Untuk memahami cara memanggil layanan perangkat, lihat Diagram pemanggilan layanan dalam protokol Alink.

  • Sinkron: Panggil operasi API InvokeThingService atau InvokeThingsService. Platform IoT menggunakan revert-RPC (RRPC) untuk mendorong permintaan secara sinkron. Layanan harus diatur ke pemanggilan sinkron, dan Platform IoT berlangganan ke topik RRPC yang sesuai. Apa itu RRPC?.

  • Asinkron: Panggil operasi API InvokeThingService atau InvokeThingsService untuk memanggil layanan. Platform IoT mendorong permintaan secara asinkron, dan perangkat mengembalikan hasilnya secara asinkron. Dalam kasus ini, layanan diatur ke pemanggilan asinkron, dan Platform IoT berlangganan ke topik tanggapan asinkron yang dijelaskan dalam bagian ini.

Topik dan format data (mobile terminated):

Format data downlink

Topik permintaan dan tanggapan

Pass-through/kustom

  • Topik permintaan: /sys/${productKey}/${deviceName}/thing/model/down_raw

  • Topik tanggapan: /sys/${productKey}/${deviceName}/thing/model/down_raw_reply

Alink JSON

  • Modul default

    • Topik permintaan: /sys/${productKey}/${deviceName}/thing/service/${tsl.service.identifier}

    • Topik tanggapan: /sys/${productKey}/${deviceName}/thing/service/${tsl.service.identifier}_reply

  • Modul kustom

    • Topik permintaan: /sys/${productKey}/${deviceName}/thing/service/${tsl.functionBlockId}:${tsl.service.identifier}

    • Topik tanggapan: /sys/${productKey}/${deviceName}/thing/service/${tsl.functionBlockId}:${tsl.service.identifier}_reply

Format data permintaan Alink:

{
    "id": "123",
    "version": "1.0",
    "params": {
        "Power": "on",
        "WF": "2"
    },
    "method": "thing.service.${tsl.service.identifier}"
}

Format data tanggapan:

  • Contoh tanggapan sukses:

    {
        "code": 200,
        "data": {},
        "id": "123",
        "message": "success",
        "version": "1.0"
    }
  • Contoh tanggapan gagal:

    {
        "code": 9201,
        "data": {},
        "id": "123",
        "message": "device offLine",
        "version": "1.0"
    }

Deskripsi parameter:

Tabel 7. Parameter permintaan

Parameter

Tipe

Deskripsi

id

String

ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

version

String

Nomor versi protokol. Satu-satunya nilai yang valid adalah 1.0.

params

Object

Parameter pemanggilan layanan. Mencakup identifikasi layanan dan nilai layanan. Contoh ini menampilkan dua parameter: Power dan WF (arus operasi).

{
    "Power": "on",
    "WF": "2"
}

method

String

Metode permintaan.

  • Modul default

    Nilainya adalah thing.service.${tsl.service.identifier}.

  • Modul kustom

    Nilainya adalah thing.service.${tsl.functionBlockId}:${tsl.service.identifier}.

Catatan

${tsl.service.identifier} adalah identifikasi layanan yang didefinisikan dalam model TSL, dan ${tsl.functionBlockId} adalah identifikasi modul kustom. Menambahkan model TSL untuk fitur tunggal.

Tabel 8. Parameter tanggapan

Parameter

Tipe

Deskripsi

id

String

ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

code

Integer

Kode status hasil. Kode umum sisi perangkat.

data

Object

Informasi tanggapan.

Nilai parameter data bergantung pada definisi model TSL. Jika layanan tidak mengembalikan hasil, nilai data kosong. Jika layanan mengembalikan hasil, data yang dikembalikan mengikuti definisi layanan secara ketat.

message

String

Pesan tanggapan. Jika permintaan berhasil, `success` dikembalikan.

version

String

Nomor versi protokol. Ini sama dengan version dalam parameter permintaan.

Contoh format Alink: Asumsikan sebuah layanan bernama SetWeight didefinisikan dalam suatu Produk. Deskripsi TSL-nya adalah sebagai berikut:

{
    "schema": "https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json",
    "profile": {
        "productKey": "testProduct01"
    },
    "services": [
        {
            "outputData": [
                {
                    "identifier": "OldWeight",
                    "dataType": {
                        "specs": {
                            "unit": "kg",
                            "min": "0",
                            "max": "200",
                            "step": "1"
                        },
                        "type": "double"
                    },
                    "name": "OldWeight"
                },
                {
                    "identifier": "CollectTime",
                    "dataType": {
                        "specs": {
                            "length": "2048"
                        },
                        "type": "text"
                    },
                    "name": "CollectTime"
                }
            ],
            "identifier": "SetWeight",
            "inputData": [
                {
                    "identifier": "NewWeight",
                    "dataType": {
                        "specs": {
                            "unit": "kg",
                            "min": "0",
                            "max": "200",
                            "step": "1"
                        },
                        "type": "double"
                    },
                    "name": "NewWeight"
                }
            ],
            "method": "thing.service.SetWeight",
            "name": "Atur bobot",
            "required": false,
            "callType": "async"
        }
    ]
}

Saat layanan dipanggil, format data permintaan Alink adalah sebagai berikut:

{
    "method": "thing.service.SetWeight",
    "id": "105917531",
    "params": {
        "NewWeight": 100.8
    },
    "version": "1.0"
}

Format data tanggapan Alink:

{
    "id": "105917531",
    "code": 200,
    "data": {
        "CollectTime": "1536228947682",
        "OldWeight": 100.101
    }
    "message": "success",
    "version": "1.0"
}

Kode kesalahan: Kode kesalahan yang diterima perangkat.

Penerusan data: Hasil pemanggilan asinkron dapat diteruskan ke server Anda atau produk cloud lainnya melalui langganan sisi server atau penerusan data. Topik dan format data: Hasil instruksi mobile terminated perangkat.

Pelaporan data batch gerbang

Perangkat gerbang dapat melaporkan properti dan event secara batch. Perangkat gerbang juga dapat melaporkan properti dan event untuk perangkat sub-nya secara batch.

Catatan
  • Anda dapat melaporkan hingga 200 properti dan 20 event sekaligus.

  • Anda dapat melaporkan data untuk hingga 20 perangkat sub sekaligus.

Topik dan format data (mobile originated):

  • Pass-through/kustom

    Topik

    Format data

    Topik permintaan: /sys/${productKey}/${deviceName}/thing/model/up_raw

    Data permintaan adalah pesan mentah yang dilaporkan oleh perangkat.

    Catatan

    Data pass-through harus mencakup parameter method. Nilainya harus konsisten dengan metode permintaan yang sesuai yang didefinisikan dalam skrip penguraian data. Misalnya, nilainya dapat berupa thing.event.property.pack.post.

    Contoh:

    0xff0000007b00

    Topik tanggapan: /sys/${productKey}/${deviceName}/thing/model/up_raw_reply

    Cloud mengembalikan data dalam format berikut:

    • Contoh tanggapan sukses

      {
          "code": 200,
          "data": {},
          "id": "123",
          "message": "success",
          "version": "1.0"
      }
    • Contoh tanggapan gagal

      {
          "code": 6813,
          "data": {},
          "id": "123",
          "message": "topic illegal",
          "version": "1.0"
      }
  • Alink JSON

    Topik permintaan dan tanggapan

    Data permintaan dan tanggapan

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

    Format data permintaan Alink:

    {
        "id": "123",
        "version": "1.0",
        "sys":{
            "ack":0
        },
        "params": {
            "properties": {
                "Power": {
                    "value": "on",
                    "time": 1524448722000
                },
                "WF": {
                    "value": { },
                    "time": 1524448722000
                }
            },
            "events": {
                "alarmEvent1": {
                    "value": {
                        "param1": "on",
                        "param2": "2"
                    },
                    "time": 1524448722000
                },
                "alertEvent2": {
                    "value": {
                        "param1": "on",
                        "param2": "2"
                    },
                    "time": 1524448722000
                }
            },
            "subDevices": [
                {
                    "identity": {
                        "productKey": "",
                        "deviceName": ""
                    },
                    "properties": {
                        "Power": {
                            "value": "on",
                            "time": 1524448722000
                        },
                        "WF": {
                            "value": { },
                            "time": 1524448722000
                        }
                    },
                    "events": {
                        "alarmEvent1": {
                            "value": {
                                "param1": "on",
                                "param2": "2"
                            },
                            "time": 1524448722000
                        },
                        "alertEvent2": {
                            "value": {
                                "param1": "on",
                                "param2": "2"
                            },
                            "time": 1524448722000
                        }
                    }
                }
            ]
        },
        "method": "thing.event.property.pack.post"
    }

    Topik tanggapan: /sys/${productKey}/${deviceName}/thing/event/property/pack/post_reply

    Format data tanggapan Alink:

    {
        "code": 200,
        "data": {},
        "id": "123",
        "message": "success",
        "method": "thing.event.property.pack.post",
        "version": "1.0"
    }

    Jika permintaan gagal, {} dikembalikan.

Deskripsi parameter:

Tabel 9. Parameter permintaan

Parameter

Tipe

Deskripsi

id

String

ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

version

String

Nomor versi protokol. Satu-satunya nilai yang valid adalah 1.0.

sys

Object

Parameter fitur tambahan.

Catatan

Jika Anda menggunakan SDK sisi perangkat tanpa mengatur fitur tambahan, parameter ini dihilangkan dan nilai default berlaku.

ack

Integer

Apakah cloud mengembalikan tanggapan. Bidang di bawah sys.

  • 1: Mengembalikan tanggapan.

  • 0: Tidak mengembalikan tanggapan.

Penting

Contoh penggunaan model Thing Specification Language.

Jika tidak dikonfigurasi, parameter ini dihilangkan dan tanggapan dikembalikan secara default.

params

Object

Parameter permintaan.

properties

Object

Properti. Mencakup identifikasi properti, nilai properti value, dan waktu time saat properti dihasilkan.

Parameter time bersifat opsional. Tentukan apakah akan menyertakan stempel waktu berdasarkan skenario bisnis Anda. Jika pesan sering dikirim dan Anda perlu menentukan urutan pesan berdasarkan stempel waktu, kami sarankan Anda menyertakan stempel waktu.

Dalam contoh ini, perangkat melaporkan informasi untuk dua properti: Power dan WF (arus operasi).

Jika merupakan properti modul kustom, format identifikatornya adalah ${moduleIdentifier}:${propertyIdentifier} (dipisahkan tanda titik dua). Contohnya:

"test:Power": {
    "value": "on",
    "time": 1524448722000
}

events

Object

Event. Mencakup identifikasi event, parameter keluaran event value, dan waktu time saat event dihasilkan.

Parameter time bersifat opsional. Tentukan apakah akan menyertakan stempel waktu berdasarkan skenario bisnis Anda. Jika pesan sering dikirim dan Anda perlu menentukan urutan pesan berdasarkan stempel waktu, kami sarankan Anda menyertakan stempel waktu.

Dalam contoh ini, dua event, alarmEvent1 dan alarmEvent2, dilaporkan dengan parameter-parameternya, yaitu param1 dan param2.

Jika merupakan event modul kustom, format identifikatornya adalah ${moduleIdentifier}:${eventIdentifier} (dipisahkan tanda titik dua). Contohnya:

"test:alarmEvent1": {
    "value": {
        "param1": "on",
        "param2": "2"
    },
    "time": 1524448722000
}

subDevices

Object

Informasi perangkat sub.

productKey

String

ProductKey dari Produk perangkat sub.

deviceName

String

Nama perangkat sub.

method

String

Parameter permintaan. Nilai: thing.event.property.pack.post.

Tabel 10. Parameter tanggapan

Parameter

Tipe

Deskripsi

id

String

ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

code

Integer

Kode tanggapan. Nilai 200 menunjukkan keberhasilan.

Catatan

Sistem memvalidasi perangkat, topologi, serta properti dan event yang dilaporkan terhadap definisi model TSL Produk. Jika salah satu pemeriksaan ini gagal, pelaporan data akan gagal.

data

Object

Jika permintaan berhasil, objek kosong dikembalikan.

message

String

Pesan tanggapan. Jika permintaan berhasil, `success` dikembalikan.

method

String

Metode permintaan yang sesuai dengan tanggapan. Ini sama dengan method dalam parameter permintaan.

version

String

Nomor versi protokol. Ini sama dengan version dalam parameter permintaan.

Kode kesalahan: Kode kesalahan yang diterima perangkat.

Penerusan data: Data model TSL batch dari gerbang dapat diteruskan ke server Anda atau produk cloud lainnya melalui langganan sisi server atau penerusan data. Pesan untuk perangkat sub dan gerbang dipisah menjadi pesan properti atau event individual sebelum diteruskan. Topik dan format data: Pelaporan properti perangkat dan Pelaporan event perangkat.

Pelaporan data historis model TSL

Topik dan format data (mobile originated):

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

  • Topik tanggapan: /sys/${productKey}/${deviceName}/thing/event/property/history/post_reply

Format data permintaan Alink:

{
    "id": "123", 
    "version": "1.0",
    "sys":{
        "ack":0
    }, 
    "method": "thing.event.property.history.post", 
    "params": [
        {
            "identity": {
                "productKey": "", 
                "deviceName": ""
            }, 
            "properties": [
                {
                    "Power": {
                        "value": "on", 
                        "time": 1524448722000
                    }, 
                    "WF": {
                        "value": "3", 
                        "time": 1524448722000
                    }
                }, 
                {
                    "Power": {
                        "value": "on", 
                        "time": 1524448722000
                    }, 
                    "WF": {
                        "value": "3", 
                        "time": 1524448722000
                    }
                }
            ], 
            "events": [
                {
                    "alarmEvent": {
                        "value": {
                            "Power": "on", 
                            "WF": "2"
                        }, 
                        "time": 1524448722000
                    }, 
                    "alertEvent": {
                        "value": {
                            "Power": "off", 
                            "WF": "3"
                        }, 
                        "time": 1524448722000
                    }
                }
            ]
        }, 
        {
            "identity": {
                "productKey": "", 
                "deviceName": ""
            }, 
            "properties": [
                {
                    "Power": {
                        "value": "on", 
                        "time": 1524448722000
                    }, 
                    "WF": {
                        "value": "3", 
                        "time": 1524448722000
                    }
                }
            ], 
            "events": [
                {
                    "alarmEvent": {
                        "value": {
                            "Power": "on", 
                            "WF": "2"
                        }, 
                        "time": 1524448722000
                    }, 
                    "alertEvent": {
                        "value": {
                            "Power": "off", 
                            "WF": "3"
                        }, 
                        "time": 1524448722000
                    }
                }
            ]
        }
    ]
}

Format data tanggapan Alink:

  • Contoh tanggapan sukses

    {
        "code": 200,
        "data": {},
        "id": "123",
        "message": "success",
        "method": "thing.event.property.history.post",
        "version": "1.0"
    }
  • Contoh tanggapan gagal

    {
        "code": 5092,
        "data": {},
        "id": "123",
        "message": "property not found",
        "method": "thing.event.property.history.post",
        "version": "1.0"
    }

Deskripsi parameter:

Tabel 11. Parameter permintaan

Parameter

Tipe

Deskripsi

id

String

ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

version

String

Nomor versi protokol. Satu-satunya nilai yang valid adalah 1.0.

sys

Object

Parameter fitur tambahan.

Catatan

Jika Anda menggunakan SDK sisi perangkat tanpa mengatur fitur tambahan, parameter ini dihilangkan dan nilai default berlaku.

ack

Integer

Apakah cloud mengembalikan tanggapan. Bidang di bawah sys.

  • 1: Mengembalikan tanggapan.

  • 0: Tidak mengembalikan tanggapan.

Penting

Contoh penggunaan model Thing Specification Language.

Jika tidak dikonfigurasi, parameter ini dihilangkan dan tanggapan dikembalikan secara default.

method

String

Metode permintaan. Ini adalah bidang statis. Nilai: thing.event.property.history.post.

params

Object

Parameter permintaan.

identity

String

Informasi sertifikat perangkat tempat data tersebut berasal. Termasuk parameter productKey dan deviceName.

Catatan

Perangkat yang terhubung langsung hanya dapat melaporkan data historis model TSL miliknya sendiri. Perangkat gerbang dapat melaporkan data historis model TSL untuk perangkat sub-nya. Saat gerbang melaporkan data historis untuk perangkat sub, identity berisi informasi perangkat sub tersebut.

properties

Object

Properti. Mencakup identifikasi properti, nilai properti value, dan waktu time saat properti dihasilkan.

Dalam contoh ini, perangkat melaporkan informasi historis untuk dua properti: Power dan WF (arus operasi).

Jika merupakan properti modul kustom, format identifikatornya adalah ${moduleIdentifier}:${propertyIdentifier} (dipisahkan tanda titik dua). Contohnya:

"test:Power": {
    "value": "on",
    "time": 1524448722000
}

events

Object

Event. Mencakup identifikasi event, parameter keluaran event value, dan waktu time saat event dihasilkan.

Dalam contoh ini, informasi historis untuk alarmEvent dilaporkan dengan parameter-parameternya, yaitu Power dan WF (arus operasi).

Jika merupakan event modul kustom, format identifikatornya adalah ${moduleIdentifier}:${eventIdentifier} (dipisahkan tanda titik dua). Contohnya:

"test:alarmEvent": {
    "value": {
        "Power": "on", 
        "WF": "2"
    }, 
    "time": 1524448722000
}
Tabel 12. Parameter tanggapan

Parameter

Tipe

Deskripsi

id

String

ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

code

Integer

Kode status hasil. Kode umum sisi perangkat.

data

Object

Jika permintaan berhasil, objek kosong dikembalikan.

message

String

Pesan tanggapan. Jika permintaan berhasil, `success` dikembalikan.

method

String

Metode permintaan yang sesuai dengan tanggapan. Ini sama dengan method dalam parameter permintaan.

version

String

Nomor versi protokol. Ini sama dengan version dalam parameter permintaan.

Kode kesalahan: Kode kesalahan yang diterima perangkat.

Penerusan data: Data historis model TSL dapat diteruskan ke server Anda atau produk cloud lainnya melalui langganan sisi server atau penerusan data. Topik dan format data: Pelaporan properti historis dan Pelaporan event historis.

Penting

Saat data historis model TSL dari perangkat diteruskan, platform membuat pesan terpisah untuk item-item yang tercantum di bawah properties dan events. Data historis untuk setiap properti atau event kemudian diteruskan secara terpisah.

Pelaporan properti dan event perangkat secara batch

Topik dan format data (mobile originated):

  • Topik permintaan: /sys/${productKey}/${deviceName}/thing/event/property/batch/post

  • Topik tanggapan: /sys/${productKey}/${deviceName}/thing/event/property/batch/post_reply

Format data permintaan Alink:

{
    "id": "123", 
    "version": "1.0",
    "sys":{
        "ack":0
    }, 
    "method": "thing.event.property.batch.post", 
    "params": {
        "properties": {
            "Power": [
                {
                    "value": "on", 
                    "time": 1524448722000
                },
                {
                    "value": "off", 
                    "time": 1524448722001
                }
            ], 
            "WF": [
                {
                    "value": 3, 
                    "time": 1524448722000
                },
                {
                    "value": 4, 
                    "time": 1524448722009
                }
            ]
        }, 
        "events": {
            "alarmEvent": [
                {
                    "value": {
                        "Power": "on", 
                        "WF": "2"
                    }, 
                    "time": 1524448722000
                },
                {
                    "value": {
                        "Power": "on", 
                        "WF": "2"
                    }, 
                    "time": 1524448722000
                }
            ]
        }
    }
}

Format data tanggapan Alink:

  • Contoh tanggapan sukses:

    {
        "code": 200,
        "data": {},
        "id": "123",
        "message": "success",
        "method": "thing.event.property.batch.post",
        "version": "1.0"
    }
  • Contoh tanggapan gagal:

    {
        "code": 9201,
        "data": {},
        "id": "123",
        "message": "device offLine",
        "method": "thing.event.property.batch.post",
        "version": "1.0"
    }

Deskripsi parameter:

Tabel 13. Parameter permintaan

Parameter

Tipe

Deskripsi

id

String

ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

version

String

Nomor versi protokol. Satu-satunya nilai yang valid adalah 1.0.

sys

Object

Parameter fitur tambahan.

Catatan

Jika Anda menggunakan SDK sisi perangkat tanpa mengatur fitur tambahan, parameter ini dihilangkan dan nilai default berlaku.

ack

Integer

Apakah cloud mengembalikan tanggapan. Bidang di bawah sys.

  • 1: Mengembalikan tanggapan.

  • 0: Tidak mengembalikan tanggapan.

Penting

Contoh penggunaan model Thing Specification Language.

Jika tidak dikonfigurasi, parameter ini dihilangkan dan tanggapan dikembalikan secara default.

method

String

Metode permintaan. Ini adalah bidang statis. Nilai: thing.event.property.batch.post.

params

Object

Parameter permintaan.

properties

Object

Properti. Mencakup identifikasi properti, nilai properti value, dan waktu time saat properti dihasilkan.

Dalam contoh ini, perangkat melaporkan informasi batch untuk dua properti: Power dan WF (arus operasi).

Jika merupakan properti modul kustom, format identifikatornya adalah ${moduleIdentifier}:${propertyIdentifier} (dipisahkan tanda titik dua). Contohnya:

"test:Power": {
    "value": "on",
    "time": 1524448722000
}

events

Object

Event. Mencakup identifikasi event, parameter keluaran event value, dan waktu time saat event dihasilkan.

Dalam contoh ini, informasi batch untuk alarmEvent dilaporkan dengan parameter-parameternya, yaitu Power dan WF (arus operasi).

Jika merupakan event modul kustom, format identifikatornya adalah ${moduleIdentifier}:${eventIdentifier} (dipisahkan tanda titik dua). Contohnya:

"test:alarmEvent": {
    "value": {
        "Power": "on", 
        "WF": "2"
    }, 
    "time": 1524448722000
}
Tabel 14. Parameter tanggapan

Parameter

Tipe

Deskripsi

id

String

ID pesan. String angka dengan nilai dari 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

code

Integer

Kode status hasil. Kode umum sisi perangkat.

data

Object

Jika permintaan berhasil, objek kosong dikembalikan.

message

String

Pesan tanggapan. Jika permintaan berhasil, `success` dikembalikan.

method

String

Metode permintaan yang sesuai dengan tanggapan. Ini sama dengan method dalam parameter permintaan.

version

String

Nomor versi protokol. Ini sama dengan version dalam parameter permintaan.

Kode kesalahan: Kode kesalahan yang diterima perangkat.

Penerusan data: Data model TSL batch dapat diteruskan ke server Anda melalui langganan sisi server. Data properti dan event diteruskan sebagai pesan terpisah. Topik dan format data: Pelaporan properti batch dari perangkat dan Pelaporan event batch dari perangkat.

Referensi

Apa perbedaan antara pelaporan properti, pelaporan data historis, dan pelaporan properti batch untuk model TSL?.