Tüm Ürünler
Search
Belge Merkezi

IoT Platform:Veri biçimleri

Son Güncelleme:Oct 04, 2026

IoT Platform, konu biçimlerine göre verileri yönlendirir ve abone olur. Özel konu biçimleri kullanıcı tarafından tanımlanır. Temel iletişim ve TSL konu biçimleri mesaj yönlendirme sırasında dönüştürülür. Bu konuda her bir dönüştürülmüş biçim belgelenmektedir.

Mesaj yönlendirme ve cihaz iletişim konuları

İletişim konusu tanımları ve sınıflandırmaları Konu nedir? bölümünde ele alınmaktadır.

Cihaz geliştirme sırasında ham veri biçimini belirtin:

  • Temel iletişim ve TSL konu verileri, Alink protokolü dizinindeki ilgili belgelerde açıklandığı gibi Alink protokolüne uygun olmalıdır.

    Yönlendirildikten sonra veri biçimi dönüştürülür. Her bir dönüştürülmüş biçim aşağıda açıklanmıştır.

  • Özel konular için veri biçimini siz tanımlarsınız.

    Yönlendirildikten sonra özel konu verileri değişmez.

Aşağıdaki tablo, yönlendirme konularını karşılık gelen cihaz iletişim konularıyla eşler.

Tablo 1. Konu açıklamaları

Konu

Açıklama

Başvurular

Custom

Özel veri biçimindeki mesajları yönlendirmek için kullanılan bir konu, özel konu ile aynı biçimi takip eder: /${productKey}/${deviceName}/user/${TopicShortName}.

${TopicShortName}, özel konunun son eki olan özel konu kategorisini belirtir.

Değer, artı işaretleri (+) ve sayı işaretleri (#) dahil olmak üzere joker karakterler içerebilir.

  • Tüm ekipmanlar (+): Belirtilen ürünün tüm cihazlarını ifade eder.

  • /user/#: Belirli bir cihaz için tüm özel konular.

İletişim için özel konuları kullanma

Device Status Change Notification

Bir cihazın durumu çevrimiçi ve çevrimdışı arasında değiştiğinde bildirimlerin yönlendirilmesi için kullanılan konu. Biçim: /as/mqtt/status/${productKey}/${deviceName}.

Cihazın çevrimiçi ve çevrimdışı durumu

TSL Data Reporting

Şunları içerir:

  • Bir cihaz, özellik verilerini aşağıdaki konuya raporlar: /${productKey}/${deviceName}/thing/event/property/post.

  • Bir cihaz tarafından raporlanan olay verileri /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post konusuna yönlendirilir.

  • Cihazlardan toplu özellik verilerini yönlendirmek için kullanılan konu /${productKey}/${deviceName}/thing/property/batch/post şeklindedir.

  • Cihazlardan toplu olay verilerini yönlendirmek için kullanılan konu /${productKey}/${deviceName}/thing/event/batch/post şeklindedir.

  • Bir cihaz, cloud komutlarına yanıt mesajlarını aşağıdaki konuya gönderir: /${productKey}/${deviceName}/thing/downlink/reply/message.

Ham cihaz verilerini göndermek için aşağıdaki konular kullanılır:

  • /sys/${productKey}/${deviceName}/thing/event/property/post: Bu konu, cihaz özelliklerini göndermek için kullanılır.

  • /sys/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post ve /sys/${productKey}/${deviceName}/thing/event/${tsl.functionBlockId}:{tsl.event.identifier}/post: Bu konular, cihaz olaylarını göndermek için kullanılır.

  • /sys/${productKey}/${deviceName}/thing/event/property/batch/post: Bu konu, cihaz özelliklerini ve olaylarını toplu olarak göndermek için kullanılır.

Device Changes Throughout Lifecycle

Bir cihaz oluşturulduğunda, silindiğinde, devre dışı bırakıldığında veya etkinleştirildiğinde mesajların yönlendirilmesi için kullanılan konu. Biçim: /${productKey}/${deviceName}/thing/lifecycle.

Cihaz yaşam döngüsündeki değişiklikler

Sub-Device Data Report Detected by Gateway

/${productKey}/${deviceName}/thing/list/found konusu, ağ geçidi cihazlarının keşfedilen alt cihazlarla ilgili bilgileri IoT Platform'a raporlaması için kullanılır.

Ağ geçidinin alt cihazları keşfetmesi

Device Topological Relation Changes

Alt cihazlar ile ağ geçidi arasındaki topolojik ilişkiler oluşturulduğunda veya silindiğinde bildirimlerin yönlendirilmesi için kullanılan konu. Bu konu yalnızca ağ geçidine özgüdür. Biçim: /${productKey}/${deviceName}/thing/topo/lifecycle.

Cihaz Topolojik İlişki Değişiklikleri

Bir cihaz, ham verileri raporlamak için /sys/${productKey}/${deviceName}/thing/topo/change konusunu kullanır.

Topolojik ilişki değişiklikleri hakkında ağ geçitlerini bilgilendirme

Device tag change

Cihaz etiketi güncellemelerini yönlendirmek için kullanılan konu /${productKey}/${deviceName}/thing/deviceinfo/update şeklindedir.

Cihaz etiketlerindeki değişiklikler

Bir cihaz, ham verileri raporlamak için aşağıdaki konuyu kullanır: /sys/${productKey}/${deviceName}/thing/deviceinfo/update.

Etiketleri gönderme

TSL Historical Data Reporting

Şunları içerir:

  • /${productKey}/${deviceName}/thing/event/property/history/post: Bu konu, geçmiş özellikleri yönlendirmek için kullanılır.

  • /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post: Bu konu, geçmiş olayları yönlendirmek için kullanılır.

/sys/${productKey}/${deviceName}/thing/event/property/history/post: Bu konu, geçmiş TSL verilerini göndermek için kullanılır.

Thing Specification Language modeli için geçmiş verilerin nasıl raporlanacağı

Device Status Notification for OTA Updates

Şunları içerir:

  • Bir cihazdan OTA güncelleme sonucunu yönlendirmek için kullanılan konu /${productKey}/${deviceName}/ota/upgrade şeklindedir.

  • Bir cihaz, OTA güncelleme ilerlemesini /${productKey}/${deviceName}/ota/progress/post konusuna raporlar.

Bir cihaz, yükseltme ilerlemesini aşağıdaki konuya raporlar: /ota/device/progress/${productKey}/${deviceName}.

Cihaz yükseltme ilerlemesini raporlama

Submit a module version number

Güncellenmiş Over-the-Air (OTA) modül sürümünü raporlamak için kullanılan konu: /${productKey}/${deviceName}/ota/version/post.

OTA Modül Sürümü Değişiklikleri Bildirimi

Bir cihaz, OTA modül sürümünü raporlamak için aşağıdaki konuyu kullanır: /ota/device/inform/${productKey}/${deviceName}.

Cihaz OTA modül sürümünü raporlar

Batch status notification

IoT Platform, bir OTA güncelleme partisi için durum değişikliği bildirimlerini aşağıdaki konuya yayınlar: /${productKey}/${packageId}/${jobId}/ota/job/status.

OTA Güncelleme Partileri için Durum Bildirimleri

Job Event

Aşağıdaki konuları içerir:

  • Cihaz işi durum bildirimleri: /sys/uid/${uid}/job/${jobId}/lifecycle.

  • Örnek geçiş işi durum bildirimleri: /sys/uid/${uid}/distribution/${jobId}/lifecycle.

    Not

    Geçirilecek ürünün adı, örnek geçiş işinin adı olarak kullanılır.

Cihazın çevrimiçi ve çevrimdışı durumu

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

Bir cihazın çevrimiçi veya çevrimdışı durumunu raporlar.

Çevrimiçi biçimi:

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

Çevrimdışı biçimi:

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

Parametre açıklamaları:

Parametre

Tür

Açıklama

status

String

Cihazın durumu.

  • online: Çevrimiçi.

  • offline: Çevrimdışı.

iotId

String

IoT Platform'daki cihazın benzersiz tanımlayıcısı.

offlineReasonCode

Integer

Cihaz çevrimdışı olduğunda oluşan hata kodu. Cihaz davranışı hata kodları.

productKey

String

Cihazın ait olduğu ürünün benzersiz tanımlayıcısı.

deviceName

String

Cihazın adı.

lastTime

String

Kullanımdan kaldırıldı. Artık kullanılmamaktadır.

utcLastTime

String

time

String

Cihazın çevrimiçi veya çevrimdışı olduğu zaman.

Mesajlar çevrimiçi/çevrimdışı zamanına göre sıralanmaz. Bunları time değerine göre sıralayın.

Örneğin, aşağıdaki üç mesajı sırayla alırsınız:

  1. Çevrimiçi: 2018-08-31 10:02:28.195.

  2. Çevrimdışı: 2018-08-31 10:01:28.195.

  3. Çevrimdışı: 2018-08-31 10:03:28.195.

Bu üç mesaj, cihazın önce çevrimdışı olduğunu, ardından çevrimiçi olduğunu ve tekrar çevrimdışı olduğunu gösterir.

utcTime

String

Cihazın çevrimiçi veya çevrimdışı olduğu UTC zamanı.

clientIp

String

Cihazın genel IP adresi.

Cihaz özelliklerini gönderme

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

Bir cihaz tarafından gönderilen özellikleri raporlar.

Veri biçimi:

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

Parametre açıklamaları:

Parametre

Tür

Açıklama

iotId

String

IoT Platform'daki cihazın benzersiz tanımlayıcısı.

requestId

String

Ham cihaz mesajındaki Id değeri. 0 ila 4294967295 aralığında sayısal bir dize. Cihaz başına benzersiz olmalıdır.

productKey

String

Cihazın ait olduğu ürünün benzersiz tanımlayıcısı.

deviceName

String

Cihazın adı.

gmtCreate

Long

Veri yönlendirme mesajının oluşturulduğu zaman.

deviceType

String

Cihazın kategorisi.

Ürün oluşturulurken ayarlanır (Ürün oluşturma veya CreateProduct).

items

Object

Cihaz verileri.

Power

String

Özellik tanımlayıcısı. Özellik adları için ürünün TSL açıklamasına bakın.

Özellik özel bir modül özelliği ise, özellik tanımlayıcısı ${ModuleIdentifier}:${PropertyIdentifier} biçimindedir (ayraç olarak iki nokta üst üste : kullanılır). Örneğin, özel bir TSL model modülünün tanımlayıcısı test ise veri biçimi şöyledir:

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

Position

attribute_8

checkFailedData

Object

TSL model veri doğrulamasını başarısız olan veriler.

value

TSL tarafından tanımlanır

Özellik değeri.

time

Long

Özelliğin raporlandığı zaman. Cihaz tarafından raporlanmadığında varsayılan olarak IoT Platform'un veriyi oluşturduğu zamandır.

code

Integer

TSL doğrulama hataları için hata kodu. Cihazlar için hata kodları.

message

String

Veriler TSL model doğrulamasını başarısız olduğunda döndürülen hata mesajı; hata nedenini ve geçersiz parametreleri içerir.

Cihaz olaylarını gönderin

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

Bir cihaz tarafından gönderilen olayları bildirir.

Veri biçimi:

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

Parametre açıklamaları:

Parameter

Type

Description

identifier

String

Olayın tanımlayıcısı.

Olay özel bir modül olayıysa, olay tanımlayıcısı ${ModuleIdentifier}:${EventIdentifier} biçimindedir (ayraç olarak iki nokta üst üste : kullanılır). Örneğin, özel bir TSL modeli modülünün tanımlayıcısı test ise veri biçimi şöyledir:

"test:identifier":"BrokenInfo",

name

String

Olayın adı.

type

String

Olay türü. Olay türleri için ürünün TSL açıklamasına bakın.

iotId

String

IoT Platform'daki cihazın benzersiz tanımlayıcısı.

requestId

String

Ham cihaz mesajından gelen Id. 0 ile 4294967295 aralığında sayısal bir dize. Cihaz başına benzersiz olmalıdır.

productKey

String

Cihazın ait olduğu ürünün benzersiz tanımlayıcısı.

deviceName

String

Cihazın adı.

gmtCreate

Long

Veri yönlendirme mesajının oluşturulduğu zaman.

value

Object

Olayın çıkış parametre bilgileri. Örnek, Power ve Position olmak üzere iki parametre hakkındaki bilgileri gösterir.

{
    "Power":"on",
    "Position":{
        "latitude":39.9,
        "longitude":116.38
    }
}
Önemli
  • Olayın tüm çıkış parametreleri doğrulamadan geçtiğinde yalnızca bu durumda tüm çıkış parametreleri value parametresinde görüntülenir. Bu durumda checkFailedData parametresi boştur.

  • Olayın herhangi bir çıkış parametresi doğrulamayı geçemezse tüm çıkış parametreleri checkFailedData parametresinde görüntülenir. Bu durumda value parametresi boştur.

checkFailedData

Object

TSL modeli veri doğrulamasını geçemeyen veriler.

Olayın çıkış parametreleri doğrulamayı geçemezse checkFailedData parametresi şu şekildedir:

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

Burada:

  • value: Object. Olayın çıkış parametre bilgileri.

  • time: Long. Olayın oluşturulduğu zaman damgası.

  • code: Integer. TSL doğrulama hataları için hata kodu. Cihazlar için hata kodları.

  • message: String. Veriler TSL modeli doğrulamasını geçemediğinde döndürülen hata mesajı; başarısızlık nedenini ve geçersiz parametreleri içerir.

time

Long

Olayın bildirildiği zaman. Cihaz tarafından bildirilmezse varsayılan olarak IoT Platform'un veriyi oluşturduğu zamandır.

Cihaz özelliklerini toplu iş olarak gönderin

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

Bir cihaz tarafından toplu iş olarak gönderilen özellikleri bildirir.

Veri biçimi:

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

Parametre açıklamaları:

Parameter

Type

Description

productKey

String

Cihazın ait olduğu ürünün benzersiz tanımlayıcısı.

deviceName

String

Cihazın adı.

instanceId

String

Cihazın ait olduğu örneğin ID'si.

requestId

String

Ham cihaz mesajından gelen Id. 0 ile 4294967295 aralığında sayısal bir dize. Cihaz başına benzersiz olmalıdır.

items

Object

Cihaz verileri.

Power

String

Özellik tanımlayıcısı. Özellik adları için ürünün TSL açıklamasına bakın.

Özellik özel bir modül özelliğiyse özellik tanımlayıcısı ${ModuleIdentifier}:${PropertyIdentifier} biçimindedir (ayraç olarak iki nokta üst üste : kullanılır). Örneğin, özel bir TSL modeli modülünün tanımlayıcısı test ise veri biçimi şöyledir:

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

WF

value

Defined by TSL

Özellik değeri.

time

Long

Özelliğin bildirildiği zaman. Cihaz tarafından bildirilmezse varsayılan olarak IoT Platform'un veriyi oluşturduğu zamandır.

Cihaz olaylarını toplu iş olarak gönderin

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

Bir cihaz tarafından toplu iş olarak gönderilen olayları bildirir.

Veri biçimi:

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

Parametre açıklamaları:


Parameter


Type


Description


productKey


String


Cihazın ait olduğu ürünün benzersiz tanımlayıcısı.


deviceName


String


Cihazın adı.


instanceId


String


Cihazın ait olduğu örneğin ID'si.


requestId


String

Ham cihaz mesajından gelen Id. 0 ile 4294967295 aralığında sayısal bir dize. Cihaz başına benzersiz olmalıdır.


items


Object


Cihaz verileri.


alarmEvent


List


Olayın tanımlayıcısı.


value


Object

Olayın parametreleri.

Yukarıdaki örnekte Power ve WF olayın parametre adlarıdır.


time


Long


Olayın bildirildiği zaman. Cihaz tarafından bildirilmezse varsayılan olarak IoT Platform'un veriyi oluşturduğu zamandır.

Cihaz yaşam döngüsü değişiklikleri

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

Cihaz oluşturma, silme, etkinleştirme ve devre dışı bırakma olaylarını bildirir.

Veri biçimi:

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

Parametre açıklamaları:

Parameter

Type

Description

action

String

  • create: Bir cihaz oluşturulur.

  • delete: Bir cihaz silinir.

  • enable: Bir cihaz etkinleştirilir.

  • disable: Bir cihaz devre dışı bırakılır.

iotId

String

IoT Platform'daki cihazın benzersiz tanımlayıcısı.

productKey

String

Ürünün benzersiz tanımlayıcısı.

deviceName

String

Cihazın adı.

deviceSecret

String

Cihaz gizli anahtarı. Bu parametre yalnızca action parametresi create olarak ayarlandığında dahil edilir.

messageCreateTime

Integer

Mesajın oluşturulduğu zaman damgası. Birim: milisaniye.

Cihaz topoloji değişiklikleri

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

Bir alt cihaz ile ağ geçidi arasındaki topoloji değişikliklerini bildirir.

Veri biçimi:

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

Parametre açıklamaları:

Parameter

Type

Description

action

String

  • create: Bir topolojik ilişki eklenir.

  • delete: Bir topolojik ilişki kaldırılır.

  • enable: Bir topolojik ilişki etkinleştirilir.

  • disable: Bir topolojik ilişki devre dışı bırakılır.

gwIotId

String

IoT Platform'daki ağ geçidi cihazının benzersiz tanımlayıcısı.

gwProductKey

String

Ağ geçidi ürününün benzersiz tanımlayıcısı.

gwDeviceName

String

Ağ geçidi cihazının adı.

devices

Object

Değiştirilen alt cihazların listesi.

iotId

String

IoT Platform'daki alt cihazın benzersiz tanımlayıcısı.

productKey

String

Alt cihaz ürününün benzersiz tanımlayıcısı.

deviceName

String

Alt cihazın adı.

messageCreateTime

Integer

Mesajın oluşturulduğu zaman damgası. Birim: milisaniye.

Ağ geçidi alt cihazları keşfeder

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

Bir ağ geçidi tarafından algılanan alt cihaz bilgilerini bildirir.

Veri biçimi:

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

Parametre açıklamaları:


Parameter


Type


Description


gwIotId


String


IoT Platform'daki ağ geçidi cihazının benzersiz tanımlayıcısı.


gwProductKey


String


Ağ geçidi ürününün benzersiz tanımlayıcısı.


gwDeviceName


String


Ağ geçidi cihazının adı.


devices


Object


Keşfedilen alt cihazların listesi.


iotId


String


IoT Platform'daki alt cihazın benzersiz tanımlayıcısı.


productKey


String


Alt cihazın ait olduğu ürünün benzersiz tanımlayıcısı.


deviceName


String


Alt cihazın adı.

Aşağı yönlü komutların sonuçları

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

Bir cihaz tarafından işlenen eşzamansız özellik ayarlama ve hizmet çağırma komutlarının sonuçlarını bildirir. Ayrıca başarısız olan komutlar için hata mesajları döndürür.

Veri biçimi:

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

Parametre açıklamaları:


Parameter


Type


Description


gmtCreate


Long


UTC zaman damgası.


iotId


String


IoT Platform'daki cihazın benzersiz tanımlayıcısı.


productKey


String


Cihazın ait olduğu ürünün benzersiz tanımlayıcısı.


deviceName


String


Cihazın adı.


requestId


String

Ham cihaz mesajından gelen Id. 0 ile 4294967295 aralığında sayısal bir dize. Cihaz başına benzersiz olmalıdır.


code


Integer


Cihaz sonuç kodu. Değerler Sonuç kodları tablosunda listelenmiştir.


message


String


Cihazın döndürdüğü sonuç kodu bilgisi.


topic


String


Komutu cihaza göndermek için kullanılan konu bilgisi.


data


Object


Cihaz tarafından döndürülen sonuç. Alink biçimli veriler için cihaz işleme sonucu doğrudan döndürülür. Geçiş biçimli veriler için verilerin bir betik tarafından dönüştürülmesi gerekir.


checkFailedData


Object


TSL modeli veri doğrulamasını geçemeyen veriler.


value


Defined by TSL

TSL modeli veri doğrulamasını geçemeyen özellik değeri veya hizmet parametre değeri.

Yukarıdaki örnekte doğrulamayı geçemeyen parametrenin adı PicID şeklindedir.


code


Integer


TSL doğrulama hataları için hata kodu. Cihazlar için hata kodları.


message


String


Veriler TSL modeli doğrulamasını geçemediğinde döndürülen hata mesajı; başarısızlık nedenini ve geçersiz parametreleri içerir.

Tablo 1. Sonuç kodları


code


message


Description


200


success


İstek başarılı.


400


request error


İşleme sırasında dahili bir hizmet hatası oluştu.


460


request parameter error


Geçersiz istek parametresi. Cihaz giriş parametresini doğrulayamadı.


429


too many requests


Çok fazla istek.


9200


device not actived


Cihaz etkinleştirilmedi.


9201


device offline


Cihaz çevrimdışı.


403


request forbidden


Ödeme gecikmesi nedeniyle istek yasaklandı.

Bu hataları Cihazlar için hata kodları referansını kullanarak çözün.

Geçmiş özellikleri gönderme

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

Bir cihaz tarafından gönderilen geçmiş TSL (Thing Specification Language) özellik verilerini bildirir.

Veri biçimi:

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

Parametre açıklamaları:

Parameter

Type

Description

iotId

String

IoT Platform'daki cihazın benzersiz tanımlayıcısı.

requestId

String

Ham cihaz mesajından alınan Id değeri. 0 ile 4294967295 arasında sayısal bir dize olmalıdır. Cihaz başına benzersiz olmalıdır.

productKey

String

Cihazın ait olduğu ürünün benzersiz tanımlayıcısı.

deviceName

String

Cihazın adı.

gmtCreate

Long

Veri yönlendirme mesajının oluşturulduğu zaman.

deviceType

String

Cihazın kategorisi.

Ürün oluşturulurken ayarlanır (Ürün oluşturma veya CreateProduct).

items

Object

Cihaz verileri.

Power

String

Özellik tanımlayıcısı. Özellik adları için ürünün TSL açıklamasına bakın.

Özellik özel bir modül özelliği ise, özellik tanımlayıcısı ${ModuleIdentifier}:${PropertyIdentifier} biçimindedir (ayraç olarak iki nokta üst üste : kullanılır). Örneğin, özel bir TSL modeli modülünün tanımlayıcısı test ise veri biçimi şu şekildedir:

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

Position

attribute_8

checkFailedData

Object

TSL modeli veri doğrulamasını geçemeyen veriler.

value

TSL tarafından tanımlanır

Özellik değeri.

time

Long

Özelliğin bildirildiği zaman. Cihaz tarafından bildirilmezse varsayılan olarak IoT Platform'un veriyi oluşturduğu zamandır.

code

Integer

TSL doğrulama hataları için hata kodu. Cihazlar için hata kodları.

message

String

Veriler TSL modeli doğrulamasını geçemediğinde döndürülen hata iletisi; hata nedenini ve geçersiz parametreleri içerir.

Geçmiş olayları gönderme

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

Bir cihaz tarafından gönderilen geçmiş olay verilerini bildirir.

Veri biçimi:

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

Parametre açıklamaları:

Parameter

Type

Description

identifier

String

Olayın tanımlayıcısı.

Olay özel bir modül olayı ise, olay tanımlayıcısı ${ModuleIdentifier}:${EventIdentifier} biçimindedir (ayraç olarak iki nokta üst üste : kullanılır). Örneğin, özel bir TSL modeli modülünün tanımlayıcısı test ise veri biçimi şu şekildedir:

"test:identifier":"BrokenInfo",

name

String

Olayın adı.

type

String

Olay türü. Olay türleri için ürünün TSL açıklamasına bakın.

iotId

String

IoT Platform'daki cihazın benzersiz tanımlayıcısı.

requestId

String

Ham cihaz mesajından alınan Id değeri. 0 ile 4294967295 arasında sayısal bir dize olmalıdır. Cihaz başına benzersiz olmalıdır.

productKey

String

Cihazın ait olduğu ürünün benzersiz tanımlayıcısı.

deviceName

String

Cihazın adı.

gmtCreate

Long

Veri yönlendirme mesajının oluşturulduğu zaman.

value

Object

Olayın çıkış parametre bilgileri. Örnek, Power ve Position olmak üzere iki parametrenin bilgilerini gösterir.

{
    "Power":"on",
    "Position":{
        "latitude":39.9,
        "longitude":116.38
    }
}
Önemli
  • Olayın tüm çıkış parametreleri doğrulamayı geçtiğinde yalnızca bu durumda tüm çıkış parametreleri value parametresinde görüntülenir. Bu durumda checkFailedData parametresi boştur.

  • Olayın herhangi bir çıkış parametresi doğrulamayı geçemezse tüm çıkış parametreleri checkFailedData parametresinde görüntülenir. Bu durumda value parametresi boştur.

checkFailedData

Object

TSL modeli veri doğrulamasını geçemeyen veriler.

Olayın çıkış parametreleri doğrulamayı geçemezse checkFailedData parametresi şu şekildedir:

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

Burada:

  • value: Object. Olayın çıkış parametre bilgileri.

  • time: Long. Olayın oluşturulduğu zaman damgası.

  • code: Integer. TSL doğrulama hataları için hata kodu. Cihazlar için hata kodları.

  • message: String. Veriler TSL modeli doğrulamasını geçemediğinde döndürülen hata iletisi; hata nedenini ve geçersiz parametreleri içerir.

time

Long

Olayın bildirildiği zaman. Cihaz tarafından bildirilmezse varsayılan olarak IoT Platform'un veriyi oluşturduğu zamandır.

OTA güncelleme durumu bildirimleri

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

OTA güncelleme sonuçlarını (başarılı, başarısız veya iptal edildi) bildirir.

Not

Bir cihazda tamamlanmamış bir güncelleme görevi varsa ve toplu güncelleme başlatırsanız toplu güncelleme başarısız olur. IoT Platform bu durumda başarısızlık mesajını iletmez.

Veri biçimi:

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

Parametre açıklamaları:

Parameter

Type

Description

iotId

String

Cihazın benzersiz tanımlayıcısı.

productKey

String

Cihazın ait olduğu ürünün benzersiz tanımlayıcısı.

deviceName

String

Cihazın adı.

moduleName

String

OTA modülünün adı.

status

String

Güncelleme durumu.

  • SUCCEEDED: Güncelleme başarılı oldu.

  • FAILED: Güncelleme başarısız oldu.

  • CANCELED: Güncelleme iptal edildi.

messageCreateTime

Long

Mesajın oluşturulduğu zaman damgası. Birim: milisaniye.

srcVersion

String

Güncelleme öncesi sürüm.

destVersion

String

Güncellemenin hedef sürümü.

desc

String

Güncelleme durumunun açıklaması.

jobId

String

Güncelleme toplu iş ID'si. Güncelleme toplu işini benzersiz şekilde tanımlar.

taskId

String

Cihaz güncelleme kaydının benzersiz tanımlayıcısı.

OTA güncelleme ilerleme bildirimleri

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

OTA güncelleme ilerlemesini bildirir.

Veri biçimi:

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

Parametre açıklamaları:


Parameter


Type


Description


iotId


String


Cihazın benzersiz tanımlayıcısı.


productKey


String


Cihazın ait olduğu ürünün benzersiz tanımlayıcısı.


deviceName


String


Cihazın adı.


moduleName


String


OTA modülünün adı.


status


String


Güncelleme durumu. Değer sabit olarak IN_PROGRESS (devam ediyor) şeklindedir.


step


Integer


Cihaz tarafından bildirilen güncelleme ilerlemesi.


messageCreateTime


Long


Mesajın oluşturulduğu zaman damgası. Birim: milisaniye.


srcVersion


String


Güncelleme öncesi sürüm.


destVersion


String


Güncellemenin hedef sürümü.


desc


String


Güncelleme durumunun açıklaması.


jobId


String


Güncelleme toplu iş ID'si. Güncelleme toplu işini benzersiz şekilde tanımlar.


taskId


String


Cihaz güncelleme kaydının benzersiz tanımlayıcısı.

OTA modül sürüm değişikliği bildirimleri

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

Bir cihaz yeni bir sürüm gönderdiğinde OTA modül sürüm numaralarını bildirir.

Veri biçimi:

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

Parametre açıklamaları:


Parameter


Type


Description


iotId


String


Cihazın benzersiz tanımlayıcısı.


productKey


String


Cihazın ait olduğu ürünün benzersiz tanımlayıcısı.


deviceName


String


Cihazın adı.


moduleName


String


Modülün adı.


moduleVersion


String


Modülün sürüm numarası.


messageCreateTime


Long


Mesajın oluşturulduğu zaman damgası. Birim: milisaniye.

OTA güncelleme toplu iş durumu bildirimleri

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

OTA güncelleme toplu işi durum değişikliklerini bildirir.

Veri biçimi:

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

Parametre açıklamaları:

Parameter

Type

Description

productKey

String

Cihazın ait olduğu ürünün benzersiz tanımlayıcısı.

moduleName

String

Modülün adı.

packageId

String

Güncelleme paketinin ID'si. Bu parametrenin değeri, bir güncelleme paketi oluşturmak için CreateOTAFirmware işlemini çağırdığınızda döndürülen FirmwareId parametresinin değeriyle aynıdır.

jobId

String

Güncelleme toplu iş ID'si. Güncelleme toplu işini benzersiz şekilde tanımlar.

state

String

Güncelleme toplu işinin durumu. Geçerli değerler:

  • PLANNED: Güncelleme başlatılmadı.

  • IN_PROGRESS: Güncelleme devam ediyor.

  • COMPLETED: Güncelleme tamamlandı.

  • CANCELED: Görev iptal edildi.

  • UNFINISH: Tamamlanmadı.

    Bir Enterprise örneğinde yeterli sayıda kullanılabilir yükseltme yoksa güncelleme toplu işinin durumu UNFINISH olur.

messageCreateTime

Long

Mesajın oluşturulduğu zaman damgası. Birim: milisaniye.

Cihaz etiketi değişiklikleri

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

Cihaz etiketi değişikliklerini bildirir.

Veri biçimi:

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

Parametre açıklamaları:

Parameter

Type

Description

action

String

Etiket değişikliği türü. Geçerli değerler:

  • UPDATE: Bir etiket güncellenir veya eklenir.

  • DELETE: Belirtilen bir etiket silinir.

  • DELETEALL: Tüm etiketler temizlenir.

iotId

String

Cihazın benzersiz tanımlayıcısı.

productKey

String

Cihazın ait olduğu ürünün benzersiz tanımlayıcısı.

deviceName

String

Cihazın adı.

deletedAttrKeyList

List

Silinen etiketlerin anahtar listesi.

Bu parametre yalnızca action parametresi DELETE olarak ayarlandığında görüntülenir.

value

List

Etiket verileri.

attrKey

String

Etiket anahtarı.

attrValue

String

Etiket değeri.

messageCreateTime

Long

Mesajın oluşturulduğu zaman damgası. Birim: milisaniye.

Cihaz işi durum bildirimleri

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

Toplu özellik ayarlama, toplu hizmet çağrısı ve özel işler dahil olmak üzere cihaz işlerinin durum değişikliklerini bildirir.

Konuda, ${uid} Alibaba Cloud hesap kimliğinizi temsil eder. Kimliği görüntülemek için IoT Platform konsolu oturumunu açın, profil resminize tıklayın ve Security Settings sayfasına gidin.

Veri biçimi:

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

Parametre açıklamaları:

Parameter

Type

Description

jobId

String

İş kimliği. İşin genel olarak benzersiz tanımlayıcısı.

jobType

String

İş türü.

  • SET_PROPERTY: Cihaz özelliklerini toplu olarak ayarlayan bir iş.

  • INVOKE_SERVICE: Bir cihaz hizmetini toplu olarak çağıran bir iş.

  • CUSTOM_JOB: Özel bir iş.

status

String

İş durumu. Geçerli değerler:

  • INITIALIZING: İş başlatılıyor.

  • WAITING: İş zamanlama bekliyor.

  • IN_PROGRESS: İş devam ediyor.

  • COMPLETED: İş tamamlandı.

  • CANCELLING: İş iptal ediliyor.

  • CANCELLED: İptal edildi.

  • REMOVING: İş siliniyor.

messageCreateTime

Long

Mesajın oluşturulduğu zaman damgası. Birim: milisaniye.

Örnek geçiş işi durum bildirimleri

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

Örnek geçiş işlerinin durum değişikliklerini bildirir.

Konuda, ${uid} Alibaba Cloud hesap kimliğinizi temsil eder. Hesap kimliğinizi bulmak için IoT Platform konsolu oturumunu açın, fare işaretçisini profil resminizin üzerine getirin ve Account ID değerini görüntüleyin.

Veri biçimi:

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

Parametre açıklamaları:

Parameter

Type

Description

jobId

String

İş kimliği. İşin genel olarak benzersiz tanımlayıcısı.

status

String

İş durumu. Geçerli değerler:

  • GRAY_EXECUTING: Aşamalı geçiş devam ediyor.

  • GRAY_FINISHED: Aşamalı geçiş tamamlandı.

  • ALL_EXECUTING: Tam geçiş devam ediyor.

  • ALL_FINISHED: Tam geçiş tamamlandı.

  • ALL_PAUSE: Geçiş duraklatıldı.

  • ROLL_BACK_EXECUTING: Geri alma işlemi devam ediyor.

  • BATCH_ROLL_BACK_EXECUTING: Toplu geri alma işlemi devam ediyor.

  • ROLL_BACK_PAUSE: Geri alma işlemi duraklatıldı.

messageCreateTime

Long

Mesajın oluşturulduğu zaman damgası. Birim: milisaniye.

type

String

İş türü. Değer sabit olarak INSTANCE_UPGRADE şeklindedir.

sourceInstance

String

Örnek geçişi için kaynak genel örneğinin kimliği. Eski sürüm bir genel örneğin kimliği iotx-oxssharez200 şeklindedir.

Örnek ayrıntıları Örneklerine genel bakış konusunda ele alınmıştır.

targetInstance

String

Örnek geçişi için hedef Kurumsal örneğinin kimliği.

successDevices

List

Başarıyla geçirilen cihazlara ilişkin bilgiler:

  • Durum GRAY_EXECUTING veya ALL_EXECUTING olduğunda bu parametre, kaynak genel örneğinden hedef Kurumsal örneğine başarıyla geçirilen cihazları gösterir.

  • Durum ROLL_BACK_EXECUTING veya BATCH_ROLL_BACK_EXECUTING olduğunda bu parametre, Kurumsal örneğinden genel örneğine başarıyla geri geçirilen cihazları gösterir.

Geçiş işlemi sırasında successDevices parametresi boş olabilir. Bu durum, iş durumunun değiştiğini ve işin başladığını ancak henüz hiçbir cihazın geçirilmediğini gösterir.

productKey

String

Cihazın ait olduğu ürünün benzersiz tanımlayıcısı.

deviceName

String

Cihazın adı.

iotId

String

IoT Platform'daki cihazın benzersiz tanımlayıcısı.