全部产品
Search
文档中心

IoT Platform:FAQ tentang model TSL

更新时间:Jul 06, 2025

Topik ini menjawab beberapa pertanyaan umum (FAQ) terkait penggunaan model Bahasa Spesifikasi Hal (TSL) untuk memungkinkan komunikasi antara perangkat dan IoT Platform.

Apa yang harus saya lakukan jika verifikasi gagal saat saya mengimpor file model TSL?

Masalah

Kesalahan verifikasi terjadi saat mengimpor file model TSL, seperti yang ditunjukkan pada gambar berikut. Issue

Solusi

Untuk memperbaiki kesalahan verifikasi, gunakan solusi berikut:

  • Solusi 1: Periksa format file model TSL dan pastikan bahwa file tersebut dalam format JSON.

  • Solusi 2: Klik Download and View untuk mendapatkan file errors.txt. Lakukan pemecahan masalah dan perbaiki masalah berdasarkan isi file errors.txt.

    Untuk informasi lebih lanjut tentang file errors.txt, lihat contoh file berikut.

    Contoh file model TSL:

    {
        "schema":"https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json",
        "profile":{
            "productKey":"a1Jk***"
        },
        "services":[],
        "properties": 1,
        "events": [],
        "functionBlockId": "**mtest",
        "functionBlockName": "Modul Kustom 1"
    }

    Contoh file errors.txt:

    [
      {
        "path": [
          "properties"
        ],
        "property": "instance.properties",
        "message": "is not of a type(s) array",
        "schema": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/propertyDefinition"
          }
        },
        "instance": 1,
        "name": "type",
        "argument": [
          "array"
        ],
        "stack": "instance.properties is not of a type(s) array"
      },
      {
        "path": [
          "functionBlockId"
        ],
        "property": "instance.functionBlockId",
        "message": "does not match pattern \"^[_a-zA-Z0-9]{1,30}$\"",
        "schema": {
          "type": "string",
          "pattern": "^[_a-zA-Z0-9]{1,30}$"
        },
        "instance": "**mtest",
        "name": "pattern",
        "argument": "^[_a-zA-Z0-9]{1,30}$",
        "stack": "instance.functionBlockId does not match pattern \"^[_a-zA-Z0-9]{1,30}$\""
      }
    ]

    Parameter

    Deskripsi

    path

    Jalur kesalahan. Dalam contoh ini, kesalahan berikut terdeteksi:

    // Nilai parameter properties bukan array.
    "path": [
          "properties"
        ]
    // Nilai parameter functionBlockId mengandung karakter tidak valid.
    "path": [
          "functionBlockId"
        ]

    property

    Properti tidak valid di "path".

    Sebagai contoh, dalam "path": ["functionBlockId" ], nilai properti instance.functionBlockId tidak valid.

    message

    Pesan kesalahan.

    Sebagai contoh, dalam "path": ["functionBlockId" ], pesan kesalahan does not match pattern \"^[_a-zA-Z0-9]{1,30}$\" dikembalikan untuk properti instance.functionBlockId.

    schema

    Aturan yang digunakan untuk memverifikasi file model TSL.

    Sebagai contoh, dalam "path": ["functionBlockId" ], aturan type dan pattern digunakan.

    Untuk informasi lebih lanjut tentang aturan, lihat schema.

    instance

    Objek yang diverifikasi.

    Sebagai contoh, dalam "path": ["functionBlockId" ], pengaturan "functionBlockId": "**mtest" diverifikasi.

    name

    Nama aturan yang tidak cocok dalam verifikasi.

    Sebagai contoh, dalam "path": ["functionBlockId" ], nilai **mtest tidak cocok dengan aturan pattern.

    argument

    Isi aturan yang tidak cocok dalam verifikasi.

    Sebagai contoh, dalam "path": ["functionBlockId" ], isi aturan pattern adalah ^[_a-zA-Z0-9]{1,30}$.

    stack

    Nilai gabungan dari parameter property dan message.

Untuk informasi lebih lanjut, lihat jsonschema.

Apa perbedaan antara mengirimkan data properti, mengirimkan data historis, dan mengirimkan beberapa nilai properti sekaligus?

Tabel berikut menjelaskan perbedaan-perbedaan tersebut.

Operasi

Deskripsi

Kirimkan data properti

Perangkat mengirimkan snapshot data propertinya ke IoT Platform. Timestamp bersifat opsional dalam data yang dikirimkan.

  • Jika data yang dikirimkan berisi timestamp, IoT Platform menyimpan timestamp untuk mencatat waktu ketika data properti dikirimkan.

    Perangkat dapat mengirimkan data properti dengan hanya satu timestamp pada satu waktu.

  • Jika data properti yang dikirimkan tidak berisi timestamp, IoT Platform menghasilkan timestamp untuk mencatat waktu ketika data dikirimkan.

Kirimkan data properti historis

Perangkat mengirimkan nilai dari beberapa properti ke IoT Platform. Nilai-nilai tersebut dicatat pada titik waktu yang sama. Timestamp harus ditentukan dalam data yang dikirimkan.

Perangkat dapat mengirimkan nilai dari beberapa properti dengan timestamp berbeda pada satu waktu.

Kirimkan beberapa nilai properti sekaligus

Perangkat mengirimkan beberapa nilai dari sebuah properti ke IoT Platform. Nilai-nilai tersebut dicatat pada titik waktu yang berbeda. Timestamp harus ditentukan dalam data yang dikirimkan.

Perangkat dapat mengirimkan nilai dari beberapa properti dengan timestamp berbeda pada satu waktu.

Setelah perangkat mengirimkan data properti, data historis, atau beberapa nilai properti, IoT Platform menghasilkan catatan data berdasarkan timestamp.

Perbedaan antara topik komunikasi dan format data

Topik dan format data bervariasi berdasarkan jenis data yang dikirimkan ke IoT Platform. Untuk informasi lebih lanjut, lihat Perangkat mengirimkan data properti ke IoT Platform, Perangkat mengirimkan data TSL historis ke IoT Platform, dan Perangkat mengirimkan beberapa properti dan acara ke IoT Platform sekaligus.

Contoh

Dalam contoh ini, data properti suhu dikirimkan oleh perangkat ke IoT Platform.

  • Perangkat mengirimkan nilai snapshot dari properti suhu.

    1. Perangkat mengirimkan nilai berikut dari properti suhu dengan timestamp dari kiri ke kanan secara berurutan.

      13:00

      14:00

      15:00

      15:10

      60

      70

      80

      90

    2. Perangkat mengirimkan nilai snapshot 100 dari properti suhu. Data berikut ditampilkan berdasarkan metode yang digunakan perangkat untuk mengirimkan data.

      • Jika tidak ada timestamp, IoT Platform menghasilkan timestamp berdasarkan waktu ketika data dikirimkan. Dalam contoh ini, 15:30:00 digunakan. Dalam hal ini, 100 ditampilkan di konsol IoT Platform sebagai nilai properti suhu. Nilai 100 juga merupakan nilai terbaru dari properti suhu dalam catatan data.

      • Jika timestamp ditentukan (misalnya, 15:00:00), 100 menggantikan 80 sebagai nilai properti suhu pada 15:00:00. Dalam hal ini, 100 ditampilkan di konsol IoT Platform sebagai nilai properti suhu. Nilai terbaru dari properti suhu dalam catatan data adalah 90 pada 15:10:00.

  • Perangkat mengirimkan nilai historis dari properti suhu.

    1. Perangkat mengirimkan nilai historis berikut dari properti suhu pada saat yang sama.

      13:00

      14:00

      15:00

      15:10

      60

      70

      80

      90

    2. Perangkat mengirimkan nilai historis berikut dari properti suhu pada saat yang sama.

      13:10

      14:10

      100

      200

      Nilai suhu terbaru yang ditulis ke database ditampilkan di konsol IoT Platform sebagai nilai properti suhu. Dalam contoh ini, 100 pada 13:10:00 ditampilkan atau 200 pada 14:10:00 ditampilkan. Nilai terbaru dari properti suhu dalam catatan data adalah 90 pada 15:10:00.

Mengapa data TSL perangkat tidak diperbarui di konsol IoT Platform setelah perangkat mengirimkan data TSL menggunakan topik khusus?

Karena perangkat harus mengirimkan data TSL menggunakan topik komunikasi TSL alih-alih menggunakan topik khusus. Untuk informasi lebih lanjut, lihat Topik.

Bagaimana cara saya mendapatkan data TSL yang dikirimkan oleh perangkat?

Untuk mendapatkan data TSL, gunakan salah satu metode berikut:

  • Langganan sisi server: Anda dapat menggunakan fitur langganan sisi server dari IoT Platform untuk berlangganan pesan tipe Device Upstream Notification. Kemudian, IoT Platform meneruskan pesan tipe tertentu dari semua perangkat dalam produk ke server berdasarkan pengaturan langganan Anda. Untuk mengonfigurasi langganan sisi server, gunakan salah satu metode berikut:

  • Penerusan data: Anda dapat mengonfigurasi aturan penerusan data menggunakan fitur penerusan data dari mesin aturan untuk meneruskan data perangkat ke beberapa layanan Alibaba Cloud. Layanan tersebut meliputi Simple Message Queue (formerly MNS) (SMQ), ApsaraDB RDS, Tablestore (OTS), Function Compute, Lindorm, dan Message Queue for Apache RocketMQ. Untuk informasi lebih lanjut, lihat Penerusan data (versi lama) dan Penerusan data (versi baru).

  • Operasi API IoT Platform

    API

    Deskripsi

    QueryDevicePropertyStatus

    Mengquery semua snapshot properti perangkat.

    QueryDeviceOriginalPropertyStatus

    Mengquery snapshot properti asli yang dikirimkan oleh perangkat tertentu. Snapshot ini mencakup properti yang diverifikasi dan tidak diverifikasi oleh model TSL tertentu.

    QueryDeviceOriginalPropertyData

    Mengquery catatan properti asli yang dikirimkan oleh perangkat tertentu. Catatan ini mencakup properti yang diverifikasi dan tidak diverifikasi oleh model TSL tertentu.

    QueryDeviceOriginalEventData

    Mengquery catatan acara yang dikirimkan oleh perangkat tertentu. Catatan ini mencakup acara yang diverifikasi dan tidak diverifikasi oleh model TSL tertentu.

    QueryDeviceOriginalServiceData

    Mengquery catatan layanan asli yang dikirimkan oleh perangkat tertentu. Catatan ini mencakup layanan yang diverifikasi dan tidak diverifikasi oleh model TSL tertentu.

    QueryDeviceDesiredProperty

    Mengquery nilai properti yang diinginkan dari perangkat.

    QueryDevicePropertyData

    Mengquery data properti dalam perangkat dalam periode waktu tertentu.

    QueryDevicePropertiesData

    Mengquery data dari beberapa properti dalam perangkat dalam periode waktu tertentu.

    QueryDeviceEventData

    Mengquery catatan acara asli dari perangkat.

    QueryDeviceServiceData

    Mengquery catatan panggilan layanan dari perangkat.

Mengapa konsol IoT Platform tidak menampilkan data TSL yang dikirimkan oleh perangkat?

Jika data TSL yang dikirimkan tidak memerlukan verifikasi atau gagal diverifikasi, data TSL tidak akan ditampilkan di konsol IoT Platform. Setelah perangkat mengirimkan data TSL ke IoT Platform, IoT Platform memverifikasi data berdasarkan tipe verifikasi yang ditentukan dan definisi TSL. Untuk melihat data TSL perangkat, lakukan langkah-langkah berikut: Masuk ke konsol IoT Platform, temukan perangkat yang ingin Anda lihat datanya, dan klik Lihat di kolom Tindakan. Di halaman rincian perangkat, tab Data TSL menampilkan data TSL. Untuk informasi lebih lanjut, lihat Verifikasi data TSL.

Saat membuat produk, Anda harus menentukan tipe verifikasi. Untuk informasi lebih lanjut, lihat Buat produk.

Apa yang harus saya lakukan jika data TSL tidak diperbarui setelah IoT Platform berhasil mengirimkan permintaan konfigurasi properti TSL dan nilai properti yang diinginkan ke perangkat?

Untuk memecahkan masalah, Anda dapat melakukan operasi berikut:

  • Perangkat: Pastikan perangkat terhubung ke IoT Platform. Untuk informasi lebih lanjut tentang cara menghubungkan perangkat, lihat Unduh SDK perangkat.

    Penting

    Saat IoT Platform berhasil mengirimkan permintaan konfigurasi properti perangkat ke perangkat, permintaan tersebut diterima tetapi perangkat mungkin tidak mengeksekusi permintaan tersebut. Setelah SDK perangkat merespons permintaan konfigurasi properti, perangkat harus mengirimkan nilai properti terbaru untuk membuktikan bahwa nilai properti tersebut telah berubah.

    Anda juga dapat menggunakan simulator perangkat atau MQTT.fx untuk mensimulasikan perangkat dan menghubungkan perangkat yang disimulasikan ke platform IoT, lalu melakukan debugging pesan perangkat secara online. Untuk informasi lebih lanjut, lihat topik-topik berikut:

  • IoT Platform:

    • Pastikan Anda memiliki izin baca dan tulis pada properti yang ingin Anda kelola untuk melakukan operasi Set dan Set expectations.

    • Pastikan pesan yang berisi data TSL dapat diuraikan dengan benar.

      Dengan cara ini, data TSL terbaru dapat ditampilkan di tab Data TSL di konsol IoT Platform. Untuk informasi lebih lanjut, lihat Apa itu model TSL? dan Kirimkan skrip untuk menguraikan data TSL.

    Anda dapat melakukan operasi berikut untuk memeriksa apakah perangkat menerima pesan: Masuk ke konsol IoT Platform, temukan instance yang ingin Anda kelola, dan buka halaman Detail Instance. Pilih Maintenance > Device Log > Cloud run log dan lihat log. Untuk informasi lebih lanjut, lihat Log IoT Platform.