ルールエンジンを使用してデータを転送する場合、メッセージトピックを使用してデータを処理するために SQL 文を記述する必要があります。 したがって、これらのトピックに格納されているデータの形式は、SQL 文によって解析できなければなりません。 IoT Platform Basic エディションのトピックの場合、データ形式は手動で定義されます。 IoT Platform Pro Edition のトピックの場合、カスタマイズトピックのデータ形式は手動で定義され、システムトピックのデータ形式はシステムによって事前定義されています。 データ形式が事前定義されている場合、データは形式に従って厳密に処理されます。 ここでは、システム定義トピックの事前定義データ形式について説明します。

デバイスによって報告されるデバイスのプロパティ関連のメッセージ

次のトピックを使用することより、デバイスによって報告されるデバイスのプロパティを取得することができます。

トピック: /sys/{productKey}/{deviceName}/thing/event/property/post

データ形式:

{
    "iotId":"4z819VQHk6VSLmmBJfrf00107ee200",
    "productKey":"1234556554",
    "deviceName":"deviceName1234",
    "gmtCreate":1510799670074,
    "deviceType":"Ammeter",
    "items":{
        "Power":{
            "value":"on",
            "time":1510799670074
        },
        "Position":{
            "time":1510292697470,
            "value":{
                "latitude":39.9,
                "longitude":116.38
            }
        }
    }
}

パラメーターの説明

パラメーター 説明
iotId String デバイスの一意識別子
productKey String デバイスが属するプロダクトの一意識別子
deviceName String デバイスの名前
deviceType String プロダクトのノードタイプ
items Object デバイスデータ
Power String プロパティ名。 すべてのプロパティ名については、「プロダクトの TSL の説明」をご参照ください。
Position String プロパティ名。 すべてのプロパティ名については、「プロダクトの TSL の説明」をご参照ください。
value TSL で定義 プロパティの値
time Long プロダクトが作成された時刻。 デバイスが時刻を報告しない場合、クラウド上でプロパティが生成された時刻が使用されます。
gmtCreate Long メッセージが生成された時刻

デバイスによって報告されるイベント関連のメッセージ

次のトピックを使用することにより、デバイスによって送信されるイベント情報を取得できます。

トピック: /sys/{productKey}/{deviceName}/thing/event/{tsl.event.identifier}/post

データ形式:

{
    "identifier":"BrokenInfo",
    "Name": "Damage rate report ",
    "type":"info",
    "iotId":"4z819VQHk6VSLmmBJfrf00107ee200",
    "productKey":"X5eCzh6fEH7",
    "deviceName":"5gJtxDVeGAkaEztpisjX",
    "gmtCreate":1510799670074,
    "value":{
        "Power": "on",
        "Position":{
            "latitude":39.9,
            "longitude":116.38
        }
    },
    "time":1510799670074
}

パラメーターの説明:

パラメーター タイプ型 説明
iotId String デバイスの一意識別子
productKey String デバイスプロダクトの一意識別子
deviceName String デバイスの名前
type String イベントタイプ。 詳細については、「プロダクトの TSL」をご参照ください。
value Object イベントのパラメーター
Power String イベントのパラメーター名
Position String イベントのパラメーター名
time Long イベントが生成された時刻。 デバイスが時刻を報告しない場合は、クラウドに記録されている時刻が使用されます。
gmtCreate Long メッセージが生成された時刻

デバイスのライフサイクル変更メッセージ

次のトピックを使用することにより、デバイスの作成と削除、およびデバイスの有効化と無効化に関するメッセージを取得することができます。

トピック: /sys/{productKey}/{deviceName}/thing/lifecycle

データ形式:

{
"action" : "create|delete|enable|disable",
"iotId" : "4z819VQHk6VSLmmBJfrf00107ee200",
"productKey" : "X5eCzh6fEH7",
"deviceName" : "5gJtxDVeGAkaEztpisjX",
"deviceSecret" : "", 
"messageCreateTime": 1510292739881 
}

パラメーターの説明:

パラメーター 説明
action String
  • create: デバイスの作成
  • delete: デバイスの削除
  • enable: デバイスの有効化
  • disable: デバイスの無効化
iotId String デバイスの一意識別子
productKey String プロダクトの一意識別子
deviceName String デバイスの名前
deviceSecret String デバイスシークレット。 このパラメーターは、"action" の値が "create" のときのみ含まれます。
messageCreateTime Integer メッセージが生成されたときのタイムスタンプ (ミリ秒)

デバイスのトポロジ関係更新メッセージ

次のトピックを使用することにより、サブデバイスとゲートウェイ間のトポロジ関係の作成と削除に関するメッセージを取得できます。

トピック: /sys/{productKey}/{deviceName}/thing/topo/lifecycle

データ形式:

{
"action" : "add|remove|enable|disable",
"gwIotId": "4z819VQHk6VSLmmBJfrf00107ee200",
"gwProductKey": "1234556554",
"gwDeviceName": "deviceName1234",
"devices": [
        {
"iotId": "4z819VQHk6VSLmmBJfrf00107ee201",
"productKey": "12345565569",
"deviceName": "deviceName1234"
       }
    ],

"messageCreateTime": 1510292739881
}

パラメーターの説明:

パラメーター 説明
action String
  • add: トポロジ関係の追加
  • remove: トポロジ関係の削除
  • enable: トポロジ関係の有効化
  • disable: トポロジ関係の無効化
gwIotId String ゲートウェイデバイスの一意識別子
gwProductKey String ゲートウェイプロダクトの一意識別子
gwDeviceName String ゲートウェイデバイスの名前
devices Object ゲートウェイとのトポロジ関係が更新されるサブデバイス。
iotId String サブデバイスの一意識別子
productKey String サブデバイスプロダクトの一意識別子
deviceName String サブデバイスの名前
messageCreateTime Integer メッセージが生成されたときのタイムスタンプ (ミリ秒)

ゲートウェイによって報告される検出サブデバイスに関するメッセージ

場合によっては、ゲートウェイはサブデバイスを検出し、それらの情報を報告できます。 次のトピックを使用することにより、ゲートウェイが報告するサブデバイス情報を取得できます。

トピック: /sys/{productKey}/{deviceName}/thing/list/found

データ形式:

{
    "gwIotId":"4z819VQHk6VSLmmBJfrf00107ee200",
    "gwProductKey":"1234556554",
    "gwDeviceName":"deviceName1234",
    "devices":[
        {
            "iotId":"4z819VQHk6VSLmmBJfrf00107ee201",
            "productKey":"12345565569",
            "deviceName":"deviceName1234"
        }
    ]
}

パラメーターの説明:

パラメーター 説明
gwIotId String ゲートウェイデバイスの一意識別子
gwProductKey String ゲートウェイプロダクトの一意識別子
gwDeviceName String ゲートウェイデバイスの名前
devices Object ゲートウェイによって検出されたサブデバイス
iotId String サブデバイスの一意識別子
productKey String サブデバイスプロダクトの一意識別子
deviceName String サブデバイスの名前

クラウドにデータを返すデバイス

このトピックを使用することにより、非同期方式を使用してデバイスに操作リクエストを送信したときに、デバイスからリクエストの実行結果を取得できます。 リクエスト送信時にエラーが発生した場合、このトピックからエラーメッセージを受信します。

トピック: /sys/{productKey}/{deviceName}/thing/downlink/reply/message

データ形式:

{
    "gmtCreate":1510292739881,
    "iotId":"4z819VQHk6VSLmmBJfrf00107ee200",
    "productKey":"1234556554",
    "deviceName":"deviceName1234",
    "requestId":1234,
    "code":200,
    "message":"success",
    "topic":"/sys/1234556554/deviceName1234/thing/service/property/set",
    "data":{

    }
}

パラメーターの説明

パラメーター 説明
gmtCreate Long メッセージが生成されたときのタイムスタンプ
iotId String デバイスの一意識別子
productKey String プロダクトの一意識別子
deviceName String デバイスの名前
requestId Long リクエストメッセージ ID
code Integer 結果メッセージのコード
message String プロダクトの説明
data Object デバイスによって報告された結果データ。 パススルー通信の場合、結果データは解析スクリプトによって変換されます。

応答情報:

パラメーター メッセージ 説明
200 success リクエストは成功しました。
400 request error 内部サービスエラーです。
460 request parameter error リクエストパラメーターが無効です。 デバイスは入力パラメータの検証に失敗しました。
429 too many requests 短時間でリクエストが多すぎます。
9200 device not activated デバイスはまだ有効になっていません。
9201 device offline デバイスは現在オフラインです。
403 request forbidden 請求が期限切れのためリクエストが禁止されています。

デバイスのステータスに関するメッセージ

このトピックを使用することにより、デバイスのオンラインとオフラインのステータスを取得できます。

トピック: {productKey}/{deviceName}/mqtt/status

データ形式:

{
    "productKey":"1234556554",
    "deviceName":"deviceName1234",
    "gmtCreate":1510799670074,
    "deviceType":"Ammeter",
    "iotId":"4z819VQHk6VSLmmBJfrf00107ee200",
    "action":"online|offline",
    "status":{
        "value":"1",
        "time":1510292697471
    }
}

パラメーターの説明:

パラメーター 説明
iotId String デバイスの一意識別子
productKey String デバイスプロダクトの一意識別子
deviceName String デバイスの名前
status Object デバイスの名前
Value String 1: オンライン、0: オフライン
time Long デバイスがオンラインまたはオフラインになった時刻
gmtCreate Long メッセージが生成された時刻
action String デバイスのステータスが変化 (オンラインになるかオフラインになる) したときのアクション