メインコンテンツへ

プロトコルバージョン変更履歴

このページは Tensor Cloud 蓄電池最適化プロトコルの変更を記録します。ここに記載されたバージョンは AsyncAPI 仕様info.version および EMS が各メッセージに含める schema_version フィールドに反映されます。

バージョニングは semver 形式(MAJOR.MINOR.PATCH)に従います。

  • MAJOR - トピック構造、ペイロード形状、必須フィールドへの後方非互換変更。既存のインテグレーションがコード変更なしに対応できないもの。
  • MINOR - 追加的な変更(新規フィールド、新規条件付きバリデーション、新規挙動)で、保証は強化されるが旧バージョンのクライアントでも読み取り可能。Tensor Cloud は旧マイナーリビジョンで送信されたメッセージとの後方互換性を維持します。
  • PATCH - ドキュメントの明確化、例の修正、ペイロードに影響しない変更。PATCH リリースはペイロードに影響しないため、ワイヤ上の schema_version は変更されません。MINOR または MAJOR リリースでペイロードが変わるまで、連携は現行の MINOR バージョン(例: 2.3.0)を送出し続けます。

2.6.0 - 2026-07-13

DCリンクシステム向けの太陽光DC電圧・電流テレメトリ。 追加的かつ後方互換です。

  • 新しい solarDcTelemetry チャネル(dt/{siteId}/{gatewayId}/solar)を、SolarDcElectrical メッセージおよび sendSolarDc オペレーションとともに追加しました。DCリンクの太陽光発電+蓄電池サイトは、太陽光アレイのDC電圧(V)および電流(A)を、インバータより上流のDCリンクで、アレイ全体を集約した単一の値として公開します。電圧と電流は同一時刻にサンプリングし、一組の測定値として、1分間隔でまとめて送信します。measurement_valuevoltagecurrent を含み、それぞれ {value, unit} オブジェクト(unitV または A、値は 0 以上)です。DCリンクのサイトにのみ適用され、ACリンクおよびスタンドアロンのサイトでは送信しません。詳細は連携ガイドの「DC連系テレメトリ」節を参照してください。
  • ワイヤ上の schema_version2.6.0 に更新されます。バージョニングポリシーに従い、MINOR リリースではワイヤバージョンが更新されるため、連携は今後 schema_version: "2.6.0" を送出してください。Tensor Cloud は旧バージョンで送信されたメッセージとの後方互換性を維持します。

2.5.0 - 2026-07-10

不正な形式のテレメトリにも ACK を返せるようになりました。 追加的かつ後方互換です。

  • TelemetryFeedback.correlation_id から msg_ UUID パターンの制約を撤廃しました。受信したテレメトリを解析できず(MESSAGE_MALFORMED)、その message_id を復元できない場合、Tensor Cloud は correlation_id にセンチネル文字列 "unknown" を設定します。従来はこのパターン制約のためフィードバックメッセージ自体を構成できず、ACK がまったく送出されないため、インテグレーターはメッセージが拒否されたことを知る手段がありませんでした。message_id が一部復元できる場合は、復元した値を設定します。これは CommandResponse.command_id で既に使用されている "unknown" センチネルと同じ方式です。
  • TelemetryFeedback に任意の topic フィールドを追加しました。問題となったメッセージがパブリッシュされたトピックを示します。statuserror の場合にのみ含まれ、correlation_id"unknown" の場合に拒否されたメッセージを特定する唯一の手段となります。status: "ok" の場合に topic を含めてはならないことは、既に codedetail を制御している if/then/else ブロックで強制されます。
  • 日本語版の TelemetryFeedback 定義を修正しました。schema_version が必須として列挙されているにもかかわらずプロパティが定義されておらず、例が自身のスキーマに対して不正な状態でした。
  • ワイヤ上の schema_version2.5.0 に更新されます。バージョニングポリシーに従い、MINOR リリースではワイヤバージョンが更新されるため、連携は今後 schema_version: "2.5.0" を送出してください。Tensor Cloud は旧バージョンで送信されたメッセージとの後方互換性を維持します。

2.4.0 - 2026-07-06

一次調整力向けの系統周波数テレメトリと、事前審査フラグ。 いずれも追加的かつ後方互換です。

  • 新しい gridFrequencyTelemetry チャネル(dt/{siteId}/{gatewayId}/frequency)を、GridFrequency メッセージおよび sendGridFrequency オペレーションとともに追加しました。一次調整力に約定したリソースは、すべての一次調整力約定コマの全期間にわたり、系統周波数を各1秒ウィンドウの平均として1 Hz で公開する必要があります。周波数は系統接続ポイントで実際の AC 電圧波形から測定し、0.0001 Hz 以上の分解能で報告します。これらの測定値は一次調整力アセスメントⅡで用いる1 Hz の供出電力テレメトリと時刻が揃えられます。詳細は連携ガイドの「アセスメントⅡ報告」節を参照してください。
  • PowerInstantGridFrequency に任意の pre_qualification ブール値を追加しました。EMS は、一次調整力の事前審査(プレクオリフィケーション)モードで送信する瞬時電力および系統周波数のテレメトリに true を設定します。このモードは Tensor Cloud ではなく EMS 運用者が有効化します。Tensor Cloud はこのフラグを用いて、該当期間を最適化および一次調整力アセスメントⅡの提出対象から除外します。任意かつ後方互換であり、省略した場合は通常運用時の意味のままです。
  • ワイヤ上の schema_version2.4.0 に更新されます。バージョニングポリシーに従い、MINOR リリースではワイヤバージョンが更新されるため、連携は今後 schema_version: "2.4.0" を送出してください。Tensor Cloud は旧バージョンで送信されたメッセージとの後方互換性を維持します。

2.3.1 - 2026-06-29

ACK と INTERNAL_ERROR の意味を明確化。 ドキュメントのみの変更で、ペイロードへの影響はありません。

  • CommandResponse.status フィールドが、実行結果ではなく受信時点の検証・受理結果を表すことを明確化しました。ACK はコマンドを受信・パースし、コミット(受理)した直後に送出され、実行時には送出されず、実行時にのみ顕在化する失敗は報告できません。
  • INTERNAL_ERROR が、形式は妥当なコマンドが ACK 送出前の受信時処理で受理・コミットできずに失敗した場合(例: 要求されたスケジュール変更のコミットに内部的に失敗した場合)も対象とすることを明確化しました。detail に内容を記載したうえで INTERNAL_ERROR を使用してください。実行時にのみ顕在化する失敗は、ACK ではなくアラート/テレメトリで報告します。
  • PATCH リリースではワイヤ上の schema_version が変更されないことを明記しました(上記のバージョニング注記を参照)。

2.3.0 - 2026-06-16

アセスメントⅡ用テレメトリ:

  • 瞬時電力トピック(dt/{siteId}/{gatewayId}/{metric}/power)が、オフラインの一次調整力アセスメントⅡデータの送信チャネルとして文書化されました。一次調整力を提供するリソースは、すべての一次調整力約定コマについて、meter_export_ac/meter_import_ac(受電点参入)または battery_discharge_ac/battery_charge_ac(機器点参入)で1秒解像度の供出電力を公開する必要があります。Tensor CloudはこのデータからTSOのアセスメントⅡ様式(様式35)を作成し、アグリゲーターに代わって提出します。詳細は連携ガイドの「アセスメントⅡ用テレメトリ」を参照してください。
  • AsyncAPI仕様の powerTelemetry チャネルの説明を、このアセスメントⅡ用途を示すように更新しました。
  • PowerInstant.measurement_value に2つの任意フィールドを追加しました: aggregation(デフォルト instant、または average)と aggregation_window(ISO-8601期間、例: PT1S)。aggregationaverage のとき aggregation_window が条件付き必須になります(JSON Schema の if/then で強制)。これにより電力サンプルが瞬時点の値か区間平均かを宣言できます。一次調整力アセスメントⅡでは averagePT1S で使用します。追加的かつ後方互換: 両フィールドを省略すると従来の瞬時値の意味のままであり、旧バージョンのメッセージも引き続き受け入れられます。

2.2.0 - 2026-05-28

アラート、確認応答、コマンドの強化:

  • AlertEventAlertState のペイロードで schema_version が必須になりました。以前はフィールドは定義されていましたが、どちらのアラートメッセージの required リストにも含まれていませんでした。Tensor Cloud は schema_version を省略する旧バージョンで送信されたアラートペイロードも引き続き受け入れます。EMS 実装は今後アラートペイロードにこのフィールドを追加してください。
  • CommandResponse.errors がスキーマで条件付き必須になりました: status: "error" のとき存在(≥ 1 件)、status: "ok" のとき不在。JSON Schema の if/then/else で強制されます。以前は散文のみで規定されていました。既に散文ルールに従っていた EMS 実装には送信側の変更は不要です。
  • TelemetryFeedback.codeTelemetryFeedback.detail がスキーマで条件付き必須になりました: status: "error" のとき両方存在、status: "ok" のとき両方不在。JSON Schema の if/then/else で強制されます。テスト専用のテレメトリフィードバックチャネルに影響します。Tensor Cloud が送信側であり、EMS 実装は受信のみを行います。
  • BatteryFcrCommand.control.schedule[*].capacity_kw がスキーマで条件付きになりました: control.actionexecute(デフォルト)のとき必須、cancel のとき禁止。JSON Schema の if/then/else で強制されます。
  • BatteryPowerCommand.control.scheduleBatteryFcrCommand.control.scheduleminItems: 1 を宣言しました。空のスケジュールはスキーマ層で拒否されます。
  • 埋め込みスキーマ例を修正: CommandResponse の例に必須の schema_version を追加。一次調整力 キャンセル例の message_id 値を文書化された ^msg_[0-9a-f]{8}-…$ パターンに合致する値に修正。
  • すべてのメッセージファミリーのトップレベル additionalPropertiestrue に統一しました(BatteryPowerCommandBatteryFcrCommand を含む)。以前はコマンドが厳密で他のファミリーが寛容という非対称性がありましたが、これを解消してプロトコル全体で前方互換性を統一しました。

2.1.0 - 以前のベースライン

変更履歴ページ以前のベースライン。インテグレーションガイドおよび AsyncAPI 仕様に記載されたテレメトリ、コマンド、アラート、レスポンスの全チャネル一式を含みます。