ここでは、サブデバイスの開発中に発生する可能性があるエラーについて説明します。

はじめに

  • 直接接続されたデバイスで IoT Platform サービスのエラーが発生した場合、TCP 接続が閉じた時点でユーザークライアントにエラーが通知されます。
  • ゲートウェイを介して IoT Platform に接続されたサブデバイスで通信エラーが発生し、ゲートウェイが IoT Platform に物理的にまだ接続されている場合、ゲートウェイはゲートウェイ接続経由でエラーメッセージを送信し、ユーザークライアントにエラーを通知しなければなりません。

レスポンス形式

サブデバイスと IoT Platform の間で通信エラーが発生した場合、IoT Platform はゲートウェイ接続経由で MQTT エラーメッセージを送信します。

トピックの形式は、シナリオによって異なります。 JSON 形式のメッセージの内容は、次のとおりです。


{
id: Message ID specified in the request parameters
code: Error code (the success code is 200)
message: Error message
}

サブデバイスのオンライン化に失敗する

エラーメッセージが、トピック /ext/session/{gw_productKey}/{gw_deviceName}/combine/login_reply に送信されます。

表 1. エラーコード
コード メッセージ 説明
460 request parameter error パラメーター形式が無効です。たとえば、JSON 形式や認証パラメーターが無効です。
429 too many requests 認証リクエストが拒否されました。 このエラーは、デバイスから IoT Platform への認証リクエストの頻度が高すぎる場合、またはサブデバイスが 1 分間に 5 回以上オンラインになった場合に発生します。
428 too many subdevices under gateway ゲートウェイに接続されているサブデバイスの数が最大に達しました。 現在、最大 1500 台のサブデバイスをゲートウェイに接続できます。
6401 topo relation not exist サブデバイスとゲートウェイの間で、トポロジー関係が確立されていません。
6100 device not found 指定されたサブデバイスが存在しません。
521 device deleted サブデバイスが既に削除されています。
522 device forbidden 指定されたサブデバイスが無効になっています。
6287 invalid sign 無効なユーザー名またはパスワードにより、認証に失敗しました。
500 server error IoT Platform で例外が発生しています。

サブデバイスが自動的にオフラインになる

エラーメッセージが、トピック /ext/session/{gw_productKey}/{gw_deviceName}/combine/logout_reply に送信されます。

表 2. エラーコード
コード メッセージ 説明
460 request parameter error パラメーター形式が無効です。たとえば、JSON 形式やパラメーターが無効です。
520 device no session サブデバイスがオフラインになったか、IoT Platform に接続されていないため、サブデバイスセッションは存在しません。
500 server error IoT Platformで例外が発生しています。

サブデバイスが強制的にオフラインになる

エラーメッセージが、トピック /ext/session/{gw_productKey}/{gw_deviceName}/combine/logout_reply に送信されます。

表 3. エラーコード
コード メッセージ 説明
427 device connect in elsewhere 現在のセッションが切断されました。 別のデバイスが ProductKey、DeviceName、DeviceSecret の同じデバイス証明書を使用して IoT Platform に接続した場合、現在のデバイスは強制的にオフラインになります。
521 device deleted デバイスが削除されました。
522 device forbidden デバイスが無効化されました。

サブデバイスがメッセージの送信に失敗する

エラーメッセージが、トピック /ext/error/{gw_productKey}/{gw_deviceName} に送信されます。

表 4. エラーコード
コード メッセージ 説明
520 device session error サブデバイスセッションエラー。
  • サブデバイスセッションが存在しません。 サブデバイスは、IoT Platform に接続されていないか、オフラインになっています。
  • サブデバイスセッションは存在しますが、セッションは現在のゲートウェイを介して確立されていません。